Function at 0x504009
Capabilities:
Get graphical window text
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov ebx, dword [ebp + 8]
mov esi, 0x58a0a4
mov edi, 0x589fac
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x54], 0
je 0x5047e5
cmp dword [ebp + 0xc], 0
je 0x50457a
xor edx, edx
mov dword [0x589f9c], edx
imul ecx, dword [ebp + 0x14], 0x17
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + ecx*4 + 0x38]
mov dword [0x58a0a8], edx
mov ecx, dword [0x58a0a8]
add ecx, 0x64
mov dword [0x58a0ac], ecx
mov eax, dword [0x58a0a8]
mov dword [esi], eax
jmp 0x504185
push dword [esi]
push ebx
call sub.USER32.dll_GetDlgItem
mov edx, dword [0x589f9c]
mov dword [edi + edx*4], eax
mov ecx, dword [0x589f9c]
cmp dword [edi + ecx*4], 0
je 0x504193
mov eax, dword [0x54b444]
test eax, eax
je 0x5040aa
cmp ebx, eax
jne 0x5040aa
mov edx, dword [esi]
sub edx, 0xb3
jne 0x504100
inc dword [0x589f9c]
jmp 0x504183
mov eax, dword [0x5573c4]
test eax, eax
je 0x504100
cmp ebx, eax
jne 0x504100
mov edx, dword [esi]
cmp edx, 0x17c
jg 0x5040dc
je 0x5040f5
sub edx, 0x104
je 0x5040f5
sub edx, 0x3b
je 0x5040f5
sub edx, 0x18
je 0x5040f5
sub edx, 2
je 0x5040f5
jmp 0x504100
sub edx, 0x190
je 0x5040f5
sub edx, 0x40
je 0x5040f5
sub edx, 0x55
je 0x5040f5
sub edx, 2
je 0x5040f5
jmp 0x504100
inc dword [0x589f9c]
jmp 0x504183
push 0
push 0
push 0xc1
mov ecx, dword [0x589f9c]
push dword [edi + ecx*4]
call sub.USER32.dll_SendMessageA
test eax, eax
jle 0x504123
inc dword [0x589f9c]
jmp 0x504183
push 0x58a108
push 0x3e7
push 0xd
mov eax, dword [0x589f9c]
push dword [edi + eax*4]
call sub.USER32.dll_SendMessageA
test eax, eax
jle 0x50417d
push 1
push 0x58a108
call fcn.00539518
add esp, 8
mov dword [0x58a0b0], eax
cmp dword [0x58a0b0], 0
je 0x50417d
mov edx, dword [0x58a0b0]
mov byte [edx], 0x26
push 0x58a108
push 0
push 0xc
mov ecx, dword [0x589f9c]
push dword [edi + ecx*4]
call sub.USER32.dll_SendMessageA
inc dword [0x589f9c]
inc dword [esi]
mov eax, dword [esi]
cmp eax, dword [0x58a0ac]
jl 0x504067
push 0x58a074
push dword [edi]
call sub.USER32.dll_GetWindowRect
push 0x58a084
push 0x69
push ebx
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_GetWindowRect
xor edx, edx
mov dword [esi], edx
jmp 0x504211
push 0x58a094
mov ecx, dword [esi]
push dword [edi + ecx*4]
call sub.USER32.dll_GetWindowRect
mov eax, dword [0x58a098]
cmp eax, dword [0x58a078]
jge 0x5041d9
mov dword [0x58a078], eax
mov eax, dword [0x58a0a0]
cmp eax, dword [0x58a080]
jle 0x5041eb
mov dword [0x58a080], eax
mov eax, dword [0x58a094]
cmp eax, dword [0x58a074]
jge 0x5041fd
mov dword [0x58a074], eax
mov eax, dword [0x58a09c]
cmp eax, dword [0x58a07c]
jle 0x50420f
mov dword [0x58a07c], eax
inc dword [esi]
mov edx, dword [esi]
cmp edx, dword [0x589f9c]
jl 0x5041b8
mov ecx, dword [ebp + 0x10]
cmp dword [ecx + 0x48], 0
je 0x5042ac
mov eax, dword [0x58a08c]
sub eax, dword [0x58a084]
mov edx, dword [0x58a07c]
sub edx, dword [0x58a074]
sub eax, edx
sar eax, 1
jns 0x504248
adc eax, 0
mov ecx, dword [0x58a074]
sub ecx, dword [0x58a084]
sub ecx, eax
imul eax, dword [ebp + 0x14], 0x17
mov edx, dword [ebp + 0x10]
sub ecx, dword [edx + eax*4 + 0x3c]
dec ecx
mov dword [0x589fa0], ecx
mov ecx, dword [0x58a090]
sub ecx, dword [0x58a088]
mov eax, dword [0x58a080]
sub eax, dword [0x58a078]
sub ecx, eax
sar ecx, 1
jns 0x504288
adc ecx, 0
mov edx, dword [0x58a078]
sub edx, dword [0x58a088]
sub edx, ecx
imul ecx, dword [ebp + 0x14], 0x17
mov eax, dword [ebp + 0x10]
sub edx, dword [eax + ecx*4 + 0x40]
add edx, 0xfffffffd
mov dword [0x589fa4], edx
jmp 0x504308
mov edx, dword [0x58a08c]
sub edx, dword [0x58a084]
mov ecx, dword [0x58a07c]
sub ecx, dword [0x58a074]
sub edx, ecx
sar edx, 1
jns 0x5042cd
adc edx, 0
mov eax, dword [0x58a074]
sub eax, dword [0x58a084]
sub eax, edx
imul edx, dword [ebp + 0x14], 0x17
mov ecx, dword [ebp + 0x10]
sub eax, dword [ecx + edx*4 + 0x3c]
dec eax
mov dword [0x589fa0], eax
imul eax, dword [ebp + 0x14], 0x17
mov edx, dword [ebp + 0x10]
mov ecx, dword [0x58a078]
sub ecx, dword [0x58a088]
sub ecx, dword [edx + eax*4 + 0x40]
mov dword [0x589fa4], ecx
xor eax, eax
mov dword [esi], eax
jmp 0x504381
push 0x58a074
mov edx, dword [esi]
push dword [edi + edx*4]
call sub.USER32.dll_GetWindowRect
mov ecx, dword [0x58a078]
mov dword [0x58a0b8], ecx
push 0x58a0b4
push ebx
call sub.USER32.dll_ScreenToClient
mov eax, dword [0x58a074]
sub eax, dword [0x589fa0]
mov dword [0x58a0b4], eax
mov edx, dword [0x58a078]
sub edx, dword [0x589fa4]
mov dword [0x58a0b8], edx
push 0x58a0b4
push ebx
call sub.USER32.dll_ScreenToClient
push 0x15
push 0
push 0
push dword [0x58a0b8]
push dword [0x58a0b4]
push 0
mov ecx, dword [esi]
push dword [edi + ecx*4]
call sub.USER32.dll_SetWindowPos
inc dword [esi]
mov eax, dword [esi]
cmp eax, dword [0x589f9c]
jl 0x50430e
xor edx, edx
mov dword [esi], edx
jmp 0x50455b
mov eax, dword [0x54b444]
test eax, eax
je 0x5043cf
cmp ebx, eax
jne 0x5043cf
push 0x71
push ebx
call sub.USER32.dll_GetDlgItem
mov edx, dword [esi]
cmp eax, dword [edi + edx*4]
je 0x504559
push 0x83
push ebx
call sub.USER32.dll_GetDlgItem
mov ecx, dword [esi]
cmp eax, dword [edi + ecx*4]
je 0x504559
jmp 0x50454d
mov eax, dword [0x5573c4]
test eax, eax
je 0x504528
cmp ebx, eax
jne 0x504528
push 0x1d1
push ebx
call sub.USER32.dll_GetDlgItem
mov edx, dword [esi]
cmp eax, dword [edi + edx*4]
je 0x504559
xor ecx, ecx
mov dword [0x589fa8], ecx
push 0x179
push ebx
call sub.USER32.dll_GetDlgItem
mov edx, dword [esi]
cmp eax, dword [edi + edx*4]
jne 0x504423
mov dword [0x589fa8], 1
jmp 0x5044f9
push 0x17a
push ebx
call sub.USER32.dll_GetDlgItem
mov ecx, dword [esi]
cmp eax, dword [edi + ecx*4]
jne 0x504444
mov dword [0x589fa8], 1
jmp 0x5044f9
push 0x17d
push ebx
call sub.USER32.dll_GetDlgItem
mov edx, dword [esi]
cmp eax, dword [edi + edx*4]
jne 0x504465
mov dword [0x589fa8], 1
jmp 0x5044f9
push 0x178
push ebx
call sub.USER32.dll_GetDlgItem
mov ecx, dword [esi]
cmp eax, dword [edi + ecx*4]
jne 0x504483
mov dword [0x589fa8], 1
jmp 0x5044f9
push 0x207
push ebx
call sub.USER32.dll_GetDlgItem
mov edx, dword [esi]
cmp eax, dword [edi + edx*4]
jne 0x5044a1
mov dword [0x589fa8], 1
jmp 0x5044f9
push 0x208
push ebx
call sub.USER32.dll_GetDlgItem
mov ecx, dword [esi]
cmp eax, dword [edi + ecx*4]
jne 0x5044bf
mov dword [0x589fa8], 1
jmp 0x5044f9
push 0x1ac
push ebx
call sub.USER32.dll_GetDlgItem
mov edx, dword [esi]
cmp eax, dword [edi + edx*4]
jne 0x5044dd
mov dword [0x589fa8], 1
jmp 0x5044f9
push 0x1b0
push ebx
call sub.USER32.dll_GetDlgItem
mov ecx, dword [esi]
cmp eax, dword [edi + ecx*4]
jne 0x5044f9
mov dword [0x589fa8], 2
cmp dword [0x589fa8], 0
je 0x50454d
cmp dword [0x556164], 0
jne 0x504514
cmp dword [0x589fa8], 1
je 0x504559
cmp dword [0x556168], 0
jne 0x50454d
cmp dword [0x589fa8], 2
je 0x504559
jmp 0x50454d
mov eax, dword [0x54c370]
test eax, eax
je 0x50454d
cmp ebx, eax
jne 0x50454d
test byte [0x55511d], 1
je 0x50454d
push 0x7f
push ebx
call sub.USER32.dll_GetDlgItem
mov edx, dword [esi]
cmp eax, dword [edi + edx*4]
je 0x504559
push 4
mov eax, dword [esi]
push dword [edi + eax*4]
call sub.USER32.dll_ShowWindow
inc dword [esi]
mov ecx, dword [esi]
cmp ecx, dword [0x589f9c]
jl 0x504394
mov dword [0x55a5d0], ebx
push ebx
call sub.USER32.dll_UpdateWindow
jmp 0x5047e5
imul eax, dword [ebp + 0x14], 0x17
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx + eax*4 + 0x38]
mov dword [0x58a0a8], ecx
mov eax, dword [0x58a0a8]
add eax, 0x64
mov dword [0x58a0ac], eax
cmp dword [0x55a5d0], 0
je 0x5045e9
cmp ebx, dword [0x55a5d0]
je 0x5045e9
xor edx, edx
mov dword [0x589f9c], edx
mov ecx, dword [0x58a0a8]
mov dword [esi], ecx
jmp 0x5045df
push dword [esi]
push ebx
call sub.USER32.dll_GetDlgItem
mov edx, dword [0x589f9c]
mov dword [edi + edx*4], eax
mov eax, dword [0x589f9c]
cmp dword [edi + eax*4], 0
je 0x5045e9
inc dword [0x589f9c]
inc dword [esi]
mov ecx, dword [esi]
cmp ecx, dword [0x58a0ac]
jl 0x5045bb
xor eax, eax
mov dword [esi], eax
jmp 0x50464b
mov edx, dword [esi]
mov eax, dword [edi + edx*4]
test eax, eax
je 0x504655
push 0
mov edx, dword [esi]
push eax
call sub.USER32.dll_ShowWindow
push 0x58a0c0
mov ecx, dword [esi]
push dword [edi + ecx*4]
call sub.USER32.dll_GetWindowRect
push 2
push 0x58a0c0
push ebx
push 0
call sub.USER32.dll_MapWindowPoints
sub dword [0x58a0c4], 2
add dword [0x58a0cc], 2
sub dword [0x58a0c0], 2
add dword [0x58a0c8], 4
push 0
push 0x58a0c0
push ebx
call sub.USER32.dll_InvalidateRect
inc dword [esi]
mov eax, dword [esi]
cmp eax, dword [0x589f9c]
jl 0x5045ef
xor edx, edx
mov dword [esi], edx
jmp 0x5047cb
mov ecx, dword [esi]
cmp dword [edi + ecx*4], 0
je 0x5047d9
mov eax, dword [esi]
push dword [edi + eax*4]
call sub.USER32.dll_GetDlgCtrlID
mov dword [0x58a0bc], eax
mov eax, dword [0x54b444]
test eax, eax
je 0x50469d
cmp ebx, eax
jne 0x50469d
mov edx, dword [0x58a0bc]
sub edx, 0xb3
je 0x5047c9
jmp 0x50475f
mov eax, dword [0x5573c4]
test eax, eax
je 0x50475f
cmp ebx, eax
jne 0x50475f
mov edx, dword [0x58a0bc]
cmp edx, 0x190
jg 0x504702
je 0x5047c9
cmp edx, 0x157
jg 0x5046eb
je 0x5047c9
sub edx, 0x104
je 0x5047c9
sub edx, 0x3b
je 0x5047c9
jmp 0x50475f
sub edx, 0x159
je 0x5047c9
sub edx, 0x23
je 0x5047c9
jmp 0x50475f
sub edx, 0x1d0
je 0x5047c9
dec edx
je 0x504725
sub edx, 0x54
je 0x5047c9
sub edx, 2
je 0x5047c9
jmp 0x50475f
push 0x58a0d0
push 0x1d1
push ebx
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_GetWindowRect
push 2
push 0x58a0d0
push ebx
push 0
call sub.USER32.dll_MapWindowPoints
push 1
push 0x58a0d0
push ebx
call sub.USER32.dll_InvalidateRect
push ebx
call sub.USER32.dll_UpdateWindow
jmp 0x5047c9
push 0
push 0
push 0xc1
mov ecx, dword [esi]
push dword [edi + ecx*4]
call sub.USER32.dll_SendMessageA
test eax, eax
jg 0x5047c9
push 0x58a108
push 0x3e7
push 0xd
mov eax, dword [esi]
push dword [edi + eax*4]
call sub.USER32.dll_SendMessageA
test eax, eax
jle 0x5047c9
push 0x26
push 0x58a108
call fcn.00539518
add esp, 8
mov dword [0x58a0b0], eax
cmp dword [0x58a0b0], 0
je 0x5047c9
mov edx, dword [0x58a0b0]
mov byte [edx], 1
push 0x58a108
push 0
push 0xc
mov ecx, dword [esi]
push dword [edi + ecx*4]
call sub.USER32.dll_SendMessageA
inc dword [esi]
mov eax, dword [esi]
cmp eax, dword [0x589f9c]
jl 0x50465e
mov dword [0x55a5d0], ebx
push ebx
call sub.USER32.dll_UpdateWindow
pop edi
pop esi
pop ebx
pop ebp
ret 0x10