Function at 0x14003e8d4
Capabilities:
Get graphical window text

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x958]
sub rsp, 0xa30
mov qword [rbp - 0x70], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x140074518]
xor rax, rsp
mov qword [rbp + 0x920], rax
mov rsi, rcx
xor r12d, r12d
mov edi, r12d
lea eax, [r12 + 6]
mov r15d, eax
mov r14d, eax
mov rax, qword [rcx + 0x18]
mov rcx, qword [rax + 0x30]
mov edx, 0x105
mov rcx, qword [rcx + 8]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rbx, rax
mov dword [rsp + 0x70], 0x20
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x78], xmm0
mov dword [rbp - 0x78], 5
mov rax, qword [rsi + 0x58]
mov r13, qword [rax + 0x10]
mov qword [rsp + 0x68], r13
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x30], eax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x147
mov rcx, rbx
call qword [sym.imp.USER32.dll_SendMessageW]
movsxd r8, eax
xor r9d, r9d
mov edx, 0x150
mov rcx, rbx
call qword [sym.imp.USER32.dll_SendMessageW]
mov rdx, rax
mov qword [rsp + 0x48], rax
xor eax, eax
cmp dword [rsp + 0x30], eax
jbe 0x14003ebef
lea rcx, [r13 + 0x18]
mov qword [rsp + 0x38], rcx
mov eax, r12d
shl rax, 5
add rax, r13
cmp rdx, rax
je 0x14003eb3e
mov eax, dword [rcx]
lea ebx, [rax - 1]
cmp eax, dword [rdx + 0x18]
cmovle ebx, eax
mov rax, qword [rsi + 0x18]
mov rcx, qword [rax + 0x30]
lea edi, [rbx + 0xf5]
mov edx, edi
mov rcx, qword [rcx + 8]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
mov r8d, 0x1f4
lea rdx, [rbp + 0x140]
call qword [sym.imp.USER32.dll_GetWindowTextW]
xor eax, eax
cmp ax, word [rbp + 0x140]
jne 0x14003ea12
cmp ebx, r15d
cmovl r15d, ebx
mov rax, qword [rsi + 0x18]
mov rcx, qword [rax + 0x30]
mov edx, edi
mov rcx, qword [rcx + 8]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov qword [rsp + 0x50], rax
mov edi, 0x1f4
mov r8d, edi
lea rdx, [rbp + 0x530]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowTextW]
mov r9d, 0x10
mov edx, edi
lea rcx, [rbp + 0x530]
call fcn.1400404b8
mov edi, eax
test eax, eax
jne 0x14003eb29
lea rax, [rbp - 0x68]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x58]
lea r8, [rsp + 0x5c]
lea rdx, [rsp + 0x50]
call fcn.14002bec0
xor ecx, ecx
test rax, rax
jne 0x14003eab8
cmp qword [0x1400771d0], rcx
jne 0x14003eaa4
mov r8b, 1
mov edx, dword [0x1400771e0]
call fcn.14002bf20
test al, al
je 0x14003f03f
mov r9d, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x5c]
lea rdx, [rsp + 0x50]
call fcn.14002c194
cmp dword [rax + 8], 1
je 0x14003eb19
lea rax, [rbp - 0x60]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x60]
lea r8, [rsp + 0x64]
lea rdx, [rsp + 0x50]
call fcn.14002bec0
test rax, rax
jne 0x14003eb13
cmp qword [0x1400771d0], rax
jne 0x14003eaff
mov r8b, 1
mov edx, dword [0x1400771e0]
call fcn.14002bf20
test al, al
je 0x14003f03f
mov r9d, dword [rsp + 0x60]
mov r8d, dword [rsp + 0x64]
lea rdx, [rsp + 0x50]
call fcn.14002c194
cmp dword [rax + 8], 3
jne 0x14003eb29
cmp word [rbp + 0x530], 0x2d
mov eax, 0x89b
cmove edi, eax
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x48]
test edi, edi
je 0x14003eb3e
cmp ebx, r14d
cmovl r14d, ebx
inc r12d
add rcx, 0x20
mov qword [rsp + 0x38], rcx
cmp r12d, dword [rsp + 0x30]
jb 0x14003e9b2
cmp r14d, 6
jge 0x14003eb8d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
mov r9d, 0xc8
lea r8, [rbp - 0x50]
cmp edi, 0x77
lea edx, [r9 - 0x51]
je 0x14003eb7e
mov edx, 0x89b
call qword [sym.imp.USER32.dll_LoadStringW]
lea edx, [r14 + 0xf5]
jmp 0x14003ebba
cmp r15d, 6
jge 0x14003ebef
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
mov r9d, 0xc8
lea r8, [rbp - 0x50]
mov edx, 0x899
call qword [sym.imp.USER32.dll_LoadStringW]
lea edx, [r15 + 0xf5]
lea rax, [rbp - 0x50]
mov qword [rbp - 0x80], rax
mov rax, qword [rsi + 0x18]
mov rcx, qword [rax + 0x30]
mov rcx, qword [rcx + 8]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
lea r9, [rsp + 0x70]
xor r8d, r8d
mov edx, 0x1503
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x14003f00f
mov rax, qword [0x1400742d0]
lea rcx, [0x1400742d0]
mov rax, qword [rax + 0x18]
call qword [case.0x14003a69c.0]
add rax, 0x18
mov qword [rsp + 0x38], rax
mov r12d, dword [rsp + 0x30]
lea r15d, [r12 + r12]
mov ebx, r15d
mov edi, 8
mov eax, edi
mul rbx
lea rcx, [rdi - 9]
cmovo rax, rcx
add rax, rdi
cmovb rax, rcx
mov rcx, rax
call fcn.14005acc0
lea rdx, [fcn.140001fd0]
xor ecx, ecx
test rax, rax
je 0x14003ec6f
mov qword [rax], rbx
lea r14, [rax + 8]
mov qword [rsp + 0x20], rdx
lea r9, [0x140002300]
mov r8d, ebx
mov edx, edi
mov rcx, r14
call fcn.14005df44
xor ecx, ecx
jmp 0x14003ec72
mov r14, rcx
mov edi, ecx
test r12d, r12d
je 0x14003ed48
mov r15, r13
mov eax, dword [r15 + 0x18]
lea ecx, [rax - 1]
mov rdx, qword [rsp + 0x48]
cmp eax, dword [rdx + 0x18]
cmovle ecx, eax
mov dword [rsp + 0x40], ecx
lea ebx, [rdi + rdi]
lea rcx, [r14 + rbx*8]
mov rdx, qword [r15]
call fcn.14002a434
lea eax, [rbx + 1]
lea rbx, [r14 + rax*8]
cmp qword [rsp + 0x48], r13
jne 0x14003ecc1
lea rdx, [0x140064954]
mov eax, 1
jmp 0x14003ed21
mov rax, qword [rsi + 0x18]
mov rcx, qword [rax + 0x30]
mov edx, dword [rsp + 0x40]
add edx, 0xf5
mov rcx, qword [rcx + 8]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
mov r8d, 0x1f4
lea rdx, [rbp + 0x140]
call qword [sym.imp.USER32.dll_GetWindowTextW]
mov edx, 0x1f4
lea rcx, [rbp + 0x140]
call fcn.1400120e4
lea rdx, [rbp + 0x140]
or rax, 0xffffffffffffffff
xor ecx, ecx
inc rax
cmp word [rdx + rax*2], cx
jne 0x14003ed11
lea rdx, [rbp + 0x140]
mov r8d, eax
mov rcx, rbx
call fcn.140001970
inc edi
add r13, 0x20
add r15, 0x20
cmp edi, r12d
jb 0x14003ec80
mov r13, qword [rsp + 0x68]
lea r15d, [r12 + r12]
mov rax, qword [rsi + 0x58]
mov rcx, qword [rax]
mov rbx, qword [0x140078b88]
mov rdi, qword [rcx]
lea rdx, str.mileage
mov rcx, rdi
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x14003ed72
or dword [rbx + 0x40], 4
jmp 0x14003eda2
lea rdx, str.lease
mov rcx, rdi
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x14003ed8b
or dword [rbx + 0x40], 2
jmp 0x14003eda2
lea rdx, str.mortgage
mov rcx, rdi
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x14003eda6
or dword [rbx + 0x40], 1
xor edi, edi
jmp 0x14003edbf
lea rdx, str.gasmileage
mov rcx, rdi
call sub.msvcrt.dll_wcscmp
xor edi, edi
test eax, eax
jne 0x14003edbf
or dword [rbx + 0x40], 8
mov rax, qword [rsi + 0x58]
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x20], rcx
mov r9d, r15d
mov r8, r14
mov rdx, qword [rax]
mov rcx, qword [rsi + 0x20]
call fcn.140014c60
mov rcx, qword [rsi + 0x18]
mov rcx, qword [rcx + 0x30]
mov r15d, 0x106
mov rcx, qword [rcx + 8]
mov edx, r15d
test eax, eax
je 0x14003ef16
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rdx, rax
mov rbx, qword [rsp + 0x38]
mov r8, rbx
mov rcx, rsi
call fcn.14003df94
test r12d, r12d
je 0x14003eef3
lea r12, [r13 + 8]
mov eax, dword [rsp + 0x30]
mov qword [rsp + 0x40], rax
mov r15, qword [rsp + 0x48]
cmp r15, r13
je 0x14003eed1
mov r8d, dword [r12 + 0x10]
mov rax, qword [rsi + 0x18]
mov rcx, qword [rax + 0x30]
lea edx, [r8 - 1]
cmp r8d, dword [r15 + 0x18]
cmovle edx, r8d
add edx, 0xfc
mov rcx, qword [rcx + 8]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rdi, rax
mov rcx, qword [rsi + 0x58]
xor r9d, r9d
mov r8, qword [r12 - 8]
mov rdx, qword [rcx]
mov rcx, qword [rsi + 0x20]
call fcn.1400150c0
mov rbx, qword [r12]
xor edx, edx
call fcn.14003df34
mov r8, rax
mov rdx, rbx
lea rcx, [rsp + 0x68]
call fcn.140037d4c
mov rdx, qword [rax]
mov rcx, rdi
call qword [sym.imp.USER32.dll_SetWindowTextW]
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
xor edi, edi
sub eax, 1
jg 0x14003eecc
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14003a69c.0]
mov rax, qword [rsp + 0x40]
add r13, 0x20
add r12, 0x20
sub rax, 1
mov qword [rsp + 0x40], rax
jne 0x14003ee30
mov rbx, qword [rsp + 0x38]
mov r15d, 0x106
mov rax, qword [rsi + 0x18]
mov rcx, qword [rax + 0x30]
mov edx, r15d
mov rcx, qword [rcx + 8]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
call qword [sym.imp.USER32.dll_SetFocus]
jmp 0x14003efc7
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rdx, rax
lea r8, [0x140063788]
mov rcx, rsi
call fcn.14003df94
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
mov r9d, 0xc8
lea r8, [rbp - 0x50]
lea edx, [r9 - 0x50]
call qword [sym.imp.USER32.dll_LoadStringW]
lea rax, [rbp - 0x50]
mov rbx, qword [rsp + 0x38]
mov r8, rbx
sub r8, rax
movzx ecx, word [rax]
movzx edx, word [rax + r8]
sub ecx, edx
jne 0x14003ef70
add rax, 2
test edx, edx
jne 0x14003ef5c
test ecx, ecx
je 0x14003ef94
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
mov r9d, 0xc8
lea r8, [rbp - 0x50]
mov edx, 0x89a
call qword [sym.imp.USER32.dll_LoadStringW]
lea rax, [rbp - 0x50]
mov qword [rbp - 0x80], rax
mov rax, qword [rsi + 0x18]
mov rcx, qword [rax + 0x30]
mov edx, r15d
mov rcx, qword [rcx + 8]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
lea r9, [rsp + 0x70]
xor r8d, r8d
mov edx, 0x1503
call qword [sym.imp.USER32.dll_SendMessageW]
test r14, r14
je 0x14003efee
lea r9, [fcn.140001fd0]
mov r8, qword [r14 - 8]
mov edx, 8
mov rcx, r14
call fcn.14005dfc4
lea rcx, [r14 - 8]
call sub.msvcrt.dll_free
nop
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14003f00f
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14003a69c.0]
mov rcx, qword [rbp + 0x920]
xor rcx, rsp
call fcn.14005d960
lea r11, [rsp + 0xa30]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov ecx, 0x8007000e
call fcn.140002344
int3