# UserAssembly 1.1.0

Sources:

 * [decrypted global-metadata](https://www.unknowncheats.me/forum/downloads.php?do=file&id=31548)
    * Decoded partially using Il2CppDumper (official)
    * Output: file "dump.cs" and an error while generating the JSON file
 * [How to convert this file](https://notabug.org/Krock/GI-on-Linux/src/master/TOOLS.md#il2cppinspector)


## Meta

| Type              | Value                            |
|-------------------|----------------------------------|
| Size              | 119925872 bytes                  |
| Modification date | 2020-11-03                       |
| md5sum            | 265e3191d082bdcac55eee8afe1a9a81 |


## Addresses

Warning: Address is not the same as the byte offset in the binary.

| Function                                           | Address   | Description                   |
|----------------------------------------------------|-----------|-------------------------------|
| void JDOLLLDKIAH:Tick()                            | 1818F1080 | Main game loop                |
| void MLEIPCMPDNB:KKKFPCEAECG()                     | 1810E21D0 | (error display func)          |
| bool JDOLLLDKIAH:BELMLPGKIND(PKLNHBKFINC)          | 1818E2260 | (error display func)          |
| bool PHPNKGGINJA:ENLPMLLNNPL(PKLNHBKFINC, Boolean&)| 1822547D0 | (error display func)          |
| bool EMDOOJFMAFO:IIMKPKFHPBK(PKLNHBKFINC)          | 180F3EA50 | (error display func)          |
| void EMDOOJFMAFO:CBMHKMIGHAP(DKIMLPCIKJE)          | 180F316E0 | Displays error obj DKIMLPCIKJE|
| HashAlgorithm.ComputeHash(Stream)                  | 182EC2900 | likely irrelevant             |
| NativeMethods.GetProcAddress(IntPtr, string)       | 183B02A70 |                               |
| static void (ref byte[], int)                      | 18267e970 | UDP enc/dec function (1)      |
|                                                    |           |                               |
| const RetChecksumInvalid = 31                      |           | Error 31-XXXX                 |
| LOGIN_PLAYER_LOGIN__FAIL = 4302                    |           | Error XX-4302                 |


Detailed explanation:

**1:** According to humanik12 this function was located at UserAssembly+0x1640860 in version 1.0.1.
Searching for similar bytes led to this identical-looking function.

Calls to this function: (according to Cheat Engine)

 * 1x after the initial "warning" screen
 * 1x after clicking "Start" (after server selector)
 * ~8x after entering the door, until the error message is shown

TODO: Dump all contents to a file or stdout.


#### Error stack backtrace

**Stack backtrace of 31-4302, sent to the logging server:** (version 1.1.0)

	MoleMole.SuperDebug:LogToServerInternal(Boolean, String, LogType, Boolean, Int32, Int32)
	MoleMole.SuperDebug:LogToServer(LogType, String, Boolean, Int32, Boolean, Int32)
	MoleMole.SuperDebug:VeryImportantError(String, Boolean, Int32, Int32)
	EMDOOJFMAFO:CBMHKMIGHAP(DKIMLPCIKJE)
	EMDOOJFMAFO:IIMKPKFHPBK(PKLNHBKFINC)
	PHPNKGGINJA:ENLPMLLNNPL(PKLNHBKFINC, Boolean&)
	JDOLLLDKIAH:BELMLPGKIND(PKLNHBKFINC)
	System.Func`2:Invoke(T)
	MLEIPCMPDNB:KKKFPCEAECG() -> UserAssembly 1810E21D0
	JDOLLLDKIAH:Tick() -> UserAssembly, 0x1818F1080
	MoleMole.GameManager:MCDBNNFBPFM()
	MoleMole.GameManager:Update()

Function name source: `global-metadata.dat`
