Function at 0x45e590
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x854
push ebx
push esi
push edi
mov edi, eax
push str.Submit
push edi
mov esi, ecx
mov ebx, edx
call fcn.00486339
add esp, 8
test eax, eax
movzx eax, byte [esi + 4]
sete cl
add eax, 0xfffffff3
mov byte [esp + 0x23], cl
cmp eax, 5
ja case.default.0x45e5cc
jmp dword [eax*4 + 0x45ee58]
test byte [esi + 5], 0x80
push 0
push 0
je 0x45e605
mov eax, dword [esi]
push 0x472
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
cdq
push 0x18
push edx
push eax
mov eax, ebx
call fcn.004010e0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esi]
push 0x468
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
cwde
cdq
push 0x18
push edx
push eax
mov eax, ebx
call fcn.004010e0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edx, dword [esi]
push 0
push 0
push 0x400
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
test byte [esi + 5], 0x80
mov dword [esp + 0x18], eax
je 0x45e676
mov eax, dword [esi]
push 0
push 0
push 0x402
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [esi]
push 0
push 0
push 0x401
mov edi, eax
sub edi, dword [esp + 0x24]
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
add eax, edi
cdq
push 0x18
push edx
push eax
mov eax, ebx
call fcn.004010e0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
test cl, cl
jne 0x45ee4a
mov edx, dword [esi]
push 0
push 0
push 0x408
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
cdq
push 0x18
push edx
push eax
mov eax, ebx
call fcn.004010e0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esi]
lea eax, [esp + 0x24]
push eax
push 0
push 0x1001
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
jne 0x45e701
lea eax, [esp + 0x24]
lea esi, [esp + 0x60]
call fcn.0046b070
push 1
push 0
push 0xffffffffffffffff
push eax
mov ecx, ebx
call fcn.0046dd60
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 1
push 0
mov eax, 0x4a596c
push 0xffffffffffffffff
push eax
mov ecx, ebx
call fcn.0046dd60
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edx, dword [esi]
push 0xfffffffffffffff0
push edx
call dword [sym.imp.USER32.dll_GetWindowLongW]
test al, 2
je 0x45e780
mov ecx, dword [esi]
lea eax, [esp + 0x24]
push eax
push 0
push 0x1005
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
lea eax, [esp + 0x24]
lea esi, [esp + 0x60]
call fcn.0046b070
mov edx, 0x2d
lea eax, [esp + 0x34]
lea esi, [esp + 0x72]
mov word [esp + 0x70], dx
call fcn.0046b070
push 1
push 0
push 0x11
lea eax, [esp + 0x6c]
push eax
mov ecx, ebx
call fcn.0046dd60
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edx, dword [esi]
lea ecx, [esp + 0x24]
push ecx
push 0
push 0x1001
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
lea eax, [esp + 0x24]
lea esi, [esp + 0x60]
call fcn.0046b070
push 1
push 0
push 8
push eax
mov ecx, ebx
call fcn.0046dd60
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esi]
lea eax, [esp + 0x60]
push eax
push 0
push 0
push 0x402
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
push eax
call fcn.00460cf0
add esp, 8
push 1
push 0
push 0xffffffffffffffff
lea edx, [esp + 0x6c]
push edx
mov ecx, ebx
call fcn.0046dd60
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push str.Text
push edi
call fcn.00486339
add esp, 8
test eax, eax
je case.0x45e81f.12
movzx eax, byte [esi + 4]
dec eax
cmp eax, 0x12
ja case.0x45e81f.12
movzx eax, byte [eax + 0x45ee8c]
jmp dword [eax*4 + 0x45ee70]
mov ecx, dword [esi]
push 0
push 0
push pe_nt_image_headers32
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
sub eax, 0
je 0x45e884
dec eax
je 0x45e869
dec eax
je 0x45e84e
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 1
push 0
push 0xffffffffffffffff
push 0x49fa34
mov ecx, ebx
call fcn.0046dd60
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 1
push 0
push 0xffffffffffffffff
push 0x49e30c
mov ecx, ebx
call fcn.0046dd60
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 1
push 0
push 0xffffffffffffffff
push 0x49b8d0
mov ecx, ebx
call fcn.0046dd60
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
test byte [esi + 5], 2
je case.0x45e81f.12
mov edx, dword [esi]
push 0
push 0
push 0x147
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
cmp eax, 0xffffffff
je 0x45e9f9
inc eax
cdq
push 0x18
push edx
push eax
mov eax, ebx
call fcn.004010e0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi]
push 0
push 0
push 0x147
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov edi, eax
cmp edi, 0xffffffff
jne 0x45e932
mov edx, dword [esi]
push 0x400
lea ecx, [esp + 0x64]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
je case.0x45e81f.12
mov ecx, dword [esi]
lea eax, [esp + 0x60]
push eax
push edi
push 0x158
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov edi, eax
cmp edi, 0xffffffff
je case.0x45e81f.12
test byte [esi + 5], 2
je 0x45e955
lea eax, [edi + 1]
cdq
push 0x18
push edx
push eax
mov eax, ebx
call fcn.004010e0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edx, dword [esi]
push 0
push edi
push 0x149
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
push 1
mov ecx, ebx
push 0
cmp eax, 0xffffffff
jne 0x45e983
push 0xffffffffffffffff
push 0
call fcn.0046dd60
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push eax
push 0
call fcn.0046dd60
cmp eax, 1
jne 0x45e843
push 0
push eax
mov ecx, ebx
call fcn.00401240
push eax
mov eax, dword [esi]
push edi
push 0x148
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
cmp eax, 0xffffffff
jne 0x45ee12
cmp byte [ebx + 0x17], 0
jne 0x45e9c2
mov eax, dword [ebx + 0xc]
jmp 0x45e9c4
mov eax, ebx
cmp byte [eax + 0x17], 2
jne 0x45e9f5
cmp dword [0x4c3158], 0
je 0x45e9f5
mov ecx, 0x4c314c
call fcn.00403d50
push 1
push 0
push 0xffffffffffffffff
push 0
mov ecx, ebx
call fcn.0046dd60
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
and byte [eax + 0x15], 0x86
push 1
push 0
push 0xffffffffffffffff
push 0
mov ecx, ebx
call fcn.0046dd60
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esi]
push 0xfffffffffffffff0
push ecx
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov edx, dword [esi]
push 0
push 0
test eax, 0x808
je 0x45ec3f
push 0x190
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
mov edi, eax
cmp edi, 1
jl 0x45e9f9
lea eax, [edi*4]
push eax
call fcn.004863c4
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
je 0x45e9f9
mov edx, dword [esi]
mov ecx, eax
push ecx
push edi
push 0x191
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [esp + 0x1c], eax
cmp eax, 1
jge 0x45ea98
mov eax, dword [esp + 0x14]
push eax
call fcn.00487975
add esp, 4
push 1
push 0
push 0xffffffffffffffff
push 0
mov ecx, ebx
call fcn.0046dd60
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, eax
xor edi, edi
test byte [esi + 5], 2
lea eax, [ecx - 1]
mov dword [esp + 0x10], eax
je 0x45eb80
test ecx, ecx
jle 0x45eaea
mov edx, dword [esp + 0x14]
mov eax, dword [edx + edi*4]
push 0xa
lea ecx, [esp + 0x64]
push ecx
inc eax
push eax
call fcn.004860b5
lea eax, [esp + 0x6c]
add esp, 0xc
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x45ead0
sub eax, edx
sar eax, 1
add dword [esp + 0x10], eax
inc edi
cmp edi, dword [esp + 0x1c]
jl 0x45eab1
mov edx, dword [esp + 0x10]
push 1
push 0
push edx
push 0
mov ecx, ebx
call fcn.0046dd60
cmp eax, 1
jne 0x45e843
push 0
push eax
mov ecx, ebx
call fcn.00401240
test byte [esi + 5], 2
mov edi, eax
je 0x45ebc7
xor esi, esi
cmp dword [esp + 0x1c], esi
jle 0x45ec29
test esi, esi
je 0x45eb38
mov eax, dword [ebp + 8]
mov cx, word [eax + 0x44]
mov word [edi], cx
add edi, 2
mov edx, dword [esp + 0x14]
mov eax, dword [edx + esi*4]
push 0xa
inc eax
push edi
push eax
call fcn.004860b5
mov eax, edi
add esp, 0xc
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x45eb51
sub eax, edx
sar eax, 1
inc esi
lea edi, [edi + eax*2]
cmp esi, dword [esp + 0x1c]
jl 0x45eb27
mov ecx, dword [esp + 0x14]
push ecx
call fcn.00487975
mov edi, dword [esp + 0x14]
add esp, 4
jmp 0x45ee14
test ecx, ecx
jle 0x45eaea
jmp 0x45eb90
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + edi*4]
mov eax, dword [esi]
push 0
push edx
push 0x18a
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
cmp eax, 0xffffffff
je 0x45ebbd
add dword [esp + 0x10], eax
inc edi
cmp edi, dword [esp + 0x1c]
jl 0x45eb90
jmp 0x45eaea
mov ecx, dword [esp + 0x14]
push ecx
jmp 0x45ea78
mov ecx, dword [esp + 0x1c]
lea eax, [ecx - 1]
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], 0
test ecx, ecx
jle 0x45ec29
mov edi, edi
cmp dword [esp + 0x18], 0
je 0x45ebf4
mov ecx, dword [ebp + 8]
mov dx, word [ecx + 0x44]
mov word [edi], dx
add edi, 2
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [eax + ecx*4]
mov eax, dword [esi]
push edi
push edx
push 0x189
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
jle 0x45ec1a
add dword [esp + 0x10], eax
lea edi, [edi + eax*2]
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esp + 0x1c]
jl 0x45ebe0
mov ecx, dword [esp + 0x14]
push ecx
call fcn.00487975
add esp, 4
mov edi, dword [esp + 0x10]
jmp 0x45ee14
push 0x188
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
mov edi, eax
cmp edi, 0xffffffff
je 0x45e9f9
test byte [esi + 5], 2
jne 0x45e938
mov eax, dword [esi]
push 0
push edi
push 0x18a
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 1
mov ecx, ebx
push 0
cmp eax, 0xffffffff
je 0x45e971
push eax
push 0
call fcn.0046dd60
cmp eax, 1
jne 0x45e843
push 0
push eax
mov ecx, ebx
call fcn.00401240
mov ecx, dword [esi]
push eax
push edi
push 0x189
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [esp + 0x10], eax
cmp eax, 0xffffffff
jne 0x45ec36
cmp byte [ebx + 0x17], 0
jne 0x45e9c2
mov eax, dword [ebx + 0xc]
jmp 0x45e9c4
mov edx, dword [esi]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0
push 0x130b
push edx
call edi
cmp eax, 0xffffffff
je 0x45e9f9
test byte [esi + 5], 2
jne 0x45e8c4
lea edx, [esp + 0x44]
push edx
push eax
mov eax, dword [esi]
push 0x133c
lea ecx, [esp + 0x6c]
push eax
mov dword [esp + 0x54], 1
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], 0x3ff
call edi
push 1
push 0
push 0xffffffffffffffff
test eax, eax
je 0x45e9ff
mov ecx, dword [esp + 0x5c]
push ecx
mov ecx, ebx
call fcn.0046dd60
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp byte [esp + 0x23], 0
jne 0x45ee4a
mov edx, dword [esi]
push edx
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
push 1
push 0
mov edi, eax
push edi
push 0
mov ecx, ebx
call fcn.0046dd60
cmp eax, 1
jne 0x45e843
inc edi
push edi
push 0
push eax
mov ecx, ebx
call fcn.00401240
push eax
mov eax, dword [esi]
push eax
call dword [sym.imp.USER32.dll_GetWindowTextW]
cmp byte [ebx + 0x17], 0
mov dword [esp + 0x18], eax
jne 0x45ed8a
mov edi, dword [ebx + 0xc]
jmp 0x45ed8c
mov edi, ebx
cmp byte [edi + 0x17], 1
jne 0x45eda8
test byte [edi + 0x15], 8
je 0x45eda3
mov eax, edi
call fcn.00401160
mov eax, dword [esp + 0x18]
add edi, 0xc
jmp 0x45edad
mov edi, 0x4c3fd4
lea ecx, [eax + eax]
mov dword [edi], ecx
test eax, eax
jne 0x45edc7
push eax
push 1
mov ecx, ebx
call fcn.00401240
xor edx, edx
mov word [eax], dx
jmp 0x45ee1b
cmp byte [esi + 4], 0xc
jne 0x45ee1b
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
push 0x4a53dc
push 0x4a47f0
push 0
push 1
mov ecx, ebx
call fcn.00401240
push eax
xor eax, eax
call fcn.0046baa0
add esp, 0x1c
push 0
push 1
mov ecx, ebx
call fcn.00401240
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x45ee03
sub eax, edx
sar eax, 1
mov edi, eax
mov eax, ebx
call fcn.00412a20
cmp byte [ebx + 0x17], 0
jne 0x45ee24
mov ebx, dword [ebx + 0xc]
cmp byte [ebx + 0x17], 2
jne 0x45ee46
cmp dword [0x4c3158], 0
je 0x45ee46
mov ecx, 0x4c314c
call fcn.00403d50
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
and byte [ebx + 0x15], 0x86
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret 4