Function at 0x40d3de
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x41f342
call fcn.00414b54
mov eax, 0x1188
call fcn.00414d30
push ebx
push esi
mov esi, ecx
push edi
push esi
push 0x452
lea ecx, [ebp - 0x2c]
call fcn.00401754
xor ebx, ebx
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], ebx
call fcn.00401797
test eax, eax
je 0x40d89b
cmp dword [0x42a434], ebx
jne 0x40d89b
and byte [ebp - 0x994], bl
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x993]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, esi
stosb byte es:[edi], al
call fcn.0040d944
test eax, eax
je 0x40d450
push 0x428774
jmp 0x40d456
push dword [esi + 0x2d24]
lea eax, [ebp - 0x994]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp dword [esi + 0x1484], ebx
lea edi, [esi + 0x1484]
lea eax, [ebp - 0x994]
lea ebx, [esi + 0x1078]
push eax
jne 0x40d497
push dword [esi + 0x74]
push ebx
push edi
push 0x65
push 0xbba
push dword [esi + 0x2d3c]
call fcn.0040635c
jmp 0x40d4b8
push 0
lea eax, [ebp - 0x10]
push ebx
push eax
push 0x65
push 0xbba
push dword [esi + 0x2d3c]
call fcn.0040635c
mov ecx, dword [edi]
mov dword [0x42aa64], ecx
xor edi, edi
cmp eax, edi
jne 0x40d89b
mov ecx, esi
call fcn.0040d187
test eax, eax
je 0x40d89b
cmp dword [0x42b318], edi
jne 0x40d57a
cmp dword [esi + 0x1480], edi
jne 0x40d57a
and byte [ebp - 0x490], 0
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x48f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x490]
mov ecx, esi
push eax
push dword [0x42aa64]
call fcn.0040deda
test eax, eax
jne 0x40d5d1
lea eax, [ebp - 0x490]
xor edi, edi
push eax
push edi
mov ecx, esi
call fcn.0040deda
test eax, eax
jne 0x40d5d3
mov ecx, esi
call fcn.0040d944
test eax, eax
je 0x40d553
push edi
push edi
push dword [0x420694]
mov ecx, esi
call fcn.0040db8f
jmp 0x40d576
push dword [0x420694]
lea eax, [ebp - 0x490]
push 0x42af14
push eax
call fcn.0040f821
lea eax, [ebp - 0x490]
push eax
call fcn.0040f959
test eax, eax
jne 0x40d5d3
mov dword [ebp - 0x10], edi
and dword [ebp - 0x14], 0
lea eax, [ebp - 0x14]
push eax
push dword [0x42aa64]
call fcn.0040fe9f
pop ecx
pop ecx
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
test eax, eax
jne 0x40d5f7
lea eax, [ebp - 0x594]
push eax
push dword [0x42aa64]
call fcn.004100f6
pop ecx
mov eax, 0x4b8
pop ecx
mov dword [0x42b314], eax
lea ecx, [ebp - 0x594]
push ecx
push eax
call fcn.0040f0b1
pop ecx
pop ecx
jmp 0x40d691
xor edi, edi
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x490]
push eax
call fcn.00401087
cmp eax, edi
jne 0x40d57a
lea eax, [ebp - 0x40]
mov ecx, esi
push eax
call fcn.0040dfdf
mov dword [ebp - 0x10], eax
jmp 0x40d57d
mov edi, 0x400
lea eax, [esi + 0xc78]
push edi
push 0
push eax
call fcn.004144d0
add esp, 0xc
cmp dword [ebx], 1
jbe 0x40d6ce
cmp dword [esi + 0x1488], 5
je 0x40d6ce
push edi
lea eax, [ebp - 0x490]
push 0
push eax
call fcn.004144d0
lea eax, [ebp - 0x490]
push 0xa
push eax
push dword [esi + 0x1484]
call fcn.00415a0c
push dword [0x424f58]
lea eax, [ebp - 0x490]
push eax
call fcn.004145d0
add esp, 0x20
lea eax, [ebp - 0x490]
mov ecx, esi
push eax
call fcn.0040d961
test eax, eax
lea eax, [ebp - 0x490]
push eax
je 0x40d6c0
lea eax, [esi + 0xc78]
push 0x428774
push eax
call fcn.0040f821
mov ecx, esi
call fcn.0040db21
test eax, eax
jne 0x40d6a4
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.0040178c
xor eax, eax
jmp 0x40d8ab
push 1
lea eax, [esi + 0xc78]
pop ebx
mov ecx, esi
push ebx
push eax
push str._LangTransform
call fcn.0040dd5f
mov dword [esi + 0x6c], ebx
jmp 0x40d6ce
lea eax, [esi + 0xc78]
push eax
call fcn.004145c0
pop ecx
pop ecx
cmp dword [ebp - 0x10], 0
mov ebx, 0x3e8
jne 0x40d71f
push 0x42a448
push 0x3e9
push dword [0x42069c]
push dword [0x420690]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push 4
mov ebx, eax
call fcn.004146d7
pop ecx
mov dword [ebp - 0x30], eax
test eax, eax
mov byte [ebp - 4], 1
je 0x40d713
mov ecx, eax
call fcn.00405c0d
jmp 0x40d715
xor eax, eax
and byte [ebp - 4], 0
mov dword [esi + 0x2904], eax
push dword [ebp - 0x10]
mov ecx, dword [esi + 0x2904]
push ebx
push esi
push dword [esi + 0x2d3c]
call fcn.00405c39
lea eax, [ebp - 0xd94]
push edi
push eax
push 0x44e
call fcn.0040f191
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
add esp, 0xc
lea eax, [ebp - 0xd94]
push eax
call edi
test eax, eax
je 0x40d790
mov ebx, 0x424170
lea eax, [ebp - 0xd94]
push ebx
push eax
call fcn.00415640
pop ecx
test eax, eax
pop ecx
je 0x40d790
inc eax
inc eax
push eax
mov dword [ebp - 0x10], eax
call edi
test eax, eax
je 0x40d790
push ebx
push dword [ebp - 0x10]
call fcn.00415640
pop ecx
test eax, eax
pop ecx
jne 0x40d7a6
mov eax, 0x486
push eax
mov dword [0x42b314], eax
call fcn.0040f0b1
pop ecx
jmp 0x40d89b
lea eax, [ebp - 0x90]
push eax
push 1
pop ebx
push ebx
call fcn.00410188
pop ecx
lea eax, [ebp - 0x90]
pop ecx
push eax
lea eax, [esi + 0x478]
push eax
lea eax, [ebp - 0xd94]
push eax
lea eax, [ebp - 0x1194]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea eax, [ebp - 0x1194]
mov ecx, esi
push eax
call fcn.0040d921
mov ecx, dword [esi + 0x2904]
mov edi, 0x3e8
push edi
call fcn.00405f05
test eax, eax
je 0x40d807
mov esi, ebx
jmp 0x40d89d
push esi
push 0x44f
lea ecx, [ebp - 0x20]
call fcn.0040c0e6
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 2
call fcn.0040c129
test eax, eax
je 0x40d88f
cmp dword [0x42a434], 0
jne 0x40d88f
mov ecx, esi
call fcn.0040dd25
test eax, eax
je 0x40d88f
mov ecx, dword [esi + 0x2904]
push edi
call fcn.00405f05
test eax, eax
jne 0x40d8d4
push esi
push 0x451
lea ecx, [ebp - 0x78]
call fcn.004075ff
mov ecx, dword [esi + 0x2904]
push edi
mov byte [ebp - 4], 3
call fcn.00405f05
test eax, eax
jne 0x40d8c8
cmp dword [0x42a434], eax
jne 0x40d8c8
lea ecx, [ebp - 0x78]
call fcn.0040765c
test eax, eax
jne 0x40d8ba
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 2
call fcn.00407651
and byte [ebp - 4], 0
lea ecx, [ebp - 0x20]
call fcn.0040c11e
xor esi, esi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.0040178c
mov eax, esi
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret
mov eax, dword [ebp - 0x6c]
mov dword [esi + 0x2d48], eax
call fcn.00405c97
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 2
call fcn.00407651
and byte [ebp - 4], 0
lea ecx, [ebp - 0x20]
call fcn.0040c11e
jmp 0x40d800