Function at 0x4146ab
Capabilities:
Get graphical window text
Print debug messages
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x53e36e
mov eax, dword fs:[0]
push eax
mov eax, 0x1340
call fcn.0051cee0
mov eax, dword [0x592bb0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
lea esi, [ebp - 0x114]
mov dword [ebp - 0x134c], eax
call fcn.0040e6ac
xor ebx, ebx
xor eax, eax
mov dword [ebp - 0x12f4], 7
mov dword [ebp - 0x12f8], ebx
mov word [ebp - 0x1308], ax
mov eax, esi
mov dword [ebp - 4], ebx
xor edi, edi
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414716
sub eax, esi
je 0x414736
movzx ecx, byte [ebp + edi - 0x114]
mov word [ebp + edi*2 - 0x31c], cx
inc edi
cmp edi, eax
jb 0x414721
xor ecx, ecx
mov word [ebp + eax*2 - 0x31c], cx
lea eax, [ebp - 0x31c]
lea ecx, [ebp - 0x1308]
call fcn.00402bbc
cmp dword [0x5946ec], ebx
jne 0x4147e8
mov esi, dword [sym.imp.KERNEL32.dll_GetUserPreferredUILanguages]
lea eax, [ebp - 0x1344]
push eax
push ebx
lea eax, [ebp - 0x1348]
push eax
push 8
mov dword [ebp - 0x1348], 1
mov dword [ebp - 0x1344], ebx
call esi
test eax, eax
je 0x4147e8
mov eax, dword [ebp - 0x1344]
add eax, eax
push eax
mov dword [ebp - 0x1348], eax
call fcn.00518d5b
mov edi, eax
pop ecx
cmp edi, ebx
je 0x4147e8
push dword [ebp - 0x1348]
push ebx
push edi
call fcn.0051b3c0
add esp, 0xc
lea eax, [ebp - 0x1344]
push eax
push edi
lea eax, [ebp - 0x1348]
push eax
push 8
mov dword [ebp - 0x1348], 1
call esi
mov eax, edi
mov ecx, 0x5946dc
call fcn.00402bbc
push edi
call fcn.00518def
pop ecx
mov dword [ebp - 4], ebx
push 0x570b64
lea eax, [ebp - 0x1308]
push eax
call fcn.00402b91
push ebx
push 0x5946dc
or eax, 0xffffffff
lea edi, [ebp - 0x1308]
call fcn.00402d1f
push str..lng
mov eax, edi
push eax
call fcn.00402b91
xor eax, eax
push 0x7fe
mov word [ebp - 0xb1c], ax
lea eax, [ebp - 0xb1a]
push ebx
push eax
call fcn.0051b3c0
add esp, 0xc
push 0x400
lea eax, [ebp - 0xb1c]
push eax
push dword [ebp - 0x134c]
call dword [sym.imp.USER32.dll_GetWindowTextW]
lea eax, [ebp - 0xb1c]
push eax
lea esi, [ebp - 0x1324]
call fcn.00402b62
mov ebx, 0x570b80
push ebx
lea esi, [ebp - 0x1340]
mov byte [ebp - 4], 3
call fcn.00402b62
xor esi, esi
push esi
lea eax, [ebp - 0x1324]
push eax
or eax, 0xffffffff
lea edi, [ebp - 0x1340]
mov byte [ebp - 4], 4
call fcn.00402d1f
push ebx
mov eax, edi
push eax
call fcn.00402b91
mov eax, dword [ebp - 0x1308]
push 8
pop ebx
cmp dword [ebp - 0x12f4], ebx
jae 0x4148b3
lea eax, [ebp - 0x1308]
push eax
push esi
push 0x570b84
mov edi, str.Strings
push edi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
jne 0x41498e
mov eax, dword [0x5946dc]
cmp dword [0x5946f0], ebx
jae 0x4148e0
mov eax, 0x5946dc
push eax
lea ecx, [ebp - 0x1344]
call fcn.00403493
push esi
push 0x2d
lea ecx, [ebp - 0x1344]
mov byte [ebp - 4], 5
call fcn.00404996
cmp eax, esi
jle 0x41497c
push eax
lea eax, [ebp - 0x1348]
push eax
lea ecx, [ebp - 0x1344]
call fcn.00402b1b
push eax
lea ecx, [ebp - 0x1344]
mov byte [ebp - 4], 6
call fcn.00403196
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x1348]
add ecx, 0xfffffff0
call fcn.004014d0
lea eax, [ebp - 0x31c]
lea ecx, [ebp - 0x1308]
call fcn.00402bbc
push 0x570b64
lea eax, [ebp - 0x1308]
push eax
call fcn.00402b91
push dword [ebp - 0x1344]
lea eax, [ebp - 0x1308]
push eax
call fcn.00402b91
push str..lng
lea eax, [ebp - 0x1308]
push eax
call fcn.00402b91
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x1344]
add ecx, 0xfffffff0
call fcn.004014d0
mov edx, dword [ebp - 0x1308]
cmp dword [ebp - 0x12f4], ebx
jae 0x4149a2
lea edx, [ebp - 0x1308]
mov ecx, dword [ebp - 0x1324]
cmp dword [ebp - 0x1310], ebx
jae 0x4149b6
lea ecx, [ebp - 0x1324]
mov eax, dword [ebp - 0x1340]
cmp dword [ebp - 0x132c], ebx
jae 0x4149ca
lea eax, [ebp - 0x1340]
push edx
push 0x3e8
lea edx, [ebp - 0x12ec]
push edx
push ecx
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor eax, eax
mov word [ebp - 0xb1e], ax
lea eax, [ebp - 0x12ec]
lea ecx, [ebp - 0x1324]
call fcn.00402bbc
mov eax, dword [ebp - 0x1308]
cmp dword [ebp - 0x12f4], ebx
jae 0x414a0e
lea eax, [ebp - 0x1308]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov eax, dword [ebp - 0x1324]
cmp dword [ebp - 0x1310], ebx
jae 0x414a29
lea eax, [ebp - 0x1324]
push eax
push dword [ebp - 0x134c]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push 1
xor edi, edi
lea esi, [ebp - 0x1340]
call fcn.00402c49
push 1
lea esi, [ebp - 0x1324]
call fcn.00402c49
push 1
lea esi, [ebp - 0x1308]
call fcn.00402c49
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005182a2
leave
ret