Function at 0x41dcc0
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 0x439a08
push 0x439a20
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
jne 0x41dd15
mov ecx, dword [ebp - 0x434]
call fcn.0041e910
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 0x439a30
push 0x439a3c
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 0x439a4c
push 0x439a54
push 0x439a5c
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 0x439a78
push 0x439a80
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 0x439aa0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov ecx, dword [ebp - 0x434]
add ecx, 0x3d8
push ecx
push 1
push 0x439ab0
push 0x439ac4
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.00425b80
add esp, 0xc
mov edx, dword [ebp - 0x434]
add edx, 0x3d8
push edx
push 0x104
lea eax, [ebp - 0x210]
push eax
push 0
push 0x439ad4
push 0x439adc
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov dword [ebp - 4], 0
movzx ecx, word [ebp - 0x210]
test ecx, ecx
je 0x41dfc9
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 0x41dfc9
mov byte [ebp - 0x428], 0
push 0x103
push 0
lea eax, [ebp - 0x427]
push eax
call fcn.00425b80
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.00425b80
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 0x41df12
dec edx
or edx, 0xfffffffe
inc edx
test edx, edx
jne 0x41dfc9
lea ecx, [ebp - 0x430]
call fcn.0041d220
lea eax, [ebp - 0x320]
push eax
lea ecx, [ebp - 0x428]
push ecx
lea ecx, [ebp - 0x430]
call fcn.0041d760
push 0x12c0
mov edx, dword [ebp - 0x214]
push edx
lea eax, [ebp - 0x320]
push eax
lea ecx, [ebp - 0x430]
call fcn.0041d480
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 0x41dfbe
cmp dword [ebp - 0x214], 0x104
jge 0x41dfbe
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 0x41dfbe
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x430]
call fcn.0041d240
cmp dword [ebp - 4], 0
jne 0x41dff3
push 0x103
push 0x439aec
push 0x104
mov ecx, dword [ebp - 0x434]
add ecx, 0x660
push ecx
call fcn.004279cc
add esp, 0x10
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00425ae5
mov esp, ebp
pop ebp
ret