Function at 0x46c210
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x854
push ebx
push esi
mov esi, dword [ebp + 0x10]
push edi
push str.Submit
push esi
mov dword [esp + 0x48], ecx
call fcn.00499643
mov edi, dword [ebp + 0xc]
add esp, 8
test eax, eax
sete bl
movzx eax, byte [edi + 4]
add eax, 0xfffffff3
cmp eax, 5
ja case.default.0x46c24c
jmp dword [eax*4 + 0x46cd84]
cmp byte [edi + 5], 0
mov eax, dword [edi]
push 0
push 0
jge 0x46c26f
push 0x472
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov edi, eax
jmp 0x46c27e
push 0x468
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
movsx edi, ax
mov esi, dword [ebp + 8]
cmp byte [esi + 0x17], 0
jne 0x46c28a
mov esi, dword [esi + 0xc]
mov cl, byte [esi + 0x15]
test cl, 2
je 0x46c2a3
and cl, 0x3d
mov byte [esi + 0x15], cl
mov eax, dword [esi]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov cl, byte [esi + 0x15]
mov eax, edi
cdq
and cl, 0x9b
mov dword [esi], eax
or cl, 0x18
mov dword [esi + 4], edx
mov byte [esi + 0x15], cl
jge 0x46cbde
mov ecx, esi
call fcn.00401330
and byte [esi + 0x15], 0x8f
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0
push 0x400
push dword [edi]
call esi
cmp byte [edi + 5], 0
mov ebx, eax
jge 0x46c313
push 0
push 0
push 0x402
push dword [edi]
call esi
push 0
push 0
push 0x401
push dword [edi]
mov esi, eax
sub esi, ebx
call dword [sym.imp.USER32.dll_SendMessageW]
lea ebx, [esi + eax]
mov esi, dword [ebp + 8]
cmp byte [esi + 0x17], 0
jne 0x46c31f
mov esi, dword [esi + 0xc]
mov cl, byte [esi + 0x15]
test cl, 2
je 0x46c338
and cl, 0x3d
mov byte [esi + 0x15], cl
mov ecx, dword [esi]
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
mov cl, byte [esi + 0x15]
mov eax, ebx
jmp 0x46c2a5
test bl, bl
jne 0x46cd73
push 0
push 0
push 0x408
push dword [edi]
call dword [sym.imp.USER32.dll_SendMessageW]
mov edi, eax
jmp 0x46c27e
lea eax, [esp + 0x20]
push eax
push 0
push 0x1001
push dword [edi]
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
jne 0x46c3cc
movzx eax, word [esp + 0x2c]
push eax
movzx eax, word [esp + 0x2e]
push eax
movzx eax, word [esp + 0x30]
push eax
movzx eax, word [esp + 0x32]
push eax
movzx eax, word [esp + 0x32]
push eax
movzx eax, word [esp + 0x34]
push eax
lea eax, [esp + 0x78]
push str._04d_02d_02d_02d_02d_02d
push eax
call fcn.00405270
mov ecx, dword [ebp + 8]
lea eax, [esp + 0x80]
add esp, 0x20
push 1
push 0
push 0xffffffffffffffff
push eax
call fcn.0047faa0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [ebp + 8]
mov eax, 0x4b70dc
push 1
push 0
push 0xffffffffffffffff
push eax
call fcn.0047faa0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 0xfffffffffffffff0
push dword [edi]
call dword [sym.imp.USER32.dll_GetWindowLongW]
lea ecx, [esp + 0x20]
and eax, 2
mov eax, dword [edi]
push ecx
push 0
je 0x46c4a9
push 0x1005
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
movzx eax, word [esp + 0x2c]
push eax
movzx eax, word [esp + 0x2e]
push eax
movzx eax, word [esp + 0x30]
push eax
movzx eax, word [esp + 0x32]
push eax
movzx eax, word [esp + 0x32]
push eax
movzx eax, word [esp + 0x34]
push eax
lea eax, [esp + 0x78]
push str._04d_02d_02d_02d_02d_02d
push eax
call fcn.00405270
mov eax, 0x2d
mov word [esp + 0x90], ax
movzx eax, word [esp + 0x5c]
push eax
movzx eax, word [esp + 0x5e]
push eax
movzx eax, word [esp + 0x60]
push eax
movzx eax, word [esp + 0x62]
push eax
movzx eax, word [esp + 0x62]
push eax
movzx eax, word [esp + 0x64]
push eax
lea eax, [esp + 0xaa]
push str._04d_02d_02d_02d_02d_02d
push eax
call fcn.00405270
mov ecx, dword [ebp + 8]
lea eax, [esp + 0xa0]
add esp, 0x40
push 1
push 0
push 0x11
push eax
call fcn.0047faa0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 0x1001
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
movzx eax, word [esp + 0x2c]
push eax
movzx eax, word [esp + 0x2e]
push eax
movzx eax, word [esp + 0x30]
push eax
movzx eax, word [esp + 0x32]
push eax
movzx eax, word [esp + 0x32]
push eax
movzx eax, word [esp + 0x34]
push eax
lea eax, [esp + 0x78]
push str._04d_02d_02d_02d_02d_02d
push eax
call fcn.00405270
mov ecx, dword [ebp + 8]
lea eax, [esp + 0x80]
add esp, 0x20
push 1
push 0
push 8
push eax
call fcn.0047faa0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 0
push 0
push 0x402
push dword [edi]
call dword [sym.imp.USER32.dll_SendMessageW]
movzx ebx, ax
mov eax, ebx
shr eax, 8
mov cl, al
and cl, 1
je 0x46c534
mov edx, 0x2b
mov word [esp + 0x60], dx
test cl, cl
lea esi, [esp + 0x60]
lea edx, [esp + 0x62]
cmovne esi, edx
test al, 2
je 0x46c550
mov ecx, 0x5e
mov word [esi], cx
add esi, 2
test al, 4
je 0x46c55f
mov ecx, 0x21
mov word [esi], cx
add esi, 2
test al, 8
je 0x46c5e0
mov dl, 1
mov cl, bl
call fcn.00414720
movzx edi, ax
test di, di
je 0x46c5e0
xor dl, dl
mov cl, bl
call fcn.00414720
movzx ecx, ax
test edi, 0x100
mov eax, edi
cmovne ecx, eax
movzx ecx, cx
test ecx, 0x100
je 0x46c5e0
xor eax, eax
nop dword [eax + eax]
cmp word [eax*8 + 0x4d98ec], cx
je 0x46c5c3
inc eax
cmp eax, 0xd
jl 0x46c5a0
push ecx
push str.sc_03X
push 0x64
push esi
call fcn.0047c9c0
add esp, 0x10
jmp 0x46c5f0
push 0x63
push dword [eax*8 + 0x4d98e8]
push esi
call fcn.004a1eb4
add esp, 0xc
xor eax, eax
mov word [esi + 0xc6], ax
jmp 0x46c5f0
push 1
push 0x64
mov edx, esi
mov cl, bl
call fcn.00413ed0
add esp, 8
mov ecx, dword [ebp + 8]
lea eax, [esp + 0x60]
push 1
push 0
push 0xffffffffffffffff
push eax
call fcn.0047faa0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 0x4cae84
push esi
call fcn.00499643
add esp, 8
test eax, eax
je case.0x46c637.12
movzx eax, byte [edi + 4]
dec eax
cmp eax, 0x16
ja case.0x46c637.12
movzx eax, byte [eax + 0x46cdbc]
jmp dword [eax*4 + 0x46cd9c]
push 0
push 0
push 0xf0
push dword [edi]
call dword [sym.imp.USER32.dll_SendMessageW]
sub eax, 0
je 0x46c699
sub eax, 1
je 0x46c67d
sub eax, 1
jne 0x46cc63
mov ecx, dword [ebp + 8]
push 1
push eax
push 0xffffffffffffffff
push 0x4ca368
call fcn.0047faa0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [ebp + 8]
push 1
push 0
push 0xffffffffffffffff
push 0x4ca34c
call fcn.0047faa0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [ebp + 8]
push 1
push 0
push 0xffffffffffffffff
push 0x4b716c
call fcn.0047faa0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
test byte [edi + 5], 2
je case.0x46c637.12
push 0
push 0
push 0x147
push dword [edi]
call dword [sym.imp.USER32.dll_SendMessageW]
mov edi, eax
cmp edi, 0xffffffff
je 0x46c908
mov esi, dword [ebp + 8]
cmp byte [esi + 0x17], 0
jne 0x46c6e7
mov esi, dword [esi + 0xc]
mov cl, byte [esi + 0x15]
test cl, 2
je 0x46c700
mov eax, dword [esi]
and cl, 0x3d
mov byte [esi + 0x15], cl
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov cl, byte [esi + 0x15]
lea eax, [edi + 1]
jmp 0x46c2a5
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0
push 0x147
push dword [edi]
call esi
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x46c756
push 0x400
lea eax, [esp + 0x64]
push eax
push dword [edi]
call dword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
je case.0x46c637.12
lea eax, [esp + 0x60]
push eax
push ebx
push 0x158
push dword [edi]
call esi
mov ebx, eax
cmp ebx, 0xffffffff
je case.0x46c637.12
test byte [edi + 5], 2
je 0x46c789
mov esi, dword [ebp + 8]
cmp byte [esi + 0x17], 0
jne 0x46c768
mov esi, dword [esi + 0xc]
mov cl, byte [esi + 0x15]
test cl, 2
je 0x46c781
and cl, 0x3d
mov byte [esi + 0x15], cl
mov eax, dword [esi]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov cl, byte [esi + 0x15]
lea eax, [ebx + 1]
jmp 0x46c2a5
push 0
push ebx
push 0x149
push dword [edi]
call esi
push 1
push 0
cmp eax, 0xffffffff
je 0x46c90c
mov esi, dword [ebp + 8]
mov ecx, esi
push eax
push 0
call fcn.0047faa0
cmp eax, 1
jne 0x46cc63
push 0
push eax
mov ecx, esi
call fcn.004014c0
push eax
push ebx
push 0x148
push dword [edi]
call dword [sym.imp.USER32.dll_SendMessageW]
mov cl, byte [esi + 0x17]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x46c834
test cl, cl
jne 0x46c7e4
mov eax, dword [esi + 0xc]
jmp 0x46c7e6
mov eax, esi
cmp byte [eax + 0x17], 2
jne 0x46c818
cmp dword [0x4de7ec], 0
je 0x46c818
push ecx
mov ecx, 0x4de7e0
call fcn.00405590
push 1
push 0
push 0xffffffffffffffff
push 0
mov ecx, esi
call fcn.0047faa0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
and byte [eax + 0x15], 0x86
mov ecx, esi
push 1
push 0
push 0xffffffffffffffff
push 0
call fcn.0047faa0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
test cl, cl
jne 0x46c83d
mov edi, dword [esi + 0xc]
jmp 0x46c83f
mov edi, esi
cmp byte [edi + 0x17], 1
jne 0x46c857
test byte [edi + 0x15], 8
je 0x46c852
mov ecx, edi
call fcn.00401330
add edi, 0xc
jmp 0x46c85c
mov edi, 0x4df418
lea eax, [ebx + ebx]
mov dword [edi], eax
cmp byte [esi + 0x17], 0
jne 0x46c86a
mov esi, dword [esi + 0xc]
cmp byte [esi + 0x17], 2
jne 0x46c88d
cmp dword [0x4de7ec], 0
je 0x46c88d
push ecx
mov ecx, 0x4de7e0
call fcn.00405590
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
and byte [esi + 0x15], 0x86
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 0xfffffffffffffff0
push dword [edi]
call dword [sym.imp.USER32.dll_GetWindowLongW]
and eax, 0x808
mov eax, dword [edi]
push 0
push 0
je 0x46ca8c
push 0x190
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov ebx, eax
cmp ebx, 1
jl 0x46c908
lea eax, [ebx*4]
push eax
call fcn.004997ae
mov esi, eax
add esp, 4
mov dword [esp + 0x14], esi
test esi, esi
je 0x46c908
push esi
push ebx
push 0x191
push dword [edi]
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [esp + 0x18], eax
cmp eax, 1
jge 0x46c921
push esi
call fcn.0049b8d4
add esp, 4
push 1
push 0
mov ecx, dword [ebp + 8]
push 0xffffffffffffffff
push 0
call fcn.0047faa0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
dec eax
test byte [edi + 5], 2
mov dword [esp + 0x1c], eax
mov ebx, eax
je 0x46c971
xor edi, edi
push 0xa
lea eax, [esp + 0x64]
push eax
mov eax, dword [esi + edi*4]
inc eax
push eax
call fcn.0049956a
lea ecx, [esp + 0x6c]
add esp, 0xc
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x46c950
sub ecx, edx
inc edi
sar ecx, 1
add ebx, ecx
cmp edi, dword [esp + 0x18]
jl 0x46c930
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x10], ebx
jmp 0x46c99f
xor esi, esi
mov eax, dword [esp + 0x14]
push 0
push dword [eax + esi*4]
push 0x18a
push dword [edi]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp eax, 0xffffffff
je 0x46ca83
add ebx, eax
inc esi
mov dword [esp + 0x10], ebx
cmp esi, dword [esp + 0x18]
jl 0x46c973
mov esi, dword [ebp + 8]
mov ecx, esi
push 1
push 0
push ebx
push 0
call fcn.0047faa0
cmp eax, 1
jne 0x46cc63
push 0
push eax
mov ecx, esi
call fcn.004014c0
test byte [edi + 5], 2
mov esi, eax
je 0x46ca1b
mov ebx, dword [esp + 0x14]
xor edi, edi
test edi, edi
je 0x46c9e3
mov eax, dword [esp + 0x40]
mov ax, word [eax + 0x46]
mov word [esi], ax
add esi, 2
mov eax, dword [ebx + edi*4]
push 0xa
inc eax
push esi
push eax
call fcn.0049956a
mov ecx, esi
add esp, 0xc
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x46ca00
sub ecx, edx
inc edi
sar ecx, 1
lea esi, [esi + ecx*2]
cmp edi, dword [esp + 0x18]
jl 0x46c9d1
jmp 0x46ca5e
mov eax, dword [esp + 0x1c]
xor ebx, ebx
mov dword [esp + 0x10], eax
test ebx, ebx
je 0x46ca37
mov eax, dword [esp + 0x40]
mov ax, word [eax + 0x46]
mov word [esi], ax
add esi, 2
mov eax, dword [esp + 0x14]
push esi
push dword [eax + ebx*4]
push 0x189
push dword [edi]
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
jle 0x46ca57
add dword [esp + 0x10], eax
lea esi, [esi + eax*2]
inc ebx
cmp ebx, dword [esp + 0x18]
jl 0x46ca25
push dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
call fcn.0049b8d4
mov esi, dword [ebp + 8]
add esp, 4
cmp byte [esi + 0x17], 0
jne 0x46cb14
mov edi, dword [esi + 0xc]
jmp 0x46cb16
push dword [esp + 0x14]
jmp 0x46c900
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push 0x188
push eax
call esi
mov ebx, eax
cmp ebx, 0xffffffff
je 0x46c908
test byte [edi + 5], 2
jne 0x46c75c
push 0
push ebx
push 0x18a
push dword [edi]
call esi
push 1
push 0
cmp eax, 0xffffffff
je 0x46c90c
mov esi, dword [ebp + 8]
mov ecx, esi
push eax
push 0
call fcn.0047faa0
cmp eax, 1
jne 0x46cc63
push 0
push eax
mov ecx, esi
call fcn.004014c0
push eax
push ebx
push 0x189
push dword [edi]
call dword [sym.imp.USER32.dll_SendMessageW]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x46ca71
cmp byte [esi + 0x17], 0
jne 0x46c7e4
mov eax, dword [esi + 0xc]
jmp 0x46c7e6
mov edi, esi
cmp byte [edi + 0x17], 1
jne 0x46cb2e
test byte [edi + 0x15], 8
je 0x46cb29
mov ecx, edi
call fcn.00401330
add edi, 0xc
jmp 0x46cb33
mov edi, 0x4df418
lea eax, [ebx + ebx]
mov dword [edi], eax
cmp byte [esi + 0x17], 0
jne 0x46cb41
mov esi, dword [esi + 0xc]
cmp byte [esi + 0x17], 2
jne 0x46c88d
cmp dword [0x4de7ec], 0
je 0x46c88d
push ecx
mov ecx, 0x4de7e0
call fcn.00405590
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0
push 0x130b
push dword [edi]
call esi
mov ebx, eax
cmp ebx, 0xffffffff
je 0x46c908
test byte [edi + 5], 2
jne 0x46c75c
lea eax, [esp + 0x60]
mov dword [esp + 0x44], 1
mov dword [esp + 0x50], eax
lea eax, [esp + 0x44]
push eax
push ebx
push 0x133c
push dword [edi]
mov dword [esp + 0x64], 0x3ff
call esi
mov ecx, dword [ebp + 8]
push 1
push 0
push 0xffffffffffffffff
test eax, eax
je 0x46c911
push dword [esp + 0x5c]
call fcn.0047faa0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp dword [0x4dc430], 0
je 0x46cd73
mov ecx, esi
call fcn.00401330
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
test bl, bl
jne 0x46cd73
mov ecx, dword [edi]
call fcn.0045cd80
mov ecx, dword [ebp + 8]
test eax, eax
je 0x46cc25
push eax
call fcn.0047fe00
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 1
push 0
push 0xffffffffffffffff
push 0
call fcn.0047faa0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
test bl, bl
jne 0x46cd73
push dword [edi]
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
mov ebx, dword [ebp + 8]
mov esi, eax
push 1
push 0
push esi
push 0
mov ecx, ebx
call fcn.0047faa0
cmp eax, 1
je 0x46cc6e
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
lea eax, [esi + 1]
mov ecx, ebx
push eax
push 0
push 1
call fcn.004014c0
push eax
push dword [edi]
call dword [sym.imp.USER32.dll_GetWindowTextW]
cmp byte [ebx + 0x17], 0
mov ecx, eax
mov dword [esp + 0x1c], ecx
jne 0x46cc97
mov esi, dword [ebx + 0xc]
jmp 0x46cc99
mov esi, ebx
cmp byte [esi + 0x17], 1
jne 0x46ccb5
test byte [esi + 0x15], 8
je 0x46ccb0
mov ecx, esi
call fcn.00401330
mov ecx, dword [esp + 0x1c]
add esi, 0xc
jmp 0x46ccba
mov esi, 0x4df418
lea eax, [ecx + ecx]
mov dword [esi], eax
test ecx, ecx
jne 0x46ccd7
push ecx
push 1
mov ecx, ebx
call fcn.004014c0
xor ecx, ecx
mov word [eax], cx
jmp 0x46cd53
cmp byte [edi + 4], 0xc
jne 0x46cd53
push 0
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
push 0x4d1dc4
push 0
push 1
mov ecx, ebx
call fcn.004014c0
mov edx, 0x4d12e8
mov ecx, eax
call fcn.0047d1b0
add esp, 0x18
mov ecx, ebx
push 0
push 1
call fcn.004014c0
mov esi, eax
lea eax, [esi + 2]
mov cx, word [esi]
add esi, 2
test cx, cx
jne 0x46cd16
sub esi, eax
sar esi, 1
cmp byte [ebx + 0x17], cl
jne 0x46cd2f
mov edi, dword [ebx + 0xc]
jmp 0x46cd31
mov edi, ebx
cmp byte [edi + 0x17], 1
jne 0x46cd49
test byte [edi + 0x15], 8
je 0x46cd44
mov ecx, edi
call fcn.00401330
add edi, 0xc
jmp 0x46cd4e
mov edi, 0x4df418
lea eax, [esi + esi]
mov dword [edi], eax
cmp byte [ebx + 0x17], 0
jne 0x46cd5c
mov ebx, dword [ebx + 0xc]
cmp byte [ebx + 0x17], 2
jne 0x46cd6f
cmp dword [0x4de7ec], 0
jne 0x46c879
and byte [ebx + 0x15], 0x86
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret 0xc