Function at 0x100038a80
Capabilities:
Get graphical window text

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x4f0
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov qword [rax + 0x20], rbx
mov rax, qword [0x1000a1108]
xor rax, rsp
mov qword [rsp + 0x4e0], rax
mov dword [rsp + 0x28], r9d
mov rbp, r8
mov r15, rdx
mov r14, rcx
mov r13, qword [rsp + 0x558]
mov r12, qword [rsp + 0x560]
xor ebx, ebx
cmp r13, rbx
jne 0x100038ae3
mov eax, 0x80004003
jmp 0x100039031
cmp r12, rbx
jne 0x100038af2
mov eax, 0x80004003
jmp 0x100039031
cmp r8, rbx
jne 0x100038b01
mov eax, 0x80004003
jmp 0x100039031
mov byte [r13], 1
mov byte [r12], bl
mov rdi, qword [r8]
cmp dword [rdi - 0xc], ebx
jl 0x100038b1e
mov qword [rsp + 0x20], rdi
lock add dword [rdi - 0xc], 1
jmp 0x100038b4c
mov rax, qword [0x1000a1180]
mov qword [rsp + 0x20], rax
cmp rdi, rbx
jne 0x100038b33
mov eax, ebx
jmp 0x100038b3c
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rdi
mov edx, eax
lea rcx, [rsp + 0x20]
call fcn.100016504
nop
mov edi, 0x105
mov edx, edi
mov rcx, rbp
call fcn.100016600
mov r8d, edi
mov rdx, rax
mov rcx, qword [r15]
call qword [sym.imp.USER32.dll_GetWindowTextW]
mov rcx, rbp
call fcn.1000166e4
mov rcx, qword [rbp]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov rcx, qword [rbp]
mov dword [rcx - 8], eax
movsxd rcx, eax
mov rax, qword [rbp]
mov word [rax + rcx*2], bx
mov eax, 0x5c
mov word [rsp + 0x4c8], ax
mov qword [rsp + 0x4d0], rbx
mov dword [rsp + 0x4d8], ebx
mov rdx, qword [rbp]
lea rcx, [rsp + 0x70]
call fcn.100017cc4
or rsi, 0xffffffffffffffff
cmp eax, ebx
je 0x100038e74
lea rdx, [0x100004220]
lea rcx, [rsp + 0x38]
call fcn.10001ea80
nop
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x70]
call fcn.10003a9e0
mov rdi, rax
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x70]
call fcn.100017ac8
nop
lea r8, [rsp + 0x38]
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.10003aa58
nop
mov r8, rdi
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.10003aa58
nop
mov rdx, rax
mov rcx, rbp
call fcn.10001c054
nop
mov rcx, qword [rsp + 0x58]
add rcx, 0xfffffffffffffff4
lea rdi, [0x1000a1170]
cmp rcx, rdi
je 0x100038c58
mov eax, esi
lock xadd dword [rcx], eax
add eax, esi
cmp eax, ebx
jg 0x100038c58
mov rcx, qword [rsp + 0x58]
add rcx, 0xfffffffffffffff4
call sub.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_
nop
mov rcx, qword [rsp + 0x40]
add rcx, 0xfffffffffffffff4
cmp rcx, rdi
je 0x100038c81
mov eax, esi
lock xadd dword [rcx], eax
add eax, esi
cmp eax, ebx
jg 0x100038c81
mov rcx, qword [rsp + 0x40]
add rcx, 0xfffffffffffffff4
call sub.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_
nop
mov rcx, qword [rsp + 0x30]
add rcx, 0xfffffffffffffff4
cmp rcx, rdi
je 0x100038caa
mov eax, esi
lock xadd dword [rcx], eax
add eax, esi
cmp eax, ebx
jg 0x100038caa
mov rcx, qword [rsp + 0x30]
add rcx, 0xfffffffffffffff4
call sub.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_
nop
mov rcx, qword [rsp + 0x50]
add rcx, 0xfffffffffffffff4
cmp rcx, rdi
je 0x100038cd3
mov eax, esi
lock xadd dword [rcx], eax
add eax, esi
cmp eax, ebx
jg 0x100038cd3
mov rcx, qword [rsp + 0x50]
add rcx, 0xfffffffffffffff4
call sub.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_
nop
mov rcx, qword [rsp + 0x38]
add rcx, 0xfffffffffffffff4
cmp rcx, rdi
je 0x100038cf2
mov eax, esi
lock xadd dword [rcx], eax
add eax, esi
cmp eax, ebx
jg 0x100038cf2
call sub.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_
mov rcx, qword [rbp]
call qword [sym.imp.SHLWAPI.dll_PathFindExtensionW]
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.100017e84
nop
lea rcx, [rsp + 0x48]
call fcn.1000166e4
mov rbx, qword [rsp + 0x48]
mov rcx, rbx
call qword [sym.imp.USER32.dll_CharLowerW]
lea rdi, [0x100004228]
mov rsi, rbx
mov ecx, 7
repe cmpsw word [rsi], word [rdi]
jne 0x100038e4c
xor esi, esi
mov byte [r13], sil
cmp byte [rsp + 0x550], sil
je 0x100038dda
mov r9d, 0xc9470109
mov r8, rbp
mov rdx, r15
mov rcx, r14
call fcn.100039064
mov edi, eax
cmp eax, esi
jge 0x100038dda
lea rcx, [rbx - 0xc]
lea rbx, [0x1000a1170]
cmp rcx, rbx
je 0x100038d8b
or edx, 0xffffffff
lock xadd dword [rcx], edx
dec edx
cmp edx, esi
jg 0x100038d8b
call sub.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_
nop
mov dword [rsp + 0x4d8], esi
mov rcx, qword [rsp + 0x4d0]
cmp rcx, rsi
je 0x100038db3
cmp rcx, 0xffffffffffffffff
je 0x100038db3
call qword [sym.imp.KERNEL32.dll_FindClose]
mov qword [rsp + 0x4d0], rsi
mov rcx, qword [rsp + 0x20]
add rcx, 0xfffffffffffffff4
cmp rcx, rbx
je 0x100038dd3
or eax, 0xffffffff
lock xadd dword [rcx], eax
dec eax
cmp eax, esi
jg 0x100038dd3
call sub.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_
mov eax, edi
jmp 0x100039031
lea rcx, [rbx - 0xc]
lea rdi, [0x1000a1170]
cmp rcx, rdi
je 0x100038dfd
or eax, 0xffffffff
lock xadd dword [rcx], eax
dec eax
cmp eax, esi
jg 0x100038dfd
call sub.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_
nop
mov dword [rsp + 0x4d8], esi
mov rcx, qword [rsp + 0x4d0]
cmp rcx, rsi
je 0x100038e25
cmp rcx, 0xffffffffffffffff
je 0x100038e25
call qword [sym.imp.KERNEL32.dll_FindClose]
mov qword [rsp + 0x4d0], rsi
mov rcx, qword [rsp + 0x20]
add rcx, 0xfffffffffffffff4
cmp rcx, rdi
je 0x100038e45
or eax, 0xffffffff
lock xadd dword [rcx], eax
dec eax
cmp eax, esi
jg 0x100038e45
call sub.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_
xor eax, eax
jmp 0x100039031
lea rcx, [rbx - 0xc]
lea rax, [0x1000a1170]
cmp rcx, rax
je 0x100038e72
or eax, 0xffffffff
lock xadd dword [rcx], eax
dec eax
xor ebx, ebx
cmp eax, ebx
jg 0x100038e74
call sub.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_
jmp 0x100038e74
xor ebx, ebx
mov rax, qword [rbp]
mov rdi, qword [rsp + 0x20]
mov rsi, rdi
sub rsi, rax
movzx ecx, word [rax]
movzx edx, word [rax + rsi]
sub ecx, edx
jne 0x100038e96
add rax, 2
test edx, edx
jne 0x100038e83
cmp ecx, ebx
je 0x100038e9f
mov byte [r12], 1
mov rax, qword [rbp]
cmp dword [rax - 8], ebx
je 0x100038fe5
mov rcx, rbp
call fcn.1000166e4
mov rsi, qword [rbp]
movzx ecx, word [rsi]
call qword [sym.imp.msvcrt.dll_iswspace]
cmp eax, ebx
je 0x100038ede
mov rcx, rsi
call qword [sym.imp.USER32.dll_CharNextW]
mov rsi, rax
movzx ecx, word [rax]
call qword [sym.imp.msvcrt.dll_iswspace]
cmp eax, ebx
jne 0x100038ec5
mov rcx, qword [rbp]
mov rax, rsi
sub rax, rcx
sar rax, 1
mov ebx, dword [rcx - 8]
sub ebx, eax
mov eax, dword [rcx - 4]
inc eax
movsxd rdx, eax
add rdx, rdx
lea eax, [rbx + 1]
movsxd r9, eax
add r9, r9
mov r8, rsi
call sub.msvcrt.dll_memmove_s
xor esi, esi
cmp eax, esi
je 0x100038f47
cmp eax, 0xc
je 0x100038f3c
cmp eax, 0x16
je 0x100038f31
cmp eax, 0x22
je 0x100038f31
cmp eax, 0x50
je 0x100038f47
mov ecx, 0x80004005
call fcn.100016990
int3
mov ecx, 0x80070057
call fcn.100016990
int3
mov ecx, 0x8007000e
call fcn.100016990
int3
mov rax, qword [rbp]
mov dword [rax - 8], ebx
mov rax, qword [r14 + 0xf8]
mov r8d, dword [rsp + 0x28]
mov rdx, rbp
mov rcx, qword [rax + 0x238]
call fcn.100075f04
xor ebx, ebx
cmp eax, ebx
jge 0x100038fe5
mov byte [r13], bl
mov byte [r12], bl
cmp byte [rsp + 0x550], bl
je 0x100038fe5
mov r9d, eax
mov r8, rbp
mov rdx, r15
mov rcx, r14
call fcn.100039064
mov esi, eax
cmp eax, ebx
jge 0x100038fe5
mov dword [rsp + 0x4d8], ebx
mov rcx, qword [rsp + 0x4d0]
cmp rcx, rbx
je 0x100038fbf
cmp rcx, 0xffffffffffffffff
je 0x100038fbf
call qword [sym.imp.KERNEL32.dll_FindClose]
mov qword [rsp + 0x4d0], rbx
lea rcx, [rdi - 0xc]
lea rax, [0x1000a1170]
cmp rcx, rax
je 0x100038fe1
or eax, 0xffffffff
lock xadd dword [rcx], eax
dec eax
cmp eax, ebx
jg 0x100038fe1
call sub.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_
mov eax, esi
jmp 0x100039031
mov dword [rsp + 0x4d8], ebx
mov rcx, qword [rsp + 0x4d0]
cmp rcx, rbx
je 0x10003900d
cmp rcx, 0xffffffffffffffff
je 0x10003900d
call qword [sym.imp.KERNEL32.dll_FindClose]
mov qword [rsp + 0x4d0], rbx
lea rcx, [rdi - 0xc]
lea rax, [0x1000a1170]
cmp rcx, rax
je 0x10003902f
or eax, 0xffffffff
lock xadd dword [rcx], eax
dec eax
cmp eax, ebx
jg 0x10003902f
call sub.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_
xor eax, eax
mov rcx, qword [rsp + 0x4e0]
xor rcx, rsp
call fcn.10007a3b0
mov rbx, qword [rsp + 0x548]
add rsp, 0x4f0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret