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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x493b2b
mov eax, dword fs:[0]
push eax
sub esp, 0x178
mov eax, dword [0x4d13f4]
xor eax, ebp
mov dword [ebp - 0x54], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x174], ecx
lea ecx, [ebp - 0x15c]
call fcn.004112b0
mov dword [ebp - 4], 0
push 0x104
push 0x105
lea ecx, [ebp - 0x15c]
call fcn.004112f0
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0xffffffffffffffff
lea ecx, [ebp - 0x15c]
call fcn.00411320
push 0x5c
lea ecx, [ebp - 0x15c]
call fcn.0040dd30
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x158]
add eax, 1
push eax
lea ecx, [ebp - 0x160]
push ecx
lea ecx, [ebp - 0x15c]
call fcn.0040de00
mov dword [ebp - 0x178], eax
mov edx, dword [ebp - 0x178]
mov dword [ebp - 0x17c], edx
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x17c]
push eax
lea ecx, [ebp - 0x15c]
call fcn.00403d40
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x160]
call fcn.00403d20
lea ecx, [ebp - 0x15c]
push ecx
mov ecx, dword [ebp - 0x174]
add ecx, 0x2fd4bc
call fcn.00403d40
lea ecx, [ebp - 0x28]
call fcn.00455734
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x3c]
call fcn.00455734
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x4c]
call fcn.004112b0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x44]
call fcn.004112b0
mov byte [ebp - 4], 5
mov dword [ebp - 0x14], 0
push 0x49dc00
lea edx, [ebp - 0x15c]
push edx
lea eax, [ebp - 0x164]
push eax
call fcn.0040df30
add esp, 0xc
mov dword [ebp - 0x180], eax
mov ecx, dword [ebp - 0x180]
mov dword [ebp - 0x184], ecx
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x184]
push edx
mov ecx, dword [ebp - 0x174]
add ecx, 0x2fd4c0
call fcn.00403d40
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x164]
call fcn.00403d20
mov dword [ebp - 0x14], 1
jmp 0x40598d
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xff
jge 0x405a35
mov ecx, dword [ebp - 0x14]
push ecx
push str.app_d
lea edx, [ebp - 0x44]
push edx
call fcn.00411460
add esp, 0xc
push 0xff
push 0
lea eax, [ebp - 0x154]
push eax
call fcn.0047ba50
add esp, 0xc
mov ecx, dword [ebp - 0x174]
add ecx, 0x2fd4c0
call fcn.00411270
push eax
push 0x104
lea ecx, [ebp - 0x154]
push ecx
push 0x49dabe
lea ecx, [ebp - 0x44]
call fcn.00411270
push eax
push str.ksoft
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edx, [ebp - 0x154]
push edx
push 0x49dc20
lea eax, [ebp - 0x44]
push eax
call fcn.00411460
add esp, 0xc
lea ecx, [ebp - 0x44]
call fcn.00403da0
test eax, eax
jle 0x405a2e
lea ecx, [ebp - 0x44]
push ecx
lea ecx, [ebp - 0x28]
call fcn.0040cb40
jmp 0x405a30
jmp 0x405a35
jmp 0x405984
mov dword [ebp - 0x14], 1
jmp 0x405a47
mov edx, dword [ebp - 0x14]
add edx, 1
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 0xff
jge 0x405aef
mov eax, dword [ebp - 0x14]
push eax
push str.class_d
lea ecx, [ebp - 0x44]
push ecx
call fcn.00411460
add esp, 0xc
push 0xff
push 0
lea edx, [ebp - 0x154]
push edx
call fcn.0047ba50
add esp, 0xc
mov ecx, dword [ebp - 0x174]
add ecx, 0x2fd4c0
call fcn.00411270
push eax
push 0x104
lea eax, [ebp - 0x154]
push eax
push 0x49dabf
lea ecx, [ebp - 0x44]
call fcn.00411270
push eax
push str.ksoftclass
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [ebp - 0x154]
push ecx
push 0x49dc38
lea edx, [ebp - 0x44]
push edx
call fcn.00411460
add esp, 0xc
lea ecx, [ebp - 0x44]
call fcn.00403da0
test eax, eax
jle 0x405ae8
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x3c]
call fcn.0040cb40
jmp 0x405aea
jmp 0x405aef
jmp 0x405a3e
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x40], 0
lea ecx, [ebp - 0x28]
call fcn.0040cb20
mov dword [ebp - 0x48], eax
lea ecx, [ebp - 0x3c]
call fcn.0040cb20
mov dword [ebp - 0x40], eax
push 5
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindow]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x405d60
push 0xff
push 0
lea ecx, [ebp - 0x154]
push ecx
call fcn.0047ba50
add esp, 0xc
push 0xff
lea edx, [ebp - 0x154]
push edx
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.USER32.dll_GetWindowTextA]
lea ecx, [ebp - 0x154]
push ecx
push 0x49dc3c
lea edx, [ebp - 0x44]
push edx
call fcn.00411460
add esp, 0xc
lea ecx, [ebp - 0x44]
call fcn.00403da0
test eax, eax
jle 0x405c51
mov dword [ebp - 0x14], 0
jmp 0x405ba3
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x48]
jge 0x405c51
mov edx, dword [ebp - 0x14]
push edx
lea ecx, [ebp - 0x28]
call fcn.0040cb70
push eax
lea ecx, [ebp - 0x4c]
call fcn.00403d40
push 0
lea ecx, [ebp - 0x4c]
call fcn.00411270
push eax
lea ecx, [ebp - 0x44]
call fcn.0040dcb0
test eax, eax
jl 0x405c4c
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x50], eax
lea ecx, [ebp - 0x4c]
push ecx
mov ecx, dword [ebp - 0x174]
add ecx, 0x2fd4b8
call fcn.00403d40
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x168], edx
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x44]
call fcn.00403d20
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x4c]
call fcn.00403d20
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x3c]
call fcn.004557b1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.004557b1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x15c]
call fcn.00403d20
mov eax, dword [ebp - 0x168]
jmp 0x405db1
jmp 0x405b9a
push 0xff
lea eax, [ebp - 0x154]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.USER32.dll_GetClassNameA]
lea edx, [ebp - 0x154]
push edx
push 0x49dc40
lea eax, [ebp - 0x44]
push eax
call fcn.00411460
add esp, 0xc
lea ecx, [ebp - 0x44]
call fcn.00403da0
test eax, eax
jle 0x405d4c
mov dword [ebp - 0x14], 0
jmp 0x405ca1
mov ecx, dword [ebp - 0x14]
add ecx, 1
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x14]
cmp edx, dword [ebp - 0x40]
jge 0x405d4c
mov eax, dword [ebp - 0x14]
push eax
lea ecx, [ebp - 0x3c]
call fcn.0040cb70
push eax
lea ecx, [ebp - 0x4c]
call fcn.00403d40
push 0
lea ecx, [ebp - 0x4c]
call fcn.00411270
push eax
lea ecx, [ebp - 0x44]
call fcn.0040dcb0
test eax, eax
jl 0x405d47
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x50], ecx
lea edx, [ebp - 0x4c]
push edx
mov ecx, dword [ebp - 0x174]
add ecx, 0x2fd4b8
call fcn.00403d40
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x16c], eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x44]
call fcn.00403d20
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x4c]
call fcn.00403d20
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x3c]
call fcn.004557b1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.004557b1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x15c]
call fcn.00403d20
mov eax, dword [ebp - 0x16c]
jmp 0x405db1
jmp 0x405c98
push 2
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.USER32.dll_GetWindow]
mov dword [ebp - 0x10], eax
jmp 0x405b33
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x170], edx
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x44]
call fcn.00403d20
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x4c]
call fcn.00403d20
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x3c]
call fcn.004557b1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.004557b1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x15c]
call fcn.00403d20
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x54]
xor ecx, ebp
call fcn.0047ac28
mov esp, ebp
pop ebp
ret