Function at 0x1400c2a90
Capabilities:
Get graphical window text

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x948
lea rbp, [rsp + 0x40]
mov rbx, rdx
lea rsi, [0x1401035ac]
lea rdx, str.Submit
mov rcx, rsi
mov r13, r8
call qword [sym.imp.MSVCR100.dll__wcsicmp]
mov rdi, qword [r13 + 0x50]
test eax, eax
lea rax, [rbp + 0xd8]
mov qword [rbp + 0xd8], rdi
sete r14b
mov qword [rbp], rax
or rcx, 0xffffffffffffffff
xor r12d, r12d
lea rax, [rbp + 0x10]
mov qword [rbp + 8], rax
xor eax, eax
mov dword [rbp + 0xe8], r12d
repne scasw ax, word [rdi]
movzx eax, byte [r13 + 8]
mov dword [rbp + 0x20], 1
not rcx
add eax, 0xfffffff3
mov qword [rbp + 0x18], 0xffffffffffffffff
dec rcx
mov qword [rbp + 0x10], r12
lea rdi, [0x140000000]
mov qword [rbp + 0xe0], rcx
cmp eax, 5
ja case.default.0x1400c2b4a
cdqe
mov ecx, dword [rdi + rax*4 + 0xc36e8]
add rcx, rdi
jmp rcx
mov rcx, qword [r13]
xor r9d, r9d
xor r8d, r8d
test byte [r13 + 9], 0x80
je 0x1400c2b74
mov edx, 0x472
call qword [sym.imp.USER32.dll_SendMessageW]
movsxd rcx, eax
mov qword [rbp + 0x10], rcx
jmp 0x1400c36a9
mov edx, 0x468
call qword [sym.imp.USER32.dll_SendMessageW]
movsx rcx, ax
mov qword [rbp + 0x10], rcx
jmp 0x1400c36a9
mov rcx, qword [r13]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x400
call qword [sym.imp.USER32.dll_SendMessageW]
mov rcx, r13
mov rdx, rax
call fcn.1400c6b30
movsxd rcx, eax
mov qword [rbp + 0x10], rcx
jmp 0x1400c36a9
test r14b, r14b
je 0x1400c2bc7
mov eax, 1
jmp 0x1400c36d1
mov rcx, qword [r13]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x408
call qword [sym.imp.USER32.dll_SendMessageW]
movsxd rcx, eax
mov qword [rbp + 0x10], rcx
jmp 0x1400c36a9
mov rcx, qword [r13]
lea r9, [rbp + 0x78]
xor r8d, r8d
mov edx, 0x1001
call qword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
jne 0x1400c2c50
movzx ecx, word [rbp + 0x82]
movzx edx, word [rbp + 0x80]
movzx eax, word [rbp + 0x84]
movzx edi, word [rbp + 0x7e]
movzx r9d, word [rbp + 0x7a]
movzx r8d, word [rbp + 0x78]
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], edx
lea rdx, str._04d_02d_02d_02d_02d_02d
lea rcx, [rbp + 0x100]
mov dword [rsp + 0x20], edi
call qword [sym.imp.MSVCR100.dll__swprintf]
lea rsi, [rbp + 0x100]
mov dword [rbp + 0x20], r12d
mov qword [rbp + 0x10], rsi
jmp 0x1400c36a9
mov rcx, qword [r13]
mov edx, 0xfffffff0
mov dword [rbp + 0x20], r12d
call qword [sym.imp.USER32.dll_GetWindowLongW]
mov rcx, qword [r13]
xor r8d, r8d
lea r9, [rbp + 0x78]
test al, 2
je 0x1400c2d09
mov edx, 0x1005
call qword [sym.imp.USER32.dll_SendMessageW]
movzx edx, word [rbp + 0x84]
movzx ecx, word [rbp + 0x80]
movzx eax, word [rbp + 0x82]
movzx edi, word [rbp + 0x7e]
movzx r9d, word [rbp + 0x7a]
movzx r8d, word [rbp + 0x78]
mov dword [rsp + 0x38], edx
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], ecx
lea rdx, str._04d_02d_02d_02d_02d_02d
lea rcx, [rbp + 0x100]
mov dword [rsp + 0x20], edi
call qword [sym.imp.MSVCR100.dll__swprintf]
mov edx, 0x2d
mov word [rbp + 0x110], dx
lea rcx, [rbp + 0x112]
lea rdx, [rbp + 0x88]
call fcn.1400e0310
mov word [rbp + 0x122], r12w
mov qword [rbp + 0x18], reloc.OLEAUT32.dll_SafeArrayGetElemsize
jmp 0x1400c36a9
mov edx, 0x1001
call qword [sym.imp.USER32.dll_SendMessageW]
movzx edx, word [rbp + 0x84]
movzx ecx, word [rbp + 0x80]
movzx eax, word [rbp + 0x82]
movzx edi, word [rbp + 0x7e]
movzx r9d, word [rbp + 0x7a]
movzx r8d, word [rbp + 0x78]
mov dword [rsp + 0x38], edx
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], ecx
lea rdx, str._04d_02d_02d_02d_02d_02d
lea rcx, [rbp + 0x100]
mov dword [rsp + 0x20], edi
call qword [sym.imp.MSVCR100.dll__swprintf]
mov word [rbp + 0x110], r12w
mov qword [rbp + 0x18], 8
jmp 0x1400c36a9
mov rcx, qword [r13]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x402
call qword [sym.imp.USER32.dll_SendMessageW]
lea rdx, [rbp + 0x100]
mov rcx, rax
call fcn.1400c68a0
mov dword [rbp + 0x20], r12d
jmp 0x1400c36a9
lea rdx, str.Text
mov rcx, rsi
call qword [sym.imp.MSVCR100.dll__wcsicmp]
test eax, eax
je case.0x1400c2dd1.12
movzx eax, byte [r13 + 8]
dec eax
cmp eax, 0x16
ja case.0x1400c2dd1.12
cdqe
mov ecx, dword [rdi + rax*4 + 0xc3700]
add rcx, rdi
jmp rcx
mov rcx, qword [r13]
xor r9d, r9d
xor r8d, r8d
mov edx, 0xf0
call qword [sym.imp.USER32.dll_SendMessageW]
test rax, rax
je 0x1400c36a9
dec rax
je 0x1400c2e0f
dec rax
je 0x1400c2e02
xor eax, eax
jmp 0x1400c36d1
mov qword [rbp + 0x10], 0xffffffffffffffff
jmp 0x1400c36a9
mov qword [rbp + 0x10], 1
jmp 0x1400c36a9
test byte [r13 + 9], 2
je case.0x1400c2dd1.12
mov rcx, qword [r13]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x147
call qword [sym.imp.USER32.dll_SendMessageW]
mov dword [rsp + 0x28], 2
mov r9d, 1
lea r8, [rbp + 0x30]
lea rdx, [rbp + 0x50]
cmp rax, 0xffffffffffffffff
jne 0x1400c2e65
mov dword [rbp + 0x20], r12d
mov qword [rbp + 0x10], rsi
jmp 0x1400c36bf
inc eax
movsxd rcx, eax
mov qword [rbp + 0x10], rcx
jmp 0x1400c36bf
mov rcx, qword [r13]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x147
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x1400c2ed6
mov rcx, qword [r13]
lea rdx, [rbp + 0x100]
mov r8d, 0x400
call qword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
je case.0x1400c2dd1.12
mov rcx, qword [r13]
lea r9, [rbp + 0x100]
or r8, rdi
mov edx, 0x158
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je case.0x1400c2dd1.12
test byte [r13 + 9], 2
je 0x1400c2eec
lea eax, [rdi + 1]
movsxd rcx, eax
mov qword [rbp + 0x10], rcx
jmp 0x1400c36a9
mov rcx, qword [r13]
xor r9d, r9d
mov r8, rdi
mov edx, 0x149
call qword [sym.imp.USER32.dll_SendMessageW]
mov dword [rbp + 0x20], r12d
mov qword [rbp + 0x10], rsi
cmp rax, 0xffffffffffffffff
je 0x1400c36a9
lea rax, [rax + rax + 2]
lea rdx, [rax + 0xf]
cmp rdx, rax
ja 0x1400c2f2b
movabs rdx, 0xffffffffffffff0
and rdx, 0xfffffffffffffff0
mov rax, rdx
call fcn.140100df0
sub rsp, rdx
lea r12, [rsp + 0x40]
test r12, r12
jne 0x1400c2f5f
mov r8, rsi
lea rdx, str.Out_of_memory.
lea rcx, [0x140143150]
call fcn.14005f7b0
jmp 0x1400c36d1
mov rcx, qword [r13]
mov r9, r12
mov r8, rdi
mov edx, 0x148
call qword [sym.imp.USER32.dll_SendMessageW]
lea rcx, [rbp]
mov dword [rsp + 0x28], 2
mov qword [rsp + 0x20], rcx
mov r9d, 1
lea r8, [rbp + 0x30]
mov rcx, rbx
lea rdx, [rbp + 0x50]
cmp rax, 0xffffffffffffffff
je 0x1400c36cb
mov qword [rbp + 0x10], r12
mov qword [rbp + 0x18], rax
jmp 0x1400c36cb
mov rcx, qword [r13]
mov edx, 0xfffffff0
mov dword [rbp + 0x20], r12d
mov qword [rbp + 0x10], rsi
call qword [sym.imp.USER32.dll_GetWindowLongW]
mov rcx, qword [r13]
xor r9d, r9d
xor r8d, r8d
test eax, 0x808
je 0x1400c320c
mov edx, 0x190
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdi, rax
cmp rax, 1
jl 0x1400c36a9
lea rcx, [rax*4]
call qword [sym.imp.MSVCR100.dll_malloc]
mov rsi, rax
mov qword [rbp + 0x960], rax
test rax, rax
je 0x1400c36a9
mov rcx, qword [r13]
mov r9, rax
mov r8, rdi
mov edx, 0x191
call qword [sym.imp.USER32.dll_SendMessageW]
mov r15, rax
cmp rax, 1
jge 0x1400c303e
mov rcx, rsi
call qword [sym.imp.MSVCR100.dll_free]
jmp 0x1400c36a9
test byte [r13 + 9], 2
lea rcx, [rax - 1]
mov r14, rcx
je 0x1400c30a2
mov rsi, r12
test rax, rax
jle 0x1400c30df
mov rbx, qword [rbp + 0x960]
nop
mov ecx, dword [rbx + rsi*4]
lea rdx, [rbp + 0x100]
mov r8d, 0xa
inc ecx
call qword [sym.imp.MSVCR100.dll__itow]
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rbp + 0x100]
inc rsi
repne scasw ax, word [rdi]
not rcx
dec rcx
add r14, rcx
cmp rsi, r15
jl 0x1400c3060
mov rbx, qword [rbp + 0x958]
jmp 0x1400c30db
mov rdi, r12
test rax, rax
jle 0x1400c30df
nop word [rax + rax]
movsxd r8, dword [rsi + rdi*4]
mov rcx, qword [r13]
xor r9d, r9d
mov edx, 0x18a
call qword [sym.imp.USER32.dll_SendMessageW]
cmp rax, 0xffffffffffffffff
je 0x1400c3030
inc rdi
add r14, rax
cmp rdi, r15
jl 0x1400c30b0
lea rcx, [r15 - 1]
lea rax, [r14 + r14 + 2]
lea rdx, [rax + 0xf]
cmp rdx, rax
ja 0x1400c30f7
movabs rdx, 0xffffffffffffff0
and rdx, 0xfffffffffffffff0
mov rax, rdx
call fcn.140100df0
sub rsp, rdx
lea rax, [rsp + 0x40]
mov qword [rbp + 0x968], rax
test rax, rax
jne 0x1400c3123
lea r8, [0x1401035ac]
jmp 0x1400c2f47
test byte [r13 + 9], 2
mov rsi, rax
je 0x1400c31b2
test r15, r15
jle 0x1400c318e
mov rbx, qword [rbp + 0x960]
mov r13, qword [rbp + 0x950]
test r12, r12
je 0x1400c3156
movzx eax, word [r13 + 0x6e]
add rsi, 2
mov word [rsi - 2], ax
mov ecx, dword [rbx + r12*4]
mov r8d, 0xa
mov rdx, rsi
inc ecx
call qword [sym.imp.MSVCR100.dll__itow]
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rsi
inc r12
repne scasw ax, word [rdi]
not rcx
lea rsi, [rsi + rcx*2 - 2]
cmp r12, r15
jl 0x1400c3144
mov rbx, qword [rbp + 0x958]
mov rdi, qword [rbp + 0x960]
mov rcx, rdi
call qword [sym.imp.MSVCR100.dll_free]
mov rax, qword [rbp + 0x968]
mov qword [rbp + 0x18], r14
mov qword [rbp + 0x10], rax
jmp 0x1400c36a9
mov r14, rcx
test r15, r15
jle 0x1400c318e
mov rdi, qword [rbp + 0x960]
mov rbx, qword [rbp + 0x950]
test r12, r12
je 0x1400c31d9
movzx eax, word [rbx + 0x6e]
add rsi, 2
mov word [rsi - 2], ax
movsxd r8, dword [rdi + r12*4]
mov rcx, qword [r13]
mov r9, rsi
mov edx, 0x189
call qword [sym.imp.USER32.dll_SendMessageW]
test rax, rax
jle 0x1400c31fb
add r14, rax
lea rsi, [rsi + rax*2]
inc r12
cmp r12, r15
jl 0x1400c31c8
mov rbx, qword [rbp + 0x958]
jmp 0x1400c3195
mov edx, 0x188
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x1400c36a9
test byte [r13 + 9], 2
je 0x1400c3240
inc eax
mov dword [rbp + 0x20], 1
movsxd rcx, eax
mov qword [rbp + 0x10], rcx
jmp 0x1400c36a9
mov rcx, qword [r13]
xor r9d, r9d
mov r8, rax
mov edx, 0x18a
call qword [sym.imp.USER32.dll_SendMessageW]
cmp rax, 0xffffffffffffffff
je 0x1400c36a9
lea rax, [rax + rax + 2]
lea rdx, [rax + 0xf]
cmp rdx, rax
ja 0x1400c3277
movabs rdx, 0xffffffffffffff0
and rdx, 0xfffffffffffffff0
mov rax, rdx
call fcn.140100df0
sub rsp, rdx
lea rax, [rsp + 0x40]
mov qword [rbp + 0x968], rax
test rax, rax
je 0x1400c2f44
mov rcx, qword [r13]
mov r9, rax
mov r8, rdi
mov edx, 0x189
call qword [sym.imp.USER32.dll_SendMessageW]
mov r14, rax
cmp rax, 0xffffffffffffffff
je 0x1400c36a9
mov rax, qword [rbp + 0x968]
mov qword [rbp + 0x18], r14
mov qword [rbp + 0x10], rax
jmp 0x1400c36a9
mov rcx, qword [r13]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x130b
mov dword [rbp + 0x20], r12d
mov qword [rbp + 0x10], rsi
call qword [sym.imp.USER32.dll_SendMessageW]
movsxd rcx, eax
cmp rcx, 0xffffffffffffffff
je 0x1400c36a9
test byte [r13 + 9], 2
je 0x1400c3318
lea eax, [rcx + 1]
mov dword [rbp + 0x20], 1
movsxd rcx, eax
mov qword [rbp + 0x10], rcx
jmp 0x1400c36a9
mov r8, rcx
mov rcx, qword [r13]
lea rax, [rbp + 0x100]
lea r9, [rbp + 0xb0]
mov edx, 0x133c
mov dword [rbp + 0xb0], 1
mov qword [rbp + 0xc0], rax
mov dword [rbp + 0xc8], 0x3ff
call qword [sym.imp.USER32.dll_SendMessageW]
lea rcx, [rbp]
mov dword [rsp + 0x28], 2
mov r9d, 1
mov qword [rsp + 0x20], rcx
lea r8, [rbp + 0x30]
lea rdx, [rbp + 0x50]
mov rcx, rbx
test eax, eax
je 0x1400c36cb
mov rax, qword [rbp + 0xc0]
mov qword [rbp + 0x10], rax
jmp 0x1400c36cb
test r14b, r14b
jne 0x1400c2bbd
mov rcx, qword [r13]
call fcn.1400ab390
lea rcx, [rbp]
mov dword [rsp + 0x28], 2
mov qword [rsp + 0x20], rcx
mov r9d, 1
lea r8, [rbp + 0x30]
mov rcx, rbx
lea rdx, [rbp + 0x50]
test rax, rax
je 0x1400c33d6
mov dword [rbp + 0x20], 6
mov qword [rbp + 0x10], rax
jmp 0x1400c36cb
mov dword [rbp + 0x20], r12d
mov qword [rbp + 0x10], rsi
jmp 0x1400c36cb
test r14b, r14b
jne 0x1400c2bbd
mov rcx, qword [r13]
call qword [sym.imp.USER32.dll_GetWindowTextLengthW]
mov dword [rbp + 0x968], eax
lea r8d, [rax + 1]
movsxd rcx, r8d
add rcx, rcx
lea rdx, [rcx + 0xf]
cmp rdx, rcx
ja 0x1400c3419
movabs rdx, 0xffffffffffffff0
and rdx, 0xfffffffffffffff0
mov rax, rdx
call fcn.140100df0
sub rsp, rdx
lea rax, [rsp + 0x40]
mov qword [rbp + 0x70], rax
test rax, rax
je 0x1400c2f44
mov rcx, qword [r13]
mov rdx, rax
mov dword [rbp + 0x20], r12d
mov qword [rbp + 0x10], rsi
call qword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
je 0x1400c36a9
cmp byte [r13 + 8], 0xc
jne 0x1400c3696
mov rdi, qword [rbp + 0x70]
or rcx, 0xffffffffffffffff
xor eax, eax
repne scasw ax, word [rdi]
mov rdi, qword [rbp + 0x70]
or r14d, 0xffffffff
not rcx
mov r13, r12
mov rsi, r12
dec rcx
mov qword [rbp + 0x98], r12
mov r15, rcx
mov qword [rbp + 0xa0], rcx
cmp word [rdi], ax
je 0x1400c3696
cmp rcx, 0x1388
jb 0x1400c362f
mov dword [rbp + 0x960], r12d
mov r15, rdi
nop word [rax + rax]
lea rdx, [0x140122ac8]
mov rcx, r15
call qword [sym.imp.MSVCR100.dll_wcsstr]
mov qword [rbp + 0xa8], rax
test rax, rax
je 0x1400c358e
mov edx, dword [rbp + 0x960]
mov rdi, rax
dec r14d
sub rdi, r15
inc edx
sar rdi, 1
mov dword [rbp + 0x960], edx
lea rcx, [rdi + rsi + 1]
cmp rcx, qword [rbp + 0x98]
jb 0x1400c3551
sub rax, qword [rbp + 0x70]
movsxd r9, dword [rbp + 0xa0]
movsxd rcx, ecx
sar rax, 1
mov r8d, r14d
cdqe
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
or rcx, 0xffffffffffffffff
call fcn.1400e1330
mov rcx, r13
lea rdx, [rax + rax]
mov qword [rbp + 0x98], rax
call qword [sym.imp.MSVCR100.dll_realloc]
test rax, rax
je 0x1400c35dc
mov r13, rax
test rdi, rdi
je 0x1400c356a
lea r8, [rdi + rdi]
lea rcx, [r13 + rsi*2]
mov rdx, r15
call sub.MSVCR100.dll_memcpy
add rsi, rdi
movzx eax, word [reloc.WSOCK32.dll_inet_addr]
mov r15, qword [rbp + 0xa8]
inc rsi
mov word [r13 + rsi*2 - 2], ax
add r15, 4
test r14d, r14d
jne 0x1400c34c0
mov eax, dword [rbp + 0x960]
test eax, eax
je 0x1400c3696
mov r14, qword [rbp + 0x70]
mov rdi, qword [rbp + 0xa0]
mov rax, r15
sub rax, r14
sar rax, 1
sub rdi, rax
je 0x1400c360e
lea rax, [rdi + rsi]
mov qword [rbp + 0x960], rax
cmp rax, qword [rbp + 0x98]
jb 0x1400c35f6
lea rdx, [rax + rax + 2]
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_realloc]
test rax, rax
jne 0x1400c35f3
test r13, r13
je 0x1400c3696
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_free]
jmp 0x1400c3696
mov r13, rax
lea r8, [rdi + rdi]
lea rcx, [r13 + rsi*2]
mov rdx, r15
call sub.MSVCR100.dll_memcpy
mov rsi, qword [rbp + 0x960]
lea r8, [rsi + rsi + 2]
mov rdx, r13
mov rcx, r14
mov word [r13 + rsi*2], r12w
call sub.MSVCR100.dll_memcpy
mov rcx, r13
call qword [sym.imp.MSVCR100.dll_free]
jmp 0x1400c3696
mov rsi, rdi
mov rbx, rdi
nop word [rax + rax]
lea rdx, [0x140122ac8]
mov rcx, rsi
call qword [sym.imp.MSVCR100.dll_wcsstr]
mov rdi, rax
test rax, rax
je 0x1400c368f
mov rcx, rax
lea rsi, [rax + 2]
mov r8, r15
sub rcx, rbx
lea rdx, [rax + 4]
sar rcx, 1
sub r8, rcx
mov rcx, rsi
lea r8, [r8 + r8 - 2]
call qword [sym.imp.MSVCR100.dll_memmove]
movzx eax, word [reloc.WSOCK32.dll_inet_addr]
dec r15
dec r14d
mov word [rdi], ax
jne 0x1400c3640
mov rbx, qword [rbp + 0x958]
mov rax, qword [rbp + 0x70]
mov qword [rbp + 0x10], rax
movsxd rax, dword [rbp + 0x968]
mov qword [rbp + 0x18], rax
mov dword [rsp + 0x28], 2
mov r9d, 1
lea r8, [rbp + 0x30]
lea rdx, [rbp + 0x50]
lea rcx, [rbp]
mov qword [rsp + 0x20], rcx
mov rcx, rbx
mov rax, qword [rbx]
call qword [rax + reloc.WSOCK32.dll_getservbyport]
lea rsp, [rbp + 0x908]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret