Function at 0x40dd82
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x420646
call fcn.00415d54
mov eax, 0x118c
call fcn.00415f30
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 0x40e246
cmp dword [0x42b624], ebx
jne 0x40e246
and byte [ebp - 0x998], bl
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x997]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, esi
stosb byte es:[edi], al
call fcn.0040e2ef
test eax, eax
je 0x40ddf4
push 0x429964
jmp 0x40ddfa
push dword [esi + 0x3124]
lea eax, [ebp - 0x998]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp dword [esi + 0x1484], ebx
lea eax, [esi + 0x28d8]
lea edi, [esi + 0x1484]
push eax
lea eax, [ebp - 0x998]
lea ebx, [esi + 0x1078]
push eax
jne 0x40de42
push dword [esi + 0x74]
push ebx
push edi
push 0x65
push 0xbba
push dword [esi + 0x313c]
call fcn.00406a65
jmp 0x40de63
push 0
lea eax, [ebp - 0x10]
push ebx
push eax
push 0x65
push 0xbba
push dword [esi + 0x313c]
call fcn.00406a65
mov ecx, dword [edi]
mov dword [0x42c054], ecx
xor edi, edi
cmp eax, edi
jne 0x40e246
mov ecx, esi
call fcn.0040db2b
test eax, eax
je 0x40e246
cmp dword [0x42c908], edi
jne 0x40df25
cmp dword [esi + 0x1480], edi
jne 0x40df25
and byte [ebp - 0x494], 0
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x493]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x494]
mov ecx, esi
push eax
push dword [0x42c054]
call fcn.0040e885
test eax, eax
jne 0x40df7c
lea eax, [ebp - 0x494]
xor edi, edi
push eax
push edi
mov ecx, esi
call fcn.0040e885
test eax, eax
jne 0x40df7e
mov ecx, esi
call fcn.0040e2ef
test eax, eax
je 0x40defe
push edi
push edi
push dword [0x4216ec]
mov ecx, esi
call fcn.0040e53a
jmp 0x40df21
push dword [0x4216ec]
lea eax, [ebp - 0x494]
push 0x42c504
push eax
call fcn.004101db
lea eax, [ebp - 0x494]
push eax
call fcn.00410313
test eax, eax
jne 0x40df7e
mov dword [ebp - 0x10], edi
and dword [ebp - 0x14], 0
lea eax, [ebp - 0x14]
push eax
push dword [0x42c054]
call fcn.00410859
pop ecx
pop ecx
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
test eax, eax
jne 0x40dfa2
lea eax, [ebp - 0x598]
push eax
push dword [0x42c054]
call fcn.00410ac5
pop ecx
mov eax, 0x4b8
pop ecx
mov dword [0x42c904], eax
lea ecx, [ebp - 0x598]
push ecx
push eax
call fcn.0040fa6b
pop ecx
pop ecx
jmp 0x40e03c
xor edi, edi
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x494]
push eax
call fcn.00401087
cmp eax, edi
jne 0x40df25
lea eax, [ebp - 0x40]
mov ecx, esi
push eax
call fcn.0040e98a
mov dword [ebp - 0x10], eax
jmp 0x40df28
mov edi, 0x400
lea eax, [esi + 0xc78]
push edi
push 0
push eax
call fcn.004156d0
add esp, 0xc
cmp dword [ebx], 1
jbe 0x40e079
cmp dword [esi + 0x1488], 5
je 0x40e079
push edi
lea eax, [ebp - 0x494]
push 0
push eax
call fcn.004156d0
lea eax, [ebp - 0x494]
push 0xa
push eax
push dword [esi + 0x1484]
call fcn.00416c0c
push dword [0x426050]
lea eax, [ebp - 0x494]
push eax
call fcn.004157d0
add esp, 0x20
lea eax, [ebp - 0x494]
mov ecx, esi
push eax
call fcn.0040e30c
test eax, eax
lea eax, [ebp - 0x494]
push eax
je 0x40e06b
lea eax, [esi + 0xc78]
push 0x429964
push eax
call fcn.004101db
mov ecx, esi
call fcn.0040e4cc
test eax, eax
jne 0x40e04f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.0040178c
xor eax, eax
jmp 0x40e256
push 1
lea eax, [esi + 0xc78]
pop ebx
mov ecx, esi
push ebx
push eax
push str._LangTransform
call fcn.0040e70a
mov dword [esi + 0x6c], ebx
jmp 0x40e079
lea eax, [esi + 0xc78]
push eax
call fcn.004157c0
pop ecx
pop ecx
cmp dword [ebp - 0x10], 0
mov ebx, 0x3e8
jne 0x40e0ca
push 0x42ba38
push 0x3e9
push dword [0x4216f4]
push dword [0x4216e8]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push 4
mov ebx, eax
call fcn.004158d7
pop ecx
mov dword [ebp - 0x30], eax
test eax, eax
mov byte [ebp - 4], 1
je 0x40e0be
mov ecx, eax
call fcn.00406316
jmp 0x40e0c0
xor eax, eax
and byte [ebp - 4], 0
mov dword [esi + 0x2d04], eax
push dword [ebp - 0x10]
mov ecx, dword [esi + 0x2d04]
push ebx
push esi
push dword [esi + 0x313c]
call fcn.00406342
lea eax, [ebp - 0xd98]
push edi
push eax
push 0x44e
call fcn.0040fb4b
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
add esp, 0xc
lea eax, [ebp - 0xd98]
push eax
call edi
test eax, eax
je 0x40e13b
mov ebx, 0x4251c4
lea eax, [ebp - 0xd98]
push ebx
push eax
call fcn.00416840
pop ecx
test eax, eax
pop ecx
je 0x40e13b
inc eax
inc eax
push eax
mov dword [ebp - 0x10], eax
call edi
test eax, eax
je 0x40e13b
push ebx
push dword [ebp - 0x10]
call fcn.00416840
pop ecx
test eax, eax
pop ecx
jne 0x40e151
mov eax, 0x486
push eax
mov dword [0x42c904], eax
call fcn.0040fa6b
pop ecx
jmp 0x40e246
lea eax, [ebp - 0x94]
push eax
push 1
pop ebx
push ebx
call fcn.00410b57
pop ecx
lea eax, [ebp - 0x94]
pop ecx
push eax
lea eax, [esi + 0x478]
push eax
lea eax, [ebp - 0xd98]
push eax
lea eax, [ebp - 0x1198]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea eax, [ebp - 0x1198]
mov ecx, esi
push eax
call fcn.0040e2cc
mov ecx, dword [esi + 0x2d04]
mov edi, 0x3e8
push edi
call fcn.0040660e
test eax, eax
je 0x40e1b2
mov esi, ebx
jmp 0x40e248
push esi
push 0x44f
lea ecx, [ebp - 0x20]
call fcn.0040c8d4
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 2
call fcn.0040c917
test eax, eax
je 0x40e23a
cmp dword [0x42b624], 0
jne 0x40e23a
mov ecx, esi
call fcn.0040e6d0
test eax, eax
je 0x40e23a
mov ecx, dword [esi + 0x2d04]
push edi
call fcn.0040660e
test eax, eax
jne 0x40e27f
push esi
push 0x451
lea ecx, [ebp - 0x7c]
call fcn.00407d6a
mov ecx, dword [esi + 0x2d04]
push edi
mov byte [ebp - 4], 3
call fcn.0040660e
test eax, eax
jne 0x40e273
cmp dword [0x42b624], eax
jne 0x40e273
lea ecx, [ebp - 0x7c]
call fcn.00407dca
test eax, eax
jne 0x40e265
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 2
call fcn.00407dbf
and byte [ebp - 4], 0
lea ecx, [ebp - 0x20]
call fcn.0040c90c
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 - 0x70]
mov dword [esi + 0x3148], eax
call fcn.004063a0
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 2
call fcn.00407dbf
and byte [ebp - 4], 0
lea ecx, [ebp - 0x20]
call fcn.0040c90c
jmp 0x40e1ab