Function at 0x40a404
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x41b51a
call fcn.00411bc4
mov eax, 0x1188
call fcn.00411da0
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 0x40a86f
cmp dword [0x424f48], ebx
jne 0x40a86f
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.0040a918
test eax, eax
je 0x40a476
push 0x424184
jmp 0x40a47c
push dword [esi + 0x2cbc]
lea eax, [ebp - 0x994]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp dword [esi + 0x141c], ebx
lea edi, [esi + 0x141c]
lea ecx, [ebp - 0x994]
lea eax, [esi + 0x1010]
push ecx
jne 0x40a4bd
push dword [esi + 0xc]
push eax
push edi
push 0x65
push 0xbba
push dword [esi + 0x2cd4]
call fcn.00405b58
jmp 0x40a4dd
push ebx
push eax
lea eax, [ebp - 0x10]
push eax
push 0x65
push 0xbba
push dword [esi + 0x2cd4]
call fcn.00405b58
mov ecx, dword [edi]
mov dword [0x425574], ecx
cmp eax, ebx
jne 0x40a86f
cmp dword [0x425e24], ebx
jne 0x40a5a8
cmp dword [esi + 0x1418], ebx
jne 0x40a5a8
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 [0x425574]
call fcn.0040ae78
test eax, eax
jne 0x40a584
lea eax, [ebp - 0x490]
mov ecx, esi
push eax
push ebx
call fcn.0040ae78
test eax, eax
jne 0x40a584
mov ecx, esi
call fcn.0040a918
test eax, eax
je 0x40a55d
push ebx
push ebx
push dword [0x41c63c]
mov ecx, esi
call fcn.0040ab1e
jmp 0x40a580
push dword [0x41c63c]
lea eax, [ebp - 0x490]
push 0x425a1c
push eax
call fcn.0040c9f5
lea eax, [ebp - 0x490]
push eax
call fcn.0040cb2d
test eax, eax
je 0x40a5a8
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x490]
push eax
call fcn.00401087
cmp eax, ebx
jne 0x40a5a8
lea eax, [ebp - 0x40]
mov ecx, esi
push eax
call fcn.0040af57
mov dword [ebp - 0x10], eax
jmp 0x40a5ab
mov dword [ebp - 0x10], ebx
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], ebx
push eax
push dword [0x425574]
call fcn.0040d039
pop ecx
pop ecx
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
test eax, eax
jne 0x40a5fe
lea eax, [ebp - 0x594]
push eax
push dword [0x425574]
call fcn.0040d290
pop ecx
mov eax, 0x4b8
pop ecx
mov dword [0x425e20], eax
lea ecx, [ebp - 0x594]
push ecx
push eax
call fcn.0040c311
pop ecx
pop ecx
jmp 0x40a680
mov edi, 0x400
lea ebx, [esi + 0xc10]
push edi
push 0
push ebx
call fcn.00411540
add esp, 0xc
cmp dword [esi + 0x1010], 1
jbe 0x40a6a2
cmp dword [esi + 0x1420], 5
je 0x40a6a2
push edi
lea eax, [ebp - 0x490]
push 0
push eax
call fcn.00411540
lea eax, [ebp - 0x490]
push 0xa
push eax
push dword [esi + 0x141c]
call fcn.00412a1c
push dword [0x420a18]
lea eax, [ebp - 0x490]
push eax
call fcn.00411640
add esp, 0x20
lea eax, [ebp - 0x490]
push eax
push 0x424184
push ebx
call fcn.0040c9f5
mov ecx, esi
call fcn.0040aab0
test eax, eax
jne 0x40a693
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.0040178c
xor eax, eax
jmp 0x40a87f
push 1
push ebx
push str._LangTransform
mov ecx, esi
call fcn.0040acfd
cmp dword [ebp - 0x10], 0
mov ebx, 0x3e8
jne 0x40a6f3
push 0x424f58
push 0x3e9
push dword [0x41c644]
push dword [0x41c638]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push 4
mov ebx, eax
call fcn.00411747
pop ecx
mov dword [ebp - 0x30], eax
test eax, eax
mov byte [ebp - 4], 1
je 0x40a6e7
mov ecx, eax
call fcn.00405432
jmp 0x40a6e9
xor eax, eax
and byte [ebp - 4], 0
mov dword [esi + 0x289c], eax
push dword [ebp - 0x10]
mov ecx, dword [esi + 0x289c]
push ebx
push esi
push dword [esi + 0x2cd4]
call fcn.0040545e
lea eax, [ebp - 0xd94]
push edi
push eax
push 0x44e
call fcn.0040c385
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
add esp, 0xc
lea eax, [ebp - 0xd94]
push eax
call edi
test eax, eax
je 0x40a764
mov ebx, 0x420180
lea eax, [ebp - 0xd94]
push ebx
push eax
call fcn.004126b0
pop ecx
test eax, eax
pop ecx
je 0x40a764
inc eax
inc eax
push eax
mov dword [ebp - 0x10], eax
call edi
test eax, eax
je 0x40a764
push ebx
push dword [ebp - 0x10]
call fcn.004126b0
pop ecx
test eax, eax
pop ecx
jne 0x40a77a
mov eax, 0x486
push eax
mov dword [0x425e20], eax
call fcn.0040c311
pop ecx
jmp 0x40a86f
lea eax, [ebp - 0x90]
push eax
push 1
pop ebx
push ebx
call fcn.0040d322
pop ecx
lea eax, [ebp - 0x90]
pop ecx
push eax
lea eax, [esi + 0x410]
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.0040a8f5
mov ecx, dword [esi + 0x289c]
mov edi, 0x3e8
push edi
call fcn.00405727
test eax, eax
je 0x40a7db
mov esi, ebx
jmp 0x40a871
push esi
push 0x44f
lea ecx, [ebp - 0x20]
call fcn.004092a8
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 2
call fcn.004092eb
test eax, eax
je 0x40a863
cmp dword [0x424f48], 0
jne 0x40a863
mov ecx, esi
call fcn.0040acb4
test eax, eax
je 0x40a863
mov ecx, dword [esi + 0x289c]
push edi
call fcn.00405727
test eax, eax
jne 0x40a8a8
push esi
push 0x451
lea ecx, [ebp - 0x78]
call fcn.0040684d
mov ecx, dword [esi + 0x289c]
push edi
mov byte [ebp - 4], 3
call fcn.00405727
test eax, eax
jne 0x40a89c
cmp dword [0x424f48], eax
jne 0x40a89c
lea ecx, [ebp - 0x78]
call fcn.004068aa
test eax, eax
jne 0x40a88e
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 2
call fcn.0040689f
and byte [ebp - 4], 0
lea ecx, [ebp - 0x20]
call fcn.004092e0
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 + 0x2ce0], eax
call fcn.004054bc
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 2
call fcn.0040689f
and byte [ebp - 4], 0
lea ecx, [ebp - 0x20]
call fcn.004092e0
jmp 0x40a7d4