Function at 0x180065e20
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xe8
mov qword [rbp - 0x49], 0xfffffffffffffffe
mov rax, qword [0x180248950]
xor rax, rsp
mov qword [rbp + 0xf], rax
mov rbx, r9
mov qword [rbp - 0x61], rbx
mov rax, r8
mov qword [rbp - 0x51], rax
mov rdi, rdx
mov qword [rsp + 0x48], rdx
mov rsi, rcx
mov qword [rbp - 0x69], rdx
and eax, 1
mov dword [rsp + 0x30], eax
xor edx, edx
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetWindowLongPtrW]
mov edx, 8
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowLongPtrW]
mov r14, rax
mov qword [rsp + 0x40], rax
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GlobalLock]
mov r13, rax
movzx eax, bx
mov dword [rsp + 0x28], eax
mov rax, rbx
shr rax, 0x10
mov qword [rbp - 0x59], rax
movzx eax, ax
mov dword [rsp + 0x2c], eax
mov rbx, qword [rsp + 0x28]
mov qword [rbp - 0x79], rbx
lea rdx, [rbp - 0x79]
mov rcx, rdi
call qword [sym.imp.USER32.dll_ClientToScreen]
mov rcx, qword [rbp - 0x79]
call qword [sym.imp.USER32.dll_WindowFromPoint]
mov qword [rsp + 0x38], rax
test r13, r13
je 0x180065f37
cmp rax, qword [r13 + 0x28]
jne 0x180065f37
lea rdx, [rbp - 0x79]
mov rcx, rax
call qword [sym.imp.USER32.dll_ScreenToClient]
mov edx, 0x7f89
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorW]
mov rcx, rax
call qword [sym.imp.USER32.dll_SetCursor]
call fcn.18004dd50
mov rcx, rax
mov r8, qword [rbp - 0x79]
lea rdx, [rsp + 0x38]
call fcn.1800642b0
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov qword [rsi + 0x1b4], rbx
jmp 0x1800667e9
mov rcx, qword [rsi + 0x158]
mov rax, qword [rcx]
call qword [rax + 0x88]
mov r15d, eax
xor edi, edi
mov r14d, edi
mov r12d, edi
mov rcx, qword [rsi + 0x140]
mov r8, qword [rcx]
lea edx, [rdi + 0x7b]
call qword [r8]
mov dword [rbp - 0x71], eax
test r15d, r15d
jle 0x18006655d
nop
mov rcx, qword [rsi + 0x158]
mov r8, qword [rcx]
mov edx, edi
call qword [r8 + 0x20]
mov r14, rax
mov rdx, qword [rax + 0x10]
mov ecx, dword [rdx]
mov dword [rbp - 1], ecx
mov ecx, dword [rdx + 4]
mov dword [rbp + 3], ecx
mov ecx, dword [rdx + 8]
mov dword [rbp + 7], ecx
mov ecx, dword [rdx + 0xc]
mov dword [rbp + 0xb], ecx
xor eax, eax
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x28], eax
jne 0x180065fb0
cmp dword [rsp + 0x2c], eax
je 0x180065fc5
mov rdx, rbx
lea rcx, [rbp - 1]
call qword [sym.imp.USER32.dll_PtInRect]
mov dword [rsp + 0x20], eax
test eax, eax
jne 0x180065fd6
inc edi
cmp edi, r15d
jl 0x180065f70
mov r14d, dword [rsp + 0x20]
jmp 0x18006655d
mov rcx, qword [rsi + 0x158]
mov rax, qword [rcx]
call qword [rax + 0x78]
cmp eax, edi
je 0x180065fcc
cmp dword [r14 + 4], 0xa
je 0x180066004
mov edx, 0x7f89
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorW]
mov rcx, rax
call qword [sym.imp.USER32.dll_SetCursor]
mov rcx, qword [rsi + 0x158]
mov rax, qword [rcx]
mov edx, edi
call qword [rax + 0x20]
mov r14, rax
mov r8, qword [rax + 0x18]
cmp dword [rax + 4], r12d
jne 0x180066354
movsxd rdx, dword [r8 + 8]
lea ecx, [rdx - 1]
test ecx, 0xfffffffa
jne 0x1800662da
cmp edx, 6
je 0x1800662da
mov rdx, qword [rsi + 0x150]
add rdx, 0x208
mov qword [rbp - 9], 7
xor r15d, r15d
mov qword [rbp - 0x11], r15
mov word [rbp - 0x21], r15w
cmp word [rdx], r12w
jne 0x18006606d
mov r8d, r15d
jmp 0x18006607b
or r8, 0xffffffffffffffff
inc r8
cmp word [rdx + r8*2], r12w
jne 0x180066071
lea rcx, [rbp - 0x21]
call fcn.180005450
nop
mov qword [rbp - 0x29], 7
mov qword [rbp - 0x31], r15
mov word [rbp - 0x41], r15w
lea rdx, [r14 + 0x40]
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rcx, [rbp - 0x41]
call fcn.180005100
nop
mov edx, 0x27
xor r8d, r8d
lea rcx, [rbp - 0x21]
call fcn.1800215a0
cmp eax, 0xffffffff
je 0x18006617b
nop word [rax + rax]
movsxd rcx, eax
mov rdx, qword [rbp - 0x11]
cmp rdx, rcx
jb 0x18006616e
mov rax, rdx
sub rax, rcx
cmp rax, 1
lea rax, [rbp - 0x21]
ja 0x180066105
mov qword [rbp - 0x11], rcx
cmp qword [rbp - 9], 8
cmovae rax, qword [rbp - 0x21]
mov word [rax + rcx*2], r15w
jmp 0x180066152
mov r8, qword [rbp - 0x21]
mov r9, qword [rbp - 9]
cmp r9, 8
cmovae rax, r8
lea r10, [rax + rcx*2]
lea rdi, [rdx - 1]
mov rax, rdi
sub rax, rcx
je 0x18006613d
lea r8, [rax + rax]
lea rdx, [r10 + 2]
mov rcx, r10
call fcn.1800b54c0
mov r9, qword [rbp - 9]
mov r8, qword [rbp - 0x21]
mov qword [rbp - 0x11], rdi
lea rax, [rbp - 0x21]
cmp r9, 8
cmovae rax, r8
mov word [rax + rdi*2], r15w
mov edx, 0x27
xor r8d, r8d
lea rcx, [rbp - 0x21]
call fcn.1800215a0
cmp eax, 0xffffffff
jne 0x1800660d0
jmp 0x18006617b
lea rcx, str.invalid_string_position
call fcn.1800b2ca8
int3
mov edx, 0x27
xor r8d, r8d
lea rcx, [rbp - 0x41]
call fcn.1800215a0
cmp eax, 0xffffffff
je 0x18006624b
nop word [rax + rax]
movsxd rcx, eax
mov rdx, qword [rbp - 0x31]
cmp rdx, rcx
jb 0x18006623e
mov rax, rdx
sub rax, rcx
cmp rax, 1
lea rax, [rbp - 0x41]
ja 0x1800661d5
mov qword [rbp - 0x31], rcx
cmp qword [rbp - 0x29], 8
cmovae rax, qword [rbp - 0x41]
mov word [rax + rcx*2], r15w
jmp 0x180066222
mov r8, qword [rbp - 0x41]
mov r9, qword [rbp - 0x29]
cmp r9, 8
cmovae rax, r8
lea r10, [rax + rcx*2]
lea rdi, [rdx - 1]
mov rax, rdi
sub rax, rcx
je 0x18006620d
lea r8, [rax + rax]
lea rdx, [r10 + 2]
mov rcx, r10
call fcn.1800b54c0
mov r9, qword [rbp - 0x29]
mov r8, qword [rbp - 0x41]
mov qword [rbp - 0x31], rdi
lea rax, [rbp - 0x41]
cmp r9, 8
cmovae rax, r8
mov word [rax + rdi*2], r15w
mov edx, 0x27
xor r8d, r8d
lea rcx, [rbp - 0x41]
call fcn.1800215a0
cmp eax, 0xffffffff
jne 0x1800661a0
jmp 0x18006624b
lea rcx, str.invalid_string_position
call fcn.1800b2ca8
int3
lea r8, [rbp - 0x41]
mov r11, qword [rbp - 0x41]
mov rdi, qword [rbp - 0x29]
cmp rdi, 8
cmovae r8, r11
lea rax, [rbp - 0x21]
mov r10, qword [rbp - 0x21]
mov r9, qword [rbp - 9]
cmp r9, 8
cmovae rax, r10
sub r8, rax
nop word [rax + rax]
movzx edx, word [rax]
movzx ecx, word [rax + r8]
sub edx, ecx
jne 0x180066294
add rax, 2
test ecx, ecx
jne 0x180066280
test edx, edx
mov eax, 1
cmove r12d, eax
cmp rdi, 8
jb 0x1800662b5
mov rcx, r11
call fcn.1800b5354
mov r9, qword [rbp - 9]
mov r10, qword [rbp - 0x21]
mov qword [rbp - 0x29], 7
mov qword [rbp - 0x31], r15
mov word [rbp - 0x41], r15w
cmp r9, 8
jb 0x180066354
mov rcx, r10
call fcn.1800b5354
jmp 0x180066354
cmp edx, 0x35
ja 0x1800662ef
movabs rcx, 0x20000000800008
bt rcx, rdx
jb 0x18006634e
cmp edx, 9
jne 0x18006630b
mov rcx, qword [rsi + 0x140]
mov rax, qword [rcx]
mov edx, 0x25
call qword [rax]
test eax, eax
je 0x180066354
jmp 0x18006634e
cmp edx, 0x1c
jne 0x180066315
xor r15d, r15d
jmp 0x180066354
cmp edx, 0x10
jne 0x18006631f
xor r15d, r15d
jmp 0x180066354
cmp edx, 0xd
jne 0x180066329
xor r15d, r15d
jmp 0x180066354
cmp edx, 0x30
jne 0x180066333
xor r15d, r15d
jmp 0x180066354
cmp edx, 0x31
jne 0x18006633d
xor r15d, r15d
jmp 0x180066354
cmp edx, 0x18
jne 0x18006634e
cmp dword [r8 + 0xc], 0x25
jne 0x18006634e
xor r15d, r15d
jmp 0x180066354
mov r12d, 1
mov rcx, qword [rsi + 0x140]
mov rax, qword [rcx]
mov edx, 0x24
call qword [rax]
test eax, eax
jne 0x18006650c
test r12d, r12d
je 0x18006650c
mov qword [rsp + 0x38], 0
mov qword [rbp - 0x41], 0
mov qword [rbp - 0x39], 0
lea rdx, [rbp - 0x41]
mov r15, qword [rsp + 0x48]
mov rcx, r15
call qword [sym.imp.USER32.dll_GetWindowRect]
mov rcx, qword [r14 + 0x10]
lea rdx, [rsp + 0x38]
cmp dword [rbp - 0x71], 1
jne 0x1800663d4
mov eax, dword [rcx]
mov dword [rsp + 0x38], eax
mov eax, dword [rcx + 0xc]
add eax, 5
mov dword [rsp + 0x3c], eax
mov rcx, r15
call qword [sym.imp.USER32.dll_ClientToScreen]
mov eax, dword [rbp - 0x35]
inc eax
mov dword [rsp + 0x3c], eax
jmp 0x1800663ee
mov eax, dword [rcx + 8]
add eax, 5
mov dword [rsp + 0x38], eax
mov eax, dword [rcx + 4]
mov dword [rsp + 0x3c], eax
mov rcx, r15
call qword [sym.imp.USER32.dll_ClientToScreen]
call fcn.18004dd50
mov rdi, rax
mov qword [rax + 0x78], r14
mov rcx, qword [rax + 0x80]
test rcx, rcx
je 0x18006640e
mov rdx, qword [rcx]
call qword [rdx + 0x40]
mov dword [rdi], eax
mov r12d, dword [rsp + 0x30]
mov r14d, dword [rsp + 0x2c]
test r13, r13
je 0x180066484
test r12d, r12d
jne 0x180066471
mov eax, dword [rsi + 0x1b4]
cmp dword [rsp + 0x28], eax
jne 0x180066437
cmp r14d, dword [rsi + 0x1b8]
je 0x180066471
test eax, eax
je 0x180066471
cmp dword [rsi + 0x1b8], 0
je 0x180066471
call fcn.18004dd50
mov edx, 6
mov rcx, qword [r13 + 0x28]
call qword [sym.imp.USER32.dll_KillTimer]
call qword [sym.imp.USER32.dll_ReleaseCapture]
call fcn.18004dd50
mov rcx, rax
mov rdx, qword [r13 + 0x28]
call fcn.180063420
jmp 0x180066484
mov rcx, qword [rsi + 0x158]
mov rax, qword [rcx]
or edx, 0xffffffff
call qword [rax + 0x80]
call fcn.18001a710
mov edi, eax
call fcn.18004dd50
mov r8d, dword [rax + 0x70]
mov edx, dword [rsp + 0x3c]
add edx, r8d
cmp edx, edi
jle 0x1800664ab
mov eax, dword [rbp - 0x3d]
sub eax, r8d
dec eax
mov dword [rsp + 0x3c], eax
test r13, r13
je 0x180066505
mov edi, dword [rsp + 0x28]
test r12d, r12d
jne 0x180066556
mov eax, dword [rsi + 0x1b4]
cmp edi, eax
jne 0x1800664d4
cmp r14d, dword [rsi + 0x1b8]
je 0x180066556
test eax, eax
je 0x180066556
cmp dword [rsi + 0x1b8], 0
je 0x180066556
cmp dword [reloc.OLEAUT32.dll_SysReAllocStringLen], 4
jne 0x180066556
call fcn.18004dd50
mov rcx, rax
mov r9d, dword [rsp + 0x3c]
mov r8d, dword [rsp + 0x38]
lea rdx, [r13 + 0x28]
call fcn.1800641e0
mov r14d, dword [rsp + 0x20]
jmp 0x180066567
mov r12d, dword [rsp + 0x30]
test r13, r13
je 0x18006654f
test r12d, r12d
jne 0x18006654f
call fcn.18004dd50
lea edx, [r12 + 6]
mov rcx, qword [r13 + 0x28]
call qword [sym.imp.USER32.dll_KillTimer]
call qword [sym.imp.USER32.dll_ReleaseCapture]
call fcn.18004dd50
xor r9d, r9d
xor r8d, r8d
mov edx, 0x4c8
mov rcx, qword [r13 + 0x28]
call qword [sym.imp.USER32.dll_PostMessageW]
mov r14d, dword [rsp + 0x20]
jmp 0x180066562
mov r14d, dword [rsp + 0x20]
jmp 0x18006656b
mov r12d, dword [rsp + 0x30]
mov r15, qword [rsp + 0x48]
mov edi, dword [rsp + 0x28]
mov qword [rsi + 0x1b4], rbx
test r14d, r14d
je 0x180066587
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
jmp 0x1800667e9
test r13, r13
je 0x1800665c8
test r12d, r12d
jne 0x1800665c8
call fcn.18004dd50
lea edx, [r12 + 6]
mov rcx, qword [r13 + 0x28]
call qword [sym.imp.USER32.dll_KillTimer]
call qword [sym.imp.USER32.dll_ReleaseCapture]
call fcn.18004dd50
xor r9d, r9d
lea edx, [r12 + 6]
mov r8d, 0x12c
mov rcx, qword [r13 + 0x28]
call qword [sym.imp.USER32.dll_SetTimer]
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GlobalUnlock]
lea rcx, [rsi + 0x1c0]
mov r14, qword [rbp - 0x61]
mov r9, r14
mov rdx, r15
call fcn.180056020
test eax, eax
jne 0x1800667e9
movsx eax, r14w
mov dword [rsp + 0x40], eax
movsx eax, word [rbp - 0x59]
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x40]
mov rcx, r15
call qword [sym.imp.USER32.dll_ClientToScreen]
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.USER32.dll_WindowFromPoint]
cmp r15, rax
je 0x180066645
cmp dword [rsi + 0x14], 0
jne 0x180066645
xor r9d, r9d
xor r8d, r8d
mov edx, 0x2a3
mov rcx, r15
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x18006668a
mov r9, r14
lea rdx, [rbp - 0x69]
mov rcx, rsi
call fcn.1800573b0
mov rbx, rax
mov eax, dword [rsi + 0x14]
cmp eax, 1
je 0x18006666c
test eax, eax
jne 0x180066681
test rbx, rbx
jne 0x1800667e9
mov r9, r14
mov r8, qword [rbp - 0x51]
mov edx, 0xa0
mov rcx, r15
call qword [sym.imp.USER32.dll_SendMessageW]
test rbx, rbx
jne 0x1800667e9
mov rax, qword [0x18027b2f8]
test rax, rax
jne 0x1800666b4
mov ecx, 0x1e0
call fcn.1800b543c
test rax, rax
je 0x1800666ad
mov rcx, rax
call fcn.18006fa40
mov qword [0x18027b2f8], rax
movss xmm2, dword [rax + 0x108]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
divss xmm0, xmm2
cvttss2si eax, xmm0
mov dword [rsp + 0x40], eax
movd xmm1, dword [rsp + 0x2c]
cvtdq2ps xmm1, xmm1
divss xmm1, xmm2
cvttss2si eax, xmm1
mov dword [rsp + 0x44], eax
lea rcx, [rsi + 0x58]
mov rbx, qword [rsp + 0x40]
mov rdx, rbx
call qword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x180066731
mov rcx, qword [rsi + 0x148]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsi + 0x150]
cmp dword [rcx + 0x518], 0xffffffff
je 0x180066731
test eax, eax
jle 0x180066731
mov edx, 0x7f89
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorW]
mov rcx, rax
call qword [sym.imp.USER32.dll_SetCursor]
lea rcx, [rsi + 0x68]
mov rdx, rbx
call qword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x180066769
mov rcx, qword [rsi + 0x148]
mov rax, qword [rcx]
call qword [rax + 0x18]
test eax, eax
jne 0x180066769
mov edx, 0x7f89
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorW]
mov rcx, rax
call qword [sym.imp.USER32.dll_SetCursor]
lea rcx, [rsi + 0x78]
mov rdx, rbx
call qword [sym.imp.USER32.dll_PtInRect]
test eax, eax
je 0x1800667c2
mov edx, 0x7f89
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorW]
mov rcx, rax
call qword [sym.imp.USER32.dll_SetCursor]
mov edx, 0x7f89
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorW]
mov rcx, rax
call qword [sym.imp.USER32.dll_SetCursor]
mov rax, qword [rsi + 0x150]
cmp dword [rax + 0x528], 0
jne 0x1800667e9
mov dword [rax + 0x528], 1
jmp 0x1800667dc
mov rax, qword [rsi + 0x150]
cmp dword [rax + 0x528], 0
je 0x1800667e9
mov dword [rax + 0x528], 0
mov rax, qword [rsi]
mov rdx, qword [rsi + 8]
mov rcx, rsi
call qword [rax + 0x10]
mov rcx, qword [rbp + 0xf]
xor rcx, rsp
call fcn.1800b5370
add rsp, 0xe8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret