Function at 0x4c1740
Capabilities:
Get graphical window text
Read .ini file

Disassembly:
sub esp, 0xa44
lea eax, [esp + 0x3c]
push ebp
push esi
push 3
push eax
push 0x5b96e0
mov ebp, 1
call fcn.004c93e0
mov eax, dword [0x59f718]
add esp, 0xc
cmp eax, 0xffffffff
jne 0x4c1775
cmp word [esp + 0x44], 0
jne 0x4c1775
xor ebp, ebp
mov eax, dword [0x5b5548]
test eax, eax
je 0x4c1d91
mov esi, dword [sym.imp.USER32.dll_IsWindowVisible]
push eax
call esi
test eax, eax
je 0x4c1d68
mov eax, dword [esp + 0xa50]
test eax, eax
je 0x4c1d68
mov edx, dword [0x5b5548]
lea ecx, [esp + 0x2c]
push ebx
push ecx
push edx
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [0x5b5510]
test eax, eax
jne 0x4c18c7
mov eax, dword [0x5b5598]
test eax, eax
jne 0x4c18c7
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x30]
mov edx, dword [0x5b5548]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
lea ecx, [esp + 0x10]
sub eax, ebx
push ecx
push 1
push 0x404
push edx
mov dword [esp + 0x20], eax
call esi
mov eax, dword [0x5b559c]
test eax, eax
je 0x4c189c
mov eax, dword [0x5b54fc]
push 0
push 0
push 0x1004
push eax
call esi
mov ecx, dword [0x5b5648]
mov edx, dword [0x5b66e0]
inc ecx
push eax
push ecx
push 0x5a5064
push edx
call fcn.004d5ee1
mov eax, dword [0x5b66e8]
push ebp
push 0x80
push eax
call fcn.004c13a0
mov ecx, dword [0x5b66ec]
mov word [ecx], 0
mov edx, dword [0x5b66ec]
push edx
push 0x5b96e0
call fcn.004c9300
mov eax, dword [0x5b66ec]
mov ecx, dword [0x5b66e8]
mov edx, dword [0x5b66e0]
push eax
mov eax, dword [0x5b66dc]
push ecx
push edx
push 0x5b96e0
push str._s___s___s___s
push eax
call fcn.004d5ee1
mov ecx, dword [0x5b66dc]
push ecx
push 0
call fcn.004c1600
add esp, 0x44
jmp 0x4c1d3a
mov edx, dword [0x5b66dc]
mov eax, dword [0x5b5574]
push 0x80
push edx
push 0x526
push eax
call dword [sym.imp.USER32.dll_LoadStringW]
mov ecx, dword [0x5b66dc]
push ecx
push 0
jmp 0x4c1d32
mov edx, dword [0x5ba368]
mov eax, dword [0x5b9250]
mov ecx, dword [0x5ba150]
push edx
mov edx, dword [0x5b66dc]
push eax
push ecx
push str._d_x__d_x__d_BPP
push edx
call fcn.004d5ee1
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
add esp, 0x14
cmp ebp, 1
jne 0x4c192a
mov eax, dword [0x5b54fc]
push 0
push 0
push 0x1004
push eax
call ebx
mov ecx, dword [0x5b5648]
mov edx, dword [0x5b66e0]
inc ecx
push eax
push ecx
push 0x5a5064
push edx
call fcn.004d5ee1
add esp, 0x10
jmp 0x4c1947
mov eax, dword [0x5b66e0]
mov ecx, dword [0x5b5574]
push 0x80
push eax
push 0x4ec
push ecx
call dword [sym.imp.USER32.dll_LoadStringW]
fld qword [0x59f770]
fadd qword [0x5526c8]
call fcn.004d6118
mov edx, dword [0x5b66e4]
push eax
push 0x5a5010
push edx
call fcn.004d5ee1
mov eax, dword [esp + 0xa60]
add esp, 0xc
mov esi, eax
and esi, 1
mov dword [esp + 0xc], esi
jne 0x4c1983
test al, 0xc
je 0x4c1997
mov eax, dword [0x5b66e8]
push ebp
push 0x80
push eax
call fcn.004c13a0
add esp, 0xc
test esi, esi
jne 0x4c19a5
test byte [esp + 0xa54], 8
je 0x4c19ba
mov ecx, dword [0x5b66ec]
push ebp
push 0x80
push ecx
call fcn.004c1510
add esp, 0xc
mov edx, dword [0x5b66f0]
mov word [edx], 0
mov eax, dword [0x5b5594]
test eax, eax
je 0x4c19ef
mov eax, dword [0x5b9250]
mov ecx, dword [0x5ba150]
mov edx, dword [0x5b66f0]
push eax
push ecx
push str._dx___dy
push edx
call fcn.004d5ee1
add esp, 0x10
test esi, esi
push edi
jne 0x4c1a02
test byte [esp + 0xa58], 0x20
je 0x4c1b4a
push 0x5b9260
lea eax, [esp + 0x258]
push 0x400
push eax
push 0x599cd0
push str.Text
push str.StatusBar
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, dword [0x5b5598]
mov edi, dword [0x5b55a8]
mov esi, dword [0x5b55a4]
test eax, eax
je 0x4c1a47
mov esi, dword [0x5b55b0]
or edi, 0xffffffff
mov edx, dword [0x5b5510]
lea ecx, [esp + 0x30]
push 0
push ecx
push 0
push 0
push 0
push edx
call fcn.004c5070
mov eax, dword [0x59f774]
mov ecx, dword [0x59f770]
mov edx, dword [esp + 0x48]
add esp, 0x18
push 0
push esi
push edi
push eax
mov eax, dword [0x5ba368]
push ecx
mov ecx, dword [0x5b9250]
push edx
mov edx, dword [0x5ba150]
push eax
mov eax, dword [0x5b54fc]
push ecx
push edx
push 0
push 0xfffffc19
push 0
push 0
push 0x1004
push eax
call ebx
mov ecx, dword [0x5b5648]
push eax
mov eax, dword [0x59f718]
inc ecx
lea edx, [esp + 0x284]
push ecx
mov ecx, dword [0x5b66f4]
push edx
push eax
push 0x5b96e0
push 0x200
push ecx
call fcn.004b7220
add esp, 0x48
test ebp, ebp
je 0x4c1b06
mov edx, dword [0x5b5648]
mov eax, dword [0x5b54fc]
push edx
push eax
call fcn.004753b0
add esp, 8
test eax, eax
je 0x4c1b06
mov ecx, dword [0x5b66f4]
push str.__X_
push ecx
call fcn.004d62f1
add esp, 8
mov eax, dword [0x5b5590]
test eax, eax
je 0x4c1b46
call fcn.0047c1b0
test eax, eax
je 0x4c1b46
fild dword [0x5b5590]
mov edx, dword [0x5b66f4]
sub esp, 8
fstp qword [esp + 0x4c]
fld qword [esp + 0x4c]
fmul qword [0x552948]
fstp qword [esp]
push str._.2f_deg
push edx
call fcn.004d5ee1
add esp, 0x10
mov esi, dword [esp + 0x10]
test esi, esi
jne 0x4c1b5c
test byte [esp + 0xa58], 4
je 0x4c1c61
mov eax, dword [0x5b5548]
push eax
call dword [sym.imp.USER32.dll_GetDC]
mov ecx, dword [0x5b5548]
push 0
push 0
push 0x31
push ecx
mov esi, eax
call ebx
mov edi, dword [sym.imp.GDI32.dll_SelectObject]
push eax
push esi
call edi
mov edx, dword [0x5b66dc]
push 0
push edx
push esi
mov ebp, eax
call fcn.004c1580
mov dword [esp + 0x20], eax
mov eax, dword [0x5b66e0]
push 0
push eax
push esi
call fcn.004c1580
mov ecx, dword [esp + 0x2c]
push 0
add eax, ecx
mov ecx, dword [0x5b66e4]
push ecx
push esi
mov dword [esp + 0x3c], eax
call fcn.004c1580
mov ecx, dword [esp + 0x3c]
mov edx, dword [0x5b66e8]
push 0
add eax, ecx
push edx
push esi
mov dword [esp + 0x4c], eax
call fcn.004c1580
mov ecx, dword [esp + 0x4c]
push 0
add eax, ecx
mov dword [esp + 0x54], eax
mov eax, dword [0x5b66ec]
push eax
push esi
call fcn.004c1580
mov ecx, dword [esp + 0x5c]
add esp, 0x3c
add eax, ecx
mov dword [esp + 0x24], eax
mov eax, dword [0x5b5594]
test eax, eax
je 0x4c1c22
mov ecx, dword [0x5b66f0]
push 0
push ecx
push esi
call fcn.004c1580
mov ecx, dword [esp + 0x30]
add esp, 0xc
add eax, ecx
mov dword [esp + 0x28], eax
mov eax, dword [0x5b5594]
mov edx, dword [esp + 0x3c]
push ebp
push esi
mov dword [esp + eax*4 + 0x30], edx
call edi
mov ecx, dword [0x5b5548]
push esi
push ecx
call dword [sym.imp.USER32.dll_ReleaseDC]
mov eax, dword [0x5b5594]
mov ecx, dword [0x5b5548]
lea edx, [esp + 0x14]
add eax, 6
push edx
push eax
push 0x404
push ecx
call ebx
mov esi, dword [esp + 0x10]
test esi, esi
pop edi
jne 0x4c1c70
test byte [esp + 0xa54], 4
je 0x4c1c81
mov edx, dword [0x5b66dc]
push edx
push 0
call fcn.004c1600
add esp, 8
test esi, esi
jne 0x4c1c8f
test byte [esp + 0xa54], 6
je 0x4c1c9f
mov eax, dword [0x5b66e0]
push eax
push 1
call fcn.004c1600
add esp, 8
test esi, esi
jne 0x4c1cad
test byte [esp + 0xa54], 4
je 0x4c1cbe
mov ecx, dword [0x5b66e4]
push ecx
push 2
call fcn.004c1600
add esp, 8
test esi, esi
jne 0x4c1ccc
test byte [esp + 0xa54], 0xc
je 0x4c1cdd
mov edx, dword [0x5b66e8]
push edx
push 3
call fcn.004c1600
add esp, 8
test esi, esi
jne 0x4c1ceb
test byte [esp + 0xa54], 8
je 0x4c1cfb
mov eax, dword [0x5b66ec]
push eax
push 4
call fcn.004c1600
add esp, 8
mov eax, dword [0x5b5594]
test eax, eax
je 0x4c1d13
push 0x5aae60
push 5
call fcn.004c1600
add esp, 8
test esi, esi
jne 0x4c1d21
test byte [esp + 0xa54], 0x20
je 0x4c1d3a
mov edx, dword [0x5b5594]
mov ecx, dword [0x5b66f4]
add edx, 5
push ecx
push edx
call fcn.004c1600
add esp, 8
mov al, byte [esp + 0xa54]
pop ebx
test al, 1
je 0x4c1d91
mov eax, dword [0x59f740]
push 0
push 0
push 0
push 0x5b96e0
push eax
call fcn.0048dd70
add esp, 0x14
pop esi
pop ebp
add esp, 0xa44
ret
mov eax, dword [0x5b5548]
test eax, eax
je 0x4c1d91
push eax
call esi
test eax, eax
je 0x4c1d91
mov ecx, dword [0x5b66dc]
mov edx, dword [0x5b5548]
push 0x208
push ecx
push edx
call dword [sym.imp.USER32.dll_GetWindowTextW]
pop esi
pop ebp
add esp, 0xa44
ret