Function at 0x416d30
Capabilities:
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x41cc97
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
push ebp
push esi
mov esi, ecx
xor ebx, ebx
push edi
mov ecx, dword [esi + 0xc]
cmp ecx, ebx
je 0x416d5b
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [sym.imp.core.dll_class_MemoryMgr__g_MemoryPtr]
push 0x128
push str.gamesubsystem.cpp
push 0x2004
mov ecx, dword [ecx]
push ebx
call dword [sym.imp.core.dll_public:_void____thiscall_MemoryMgr::alloc_int__unsigned_int__char_const___unsigned_int_]
cmp eax, ebx
je 0x416d87
mov dword [eax], 0x41e318
mov edi, eax
jmp 0x416d89
xor edi, edi
cmp edi, ebx
mov dword [esi + 0xc], edi
jne 0x416da5
pop edi
pop esi
pop ebp
xor al, al
pop ebx
mov ecx, dword [esp + 4]
mov dword fs:[0], ecx
add esp, 0x10
ret
lea edx, [esi + 0x238]
lea ebp, [edi + 4]
push 0x1000
push edx
push ebp
call dword [sym.imp.MSVCRT.dll_strncpy]
push 0x427f0c
push ebp
mov byte [edi + 0x1003], bl
call dword [sym.imp.MSVCRT.dll_fopen]
mov edi, dword [sym.imp.logger.dll_public:_static_void___cdecl_udLogger::log_int__char_const__]
add esp, 0x14
cmp eax, ebx
jne 0x416de9
push ebp
push str.Preferences_File_Missing:__s_f
push 1
call edi
add esp, 0xc
jmp 0x416df3
push eax
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 4
mov ecx, dword [esi + 0x10]
cmp ecx, ebx
je 0x416e00
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [sym.imp.core.dll_class_MemoryMgr__g_MemoryPtr]
mov ebp, dword [sym.imp.core.dll_public:_void____thiscall_MemoryMgr::alloc_int__unsigned_int__char_const___unsigned_int_]
push 0x130
push str.gamesubsystem.cpp
mov ecx, dword [ecx]
push 0xc
push ebx
call ebp
cmp eax, ebx
je 0x416e36
mov ecx, dword [esi + 0xc]
mov dword [eax], 0x41e314
mov dword [eax + 4], ecx
mov dword [eax + 8], str.Game
jmp 0x416e38
xor eax, eax
mov dword [esi + 0x10], eax
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
add eax, 4
push eax
push ebx
push str.DebugMode
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
test eax, eax
je 0x416e6b
push str.Running_in_Debug_Mode._f
push 1
call edi
add esp, 8
mov byte [0x428a88], 1
jmp 0x416e71
mov byte [0x428a88], bl
mov ecx, esi
call fcn.00417140
test al, al
jne 0x416e8f
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 4]
mov dword fs:[0], ecx
add esp, 0x10
ret
mov ecx, dword [esi + 0x128]
cmp ecx, ebx
je 0x416e9f
mov edx, dword [ecx]
push 1
call dword [edx]
mov eax, dword [sym.imp.core.dll_class_MemoryMgr__g_MemoryPtr]
push 0x14a
push str.gamesubsystem.cpp
push 0x44
mov ecx, dword [eax]
push 9
call ebp
mov edi, eax
mov dword [esp + 0x10], edi
cmp edi, ebx
mov dword [esp + 0x1c], ebx
je 0x416ed6
mov ecx, edi
call dword [sym.imp.ui2.dll_public:_void___thiscall_uiSubsystem::constructor_void_]
mov dword [edi], 0x41e310
mov ecx, edi
jmp 0x416ed8
xor ecx, ecx
cmp ecx, ebx
mov dword [esp + 0x1c], 0xffffffff
mov dword [esi + 0x128], ecx
jne 0x416eff
pop edi
pop esi
pop ebp
xor al, al
pop ebx
mov ecx, dword [esp + 4]
mov dword fs:[0], ecx
add esp, 0x10
ret
mov edx, dword [esi + 0xc]
push edx
call dword [sym.imp.ui2.dll_public:_int___thiscall_uiSubsystem::initialize_class_Preferences__]
test eax, eax
jne 0x416f22
pop edi
pop esi
pop ebp
xor al, al
pop ebx
mov ecx, dword [esp + 4]
mov dword fs:[0], ecx
add esp, 0x10
ret
mov ecx, esi
call fcn.004173b0
test al, al
jne 0x416f40
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 4]
mov dword fs:[0], ecx
add esp, 0x10
ret
mov ecx, esi
call fcn.004175c0
test al, al
jne 0x416f67
mov ecx, esi
call fcn.004174a0
pop edi
pop esi
pop ebp
xor al, al
pop ebx
mov ecx, dword [esp + 4]
mov dword fs:[0], ecx
add esp, 0x10
ret
mov ecx, dword [esp + 0x14]
mov dword [esi + 4], 2
mov dword [esi + 8], ebx
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
mov dword fs:[0], ecx
add esp, 0x10
ret