Function at 0x41dc90
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x434
mov eax, dword [0x442730]
xor eax, ebp
mov dword [ebp - 8], eax
mov dword [ebp - 0x434], ecx
mov eax, dword [ebp - 0x434]
add eax, 0x3d8
push eax
push 0x40
mov ecx, dword [ebp - 0x434]
add ecx, 0x868
push ecx
push 0
push 0x4399e8
push 0x439a00
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
jne 0x41dce5
mov ecx, dword [ebp - 0x434]
call fcn.0041e8e0
mov edx, dword [ebp - 0x434]
add edx, 0x3d8
push edx
push 0x100
mov eax, dword [ebp - 0x434]
add eax, 0x8e8
push eax
push 0
push 0x439a10
push 0x439a1c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov ecx, dword [ebp - 0x434]
add ecx, 0x3d8
push ecx
push 0x20
mov edx, dword [ebp - 0x434]
add edx, 0x5e0
push edx
push 0x439a2c
push 0x439a34
push 0x439a3c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, dword [ebp - 0x434]
add eax, 0x3d8
push eax
push 0x20
mov ecx, dword [ebp - 0x434]
add ecx, 0x620
push ecx
push str.1088
push 0x439a58
push 0x439a60
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov edx, dword [ebp - 0x434]
add edx, 0x3d8
push edx
push 0x104
mov eax, dword [ebp - 0x434]
add eax, 0xaec
push eax
push 0
push str.GameKey
push 0x439a80
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov ecx, dword [ebp - 0x434]
add ecx, 0x3d8
push ecx
push 1
push 0x439a90
push 0x439aa4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edx, dword [ebp - 0x434]
mov dword [edx + 0xae8], eax
xor eax, eax
mov word [ebp - 0x210], ax
push 0x206
push 0
lea ecx, [ebp - 0x20e]
push ecx
call fcn.00425230
add esp, 0xc
mov edx, dword [ebp - 0x434]
add edx, 0x3d8
push edx
push 0x104
lea eax, [ebp - 0x210]
push eax
push 0
push 0x439ab4
push 0x439abc
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [ebp - 4], 0
movzx ecx, word [ebp - 0x210]
test ecx, ecx
je 0x41df99
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
lea edx, [ebp - 0x210]
push edx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov dword [ebp - 0x214], eax
cmp dword [ebp - 0x214], 0
je 0x41df99
mov byte [ebp - 0x428], 0
push 0x103
push 0
lea eax, [ebp - 0x427]
push eax
call fcn.00425230
add esp, 0xc
push 0
push 0
mov ecx, dword [ebp - 0x214]
push ecx
lea edx, [ebp - 0x428]
push edx
push 0xffffffffffffffff
lea eax, [ebp - 0x210]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov byte [ebp - 0x320], 0
push 0x103
push 0
lea ecx, [ebp - 0x31f]
push ecx
call fcn.00425230
add esp, 0xc
mov eax, dword [ebp - 0x214]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x214], eax
mov edx, dword [ebp - 0x214]
and edx, 0x80000001
jns 0x41dee2
dec edx
or edx, 0xfffffffe
inc edx
test edx, edx
jne 0x41df99
lea ecx, [ebp - 0x430]
call fcn.0041d1f0
lea eax, [ebp - 0x320]
push eax
lea ecx, [ebp - 0x428]
push ecx
lea ecx, [ebp - 0x430]
call fcn.0041d730
push 0x12c0
mov edx, dword [ebp - 0x214]
push edx
lea eax, [ebp - 0x320]
push eax
lea ecx, [ebp - 0x430]
call fcn.0041d450
push 0
push 0
push 0xffffffffffffffff
lea ecx, [ebp - 0x320]
push ecx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [ebp - 0x214], eax
cmp dword [ebp - 0x214], 0
je 0x41df8e
cmp dword [ebp - 0x214], 0x104
jge 0x41df8e
push 0x104
mov edx, dword [ebp - 0x434]
add edx, 0x660
push edx
push 0xffffffffffffffff
lea eax, [ebp - 0x320]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
je 0x41df8e
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x430]
call fcn.0041d210
cmp dword [ebp - 4], 0
jne 0x41dfc3
push 0x103
push 0x439acc
push 0x104
mov ecx, dword [ebp - 0x434]
add ecx, 0x660
push ecx
call fcn.0042707c
add esp, 0x10
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00425195
mov esp, ebp
pop ebp
ret