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

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x90
mov qword [rsp + 0x40], 0xfffffffffffffffe
movaps xmmword [rsp + 0x80], xmm6
movaps xmmword [rsp + 0x70], xmm7
mov rax, qword [0x1801c1080]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov rbp, r8
mov rbx, rcx
mov rax, qword [rsp + 0xe0]
mov dword [rax], 1
movsx eax, r9w
mov dword [rsp + 0x30], eax
shr r9, 0x10
movsx eax, r9w
mov dword [rsp + 0x34], eax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x38]
mov rcx, qword [rcx + 8]
call qword [sym.imp.USER32.dll_ClientToScreen]
call qword [sym.imp.USER32.dll_ReleaseCapture]
mov rcx, qword [rbx + 0x348]
cmp qword [rcx + 0x10], 0
jne 0x1800768f1
cmp qword [rcx + 0x48], 0
jne 0x1800768f1
mov rax, qword [rcx + 0x88]
cmp qword [rcx + 0x80], rax
jne 0x1800768f1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rax, 0xffffffff80004005
jmp 0x180076d29
xor r14d, r14d
mov dword [rbx + 0x12078], r14d
cmp dword [rbx + 0x12140], r14d
jne 0x180076cf1
mov dword [rbx + 0x12138], r14d
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.180075f00
mov esi, eax
mov r9d, dword [rsp + 0x34]
movd xmm6, r9d
cvtdq2ps xmm6, xmm6
mov r8d, dword [rsp + 0x30]
movd xmm7, r8d
cvtdq2ps xmm7, xmm7
movss xmm1, dword [rbx + 0x1209c]
comiss xmm7, xmm1
jb 0x180076a37
movss xmm0, dword [rbx + 0x120a4]
comiss xmm0, xmm7
jb 0x180076a37
comiss xmm6, dword [rbx + 0x120a0]
jb 0x180076a37
movss xmm0, dword [rbx + 0x120a8]
comiss xmm0, xmm6
jb 0x180076a37
cvttss2si eax, xmm1
sub r8d, eax
cvttss2si eax, dword [rbx + 0x120a0]
sub r9d, eax
mov edi, r14d
mov r10, qword [rbx + 0x12080]
mov rax, r10
mov rdx, qword [rbx + 0x12088]
cmp r10, rdx
je 0x1800769eb
mov rcx, qword [rax]
test rcx, rcx
je 0x1800769db
movd xmm1, r9d
cvtdq2ps xmm1, xmm1
movd xmm2, r8d
cvtdq2ps xmm2, xmm2
comiss xmm2, dword [rcx + 0x10]
jb 0x1800769db
movss xmm0, dword [rcx + 0x18]
comiss xmm0, xmm2
jb 0x1800769db
comiss xmm1, dword [rcx + 0x14]
jb 0x1800769db
movss xmm0, dword [rcx + 0x1c]
comiss xmm0, xmm1
jae 0x1800769e6
add rax, 8
inc edi
cmp rax, rdx
jne 0x1800769a3
cmp rax, rdx
jne 0x1800769f0
mov edi, 0xffffffff
test edi, edi
js 0x180076a37
sub rdx, r10
cmp rdx, 8
jb 0x180076a37
movsxd rax, edi
mov rcx, qword [r10 + rax*8]
test rcx, rcx
je 0x180076a37
mov dword [rsp + 0x20], r14d
lea r9, vtable.type_info.0
lea r8, vtable.type_info.0
xor edx, edx
call fcn.18013e004
test rax, rax
jne 0x180076a37
movzx eax, di
shl eax, 0x10
or eax, 2
mov dword [rbx + 0x1214c], eax
comiss xmm7, dword [rbx + 0x1201c]
jb 0x180076ba2
movss xmm0, dword [rbx + 0x12024]
comiss xmm0, xmm7
jb 0x180076ba2
comiss xmm6, dword [rbx + 0x12020]
jb 0x180076ba2
movss xmm0, dword [rbx + 0x12028]
comiss xmm0, xmm6
jb 0x180076ba2
mov rdx, qword [rbx + 0x348]
cmp qword [rdx + 0x10], r14
jne 0x180076a9a
cmp qword [rdx + 0x48], r14
jne 0x180076a9a
mov rax, qword [rdx + 0x88]
cmp qword [rdx + 0x80], rax
je 0x180076ba2
mov rcx, qword [rdx + 0x88]
sub rcx, qword [rdx + 0x80]
movabs rax, 0x4924924924924925
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov r8d, 0x10
cmp edx, r8d
cmovl r8d, edx
mov r9d, r14d
test r8d, r8d
je 0x180076ba2
mov rdx, qword [rsp + 0x30]
movss xmm4, dword [0x1801834c0]
xorps xmm5, xmm5
movss xmm3, dword [0x1801832ac]
lea ecx, [r9 + 4]
imul rax, rcx, 0x8a8
lea rcx, [rbx + 0xb18]
add rcx, rax
movss xmm0, dword [rcx + 0x30]
comiss xmm0, xmm5
ja 0x180076b16
xorps xmm0, xmm4
comiss xmm3, xmm0
jbe 0x180076b75
movss xmm0, dword [rcx + 0x34]
comiss xmm0, xmm5
ja 0x180076b28
xorps xmm0, xmm4
comiss xmm3, xmm0
jbe 0x180076b75
movss xmm0, dword [rcx + 0x38]
comiss xmm0, xmm5
ja 0x180076b3a
xorps xmm0, xmm4
comiss xmm3, xmm0
jbe 0x180076b75
movss xmm0, dword [rcx + 0x3c]
comiss xmm0, xmm5
ja 0x180076b4c
xorps xmm0, xmm4
comiss xmm3, xmm0
jbe 0x180076b75
movss xmm0, dword [rcx + 0x40]
comiss xmm0, xmm5
ja 0x180076b5e
xorps xmm0, xmm4
comiss xmm3, xmm0
jbe 0x180076b75
movss xmm0, dword [rcx + 0x44]
comiss xmm0, xmm5
ja 0x180076b70
xorps xmm0, xmm4
comiss xmm3, xmm0
ja 0x180076b7e
call fcn.180069aa0
test eax, eax
jne 0x180076b8c
inc r9d
cmp r9d, r8d
jb 0x180076af4
jmp 0x180076ba2
mov rcx, qword [rbx + 0x4b8]
test rcx, rcx
je 0x180076ba2
mov rax, qword [rcx]
xor r8d, r8d
xor edx, edx
call qword [rax]
mov rcx, qword [rbx + 0x348]
cmp qword [rcx + 0x10], r14
jne 0x180076bc9
cmp qword [rcx + 0x48], r14
jne 0x180076bc9
mov rax, qword [rcx + 0x88]
cmp qword [rcx + 0x80], rax
je 0x180076cf1
cmp rsi, 5
jne 0x180076c05
mov eax, dword [rcx + 0x70]
mov dword [rbx + 0x12150], eax
mov dword [rbx + 0x1214c], 0x10001
mov rcx, qword [rbx + 0x4b8]
test rcx, rcx
je 0x180076cf1
mov rax, qword [rcx]
xor r9d, r9d
xor r8d, r8d
lea edx, [rsi - 4]
call qword [rax]
jmp 0x180076cf1
mov edx, dword [rcx + 0x70]
mov eax, dword [rcx + 0x74]
dec eax
cmp edx, eax
jl 0x180076c4a
cmp rsi, 6
jne 0x180076c4a
mov dword [rbx + 0x12150], edx
mov dword [rbx + 0x1214c], 0x20001
mov rcx, qword [rbx + 0x4b8]
test rcx, rcx
je 0x180076cf1
mov rax, qword [rcx]
xor r9d, r9d
xor r8d, r8d
lea edx, [rsi - 4]
call qword [rax]
jmp 0x180076cf1
cmp rsi, 0x80
jne 0x180076c63
lea rcx, [rsp + 0x30]
call qword [sym.imp.USER32.dll_GetCursorPos]
jmp 0x180076cf1
cmp rsi, 1
je 0x180076cf1
mov eax, 0x200
cmp si, ax
jne 0x180076cf1
mov qword [rsp + 0x30], r14
lea rcx, [rbx + 0x48]
mov rax, qword [rcx]
lea r8, [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
call qword [rax + 0x218]
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x180076cf1
mov dword [rsp + 0x20], r14d
lea r9, vtable.type_info.0
lea r8, vtable.type_info.0
xor edx, edx
call fcn.18013e004
test rax, rax
je 0x180076cf1
movdqa xmm0, xmmword [0x1801833f0]
movdqu xmmword [rsp + 0x58], xmm0
mov word [rsp + 0x48], r14w
mov r8, qword [rax]
lea rdx, [rsp + 0x48]
mov rcx, rax
call qword [r8 + 0x458]
nop
lea rcx, [rsp + 0x48]
call fcn.18004f5d0
mov dword [rbx + 0x12138], r14d
mov dword [rbx + 0x12140], r14d
lea rcx, [rbx + 0x48]
mov r10, qword [rcx]
movzx r9d, word [rsp + 0x3c]
shl r9d, 0x10
movzx eax, word [rsp + 0x38]
or r9, rax
mov r8, rbp
mov edx, 0x202
call qword [r10 + 0x288]
xor eax, eax
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.1801027e0
movaps xmm6, xmmword [rsp + 0x80]
movaps xmm7, xmmword [rsp + 0x70]
add rsp, 0x90
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret