Function at 0x475d10
Capabilities:
Get graphical window text

Disassembly:
rcl dword [eax + ebp*8], 0xc6
out dx, al
pop es
add byte [ebp - 0x7c2b8a40], al
invalid
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5ea133
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xe8
push ebx
push esi
push edi
mov esi, ecx
stc
jb 0x475d37
jb 0x475cc3
mov eax, dword [ebp + 8]
cmp eax, 0x3e8
inc ebp
or byte [0x3e8], bh
jg 0x4760a8
je 0x47601f
dec eax
cmp eax, 6
ja case.default.0x4760b6
jmp dword [eax*4 + 0x476384]
mov esi, dword [ebp + 0x10]
or eax, 0xffffffff
test esi, esi
je 0x475d83
lea eax, [ebp - 0x48]
push 0x32
push eax
push esi
mov byte [ebp - 0x48], 0
call dword [sym.imp.USER32.dll_GetWindowTextA]
lea ecx, [ebp - 0x48]
push ecx
call fcn.0052eec9
add esp, 4
mov edx, dword [ebp + 0xc]
push 0
push eax
push edx
lea ecx, [ebp - 0xf4]
call fcn.00450e90
lea ecx, [ebp - 0xf4]
mov dword [ebp - 4], 0
call fcn.005bcf16
mov eax, dword [ebp - 0x58]
cmp eax, 0xfffffffe
je 0x475df9
test esi, esi
je 0x475df9
push eax
lea eax, [ebp - 0x48]
push 0x64aafc
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea ecx, [ebp - 0x48]
push ecx
push esi
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0xffffffffffffffff
push 0
push 0xb1
push esi
call edi
push 0
push 0
push 0xb7
push esi
call edi
push esi
call dword [sym.imp.USER32.dll_SetFocus]
mov eax, dword [ebp - 0x58]
mov esi, eax
lea ecx, [ebp - 0x54]
mov dword [ebp - 4], 2
call fcn.005ba2cc
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 1
call fcn.005b9cc5
lea ecx, [ebp - 0xf4]
mov dword [ebp - 4], 0xffffffff
call fcn.005bcb4c
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc
mov esi, dword [esi + 0x94c]
test esi, esi
je case.default.0x4760b6
mov eax, dword [esi + 0x1c]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, 0x6756e0
call fcn.004699d0
mov edi, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
test eax, eax
je 0x475ea8
mov ecx, dword [edi + 4]
mov edx, dword [eax]
push ecx
mov ecx, dword [edi]
push ecx
push 0xf
push ebx
mov ecx, eax
call dword [edx + 0xe0]
test eax, eax
je 0x475ea8
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc
mov edx, dword [edi + 4]
mov eax, dword [edi]
push edx
push eax
push 0xf
push ebx
mov ecx, esi
call fcn.0046a390
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [esi + 0x94c]
push 1
call fcn.005bd82f
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [esi + 0x8a8]
xor edi, edi
cmp eax, edi
je case.default.0x4760b6
push edi
push eax
lea ecx, [esi + 0x378]
mov dword [esi + 0x8a4], edi
call fcn.004e9e60
push edi
push 0x674ee0
mov ecx, esi
mov dword [esi + 0x8a8], edi
call fcn.0047ae50
jmp case.default.0x4760b6
mov edx, dword [ebp + 0xc]
lea ecx, [ebp + 0x10]
push 0
push ecx
push edx
lea ecx, [esi + 0x378]
call fcn.004f4970
test eax, eax
je case.default.0x4760b6
mov eax, dword [ebp + 0x10]
push 0
lea ecx, [eax + 0x14]
call fcn.004f4fd0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc
mov ebx, dword [ebp + 0xc]
lea ecx, [ebp + 0xc]
push 0
push ecx
mov edx, dword [ebx]
lea ecx, [esi + 0x378]
push edx
call fcn.004f4970
test eax, eax
je case.default.0x4760b6
mov ecx, dword [ebp + 0xc]
mov edi, dword [ebx + 4]
lea eax, [ebp + 8]
add ecx, 0x14
push eax
call fcn.004f4fd0
test edi, edi
jl case.default.0x4760b6
cmp edi, eax
jge case.default.0x4760b6
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
add edi, eax
push 0
push edi
lea ecx, [edx + 0x14]
call fcn.004f4110
mov esi, eax
add esi, 0x18
push esi
call fcn.00492830
add esi, eax
push esi
call fcn.00492830
mov ecx, dword [esi + eax + 4]
lea eax, [esi + eax + 4]
add eax, 4
mov dword [ebx + 0x10c], ecx
push 0xfa
mov edx, dword [eax]
add eax, 4
not edx
push eax
lea eax, [ebx + 8]
and edx, 1
push eax
mov dword [ebx + 0x110], edx
call fcn.0052ed40
mov ecx, dword [ebp + 0xc]
add esp, 0x14
add ecx, 0x14
push edi
call fcn.004f4160
pop edi
mov dword [ebx + 0x108], eax
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc
mov edi, dword [ebp + 0xc]
test edi, edi
je case.default.0x4760b6
mov eax, dword [esi + 0x420]
test eax, eax
jne 0x476092
mov eax, dword [esi + 0x1f0]
test eax, eax
je 0x476088
mov ecx, eax
test ecx, ecx
jne 0x476048
xor ecx, ecx
jmp 0x47604e
mov ecx, dword [esi + 0x1e8]
push 1
push eax
push ecx
call fcn.005005d0
mov dword [esi + 0x424], eax
mov ecx, dword [esi + 0x1f0]
mov eax, ecx
add esp, 0xc
test eax, eax
jne 0x476070
xor eax, eax
jmp 0x476076
mov eax, dword [esi + 0x1e8]
push 0
push ecx
push eax
call fcn.005005d0
add esp, 0xc
mov dword [esi + 0x428], eax
mov dword [esi + 0x420], 1
mov edx, dword [esi + 0x424]
mov dword [edi], edx
mov eax, dword [esi + 0x428]
mov dword [edi + 4], eax
jmp case.default.0x4760b6
add eax, 0xfffffc17
cmp eax, 0xd
ja case.default.0x4760b6
jmp dword [eax*4 + 0x4763a0]
lea eax, [esi + 0x378]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [ebp + 0xc]
push 0
push ecx
lea ecx, [esi + 0xc0]
call fcn.00462300
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
push edx
push eax
call dword [esi + 0x8e0]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc
pop edi
pop esi
mov eax, 0x60005
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebp + 0xc]
cmp eax, 1
je 0x47620c
cmp eax, 0x3e8
jbe 0x476201
cmp eax, 0x3ee
ja 0x476201
cmp eax, 0x3e9
jne 0x476163
mov eax, str.samples
jmp 0x47619e
cmp eax, 0x3ea
jne 0x476171
mov eax, 0x649638
jmp 0x47619e
cmp eax, 0x3eb
jne 0x47617f
mov eax, str.help
jmp 0x47619e
cmp eax, 0x3ec
jne 0x47618d
mov eax, str.ecom
jmp 0x47619e
cmp eax, 0x3ed
mov eax, 0x649fbc
je 0x47619e
mov eax, str.setup
add esi, 0x930
push eax
lea ecx, [ebp - 0x10]
push esi
push ecx
call fcn.005bc6b6
push 0x649634
lea edx, [ebp - 0x14]
push eax
push edx
mov dword [ebp - 4], 3
call fcn.005bc6b6
mov edi, dword [eax]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [ebp + 0x10]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x14]
call fcn.005bc421
lea ecx, [ebp - 0x10]
mov dword [ebp - 4], 0xffffffff
call fcn.005bc421
jmp case.default.0x4760b6
mov ecx, dword [ebp + 0x10]
mov byte [ecx], 0
jmp case.default.0x4760b6
mov edi, dword [esi + 0x930]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, dword [ebp + 0x10]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp case.default.0x4760b6
mov edi, dword [ebp + 0xc]
test edi, edi
je case.default.0x4760b6
push 0x3c
call fcn.005bd3d9
add esp, 4
mov dword [ebp + 0xc], eax
test eax, eax
mov dword [ebp - 4], 4
je 0x476263
mov ecx, eax
call fcn.005bda58
mov esi, eax
jmp 0x476265
xor esi, esi
push edi
mov ecx, esi
mov dword [ebp - 4], 0xffffffff
call fcn.005bdebe
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je case.default.0x4760b6
mov eax, dword [ecx]
push 1
call dword [eax + 4]
jmp case.default.0x4760b6
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je case.default.0x4760b6
call fcn.005bdef7
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebp + 0xc]
test eax, eax
je case.default.0x4760b6
mov eax, dword [eax + 0x1c]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc
mov esi, dword [ebp + 0xc]
test esi, esi
je case.default.0x4760b6
push esi
call fcn.005bdea0
test eax, eax
jne case.default.0x4760b6
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je case.default.0x4760b6
mov eax, dword [ecx + 0x1c]
test eax, eax
jne case.default.0x4760b6
push esi
call fcn.005bdebe
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebp + 0xc]
test eax, eax
je case.default.0x4760b6
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov eax, dword [eax]
push ecx
push edx
push eax
mov ecx, esi
call fcn.00475b40
jmp case.default.0x4760b6
mov ecx, dword [ebp + 0xc]
push ecx
mov ecx, esi
call fcn.00475bc0
jmp case.default.0x4760b6
mov edx, dword [ebp + 0xc]
mov ecx, esi
push edx
call fcn.00475c60
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc