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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov rbx, qword [0x18008f300]
movaps xmmword [rsp + 0x30], xmm6
movaps xmmword [rsp + 0x20], xmm7
cmp byte [rbx + 0xcb], 0
je 0x1800070d3
test byte [rbx + 0xc], 2
jne 0x1800070d3
mov byte [rbx + 0xcb], 0
xor edi, edi
cmp byte [rbx + 0x2ef4], dil
jne 0x18000712d
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x180007126
lea r8, [rsp + 0x70]
mov qword [rsp + 0x70], rdi
call fcn.180002ef0
mov rsi, rax
test rax, rax
je 0x180007126
mov rdx, qword [rsp + 0x70]
mov rcx, rax
call fcn.180013310
mov rcx, qword [0x18008f300]
test rcx, rcx
je 0x18000711d
dec dword [rcx + 0x3bc]
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov byte [rbx + 0x2ef4], 1
movss xmm0, dword [rbx + 0x2ef8]
xorps xmm6, xmm6
comiss xmm0, xmm6
jbe 0x18000716c
subss xmm0, dword [rbx + 0x18]
comiss xmm6, xmm0
movss dword [rbx + 0x2ef8], xmm0
jb 0x18000716c
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x18000715f
call fcn.180013570
jmp 0x180007166
mov byte [rbx + 0x3a4], 1
mov dword [rbx + 0x2ef8], edi
inc dword [rbx + 0x19b0]
movss xmm0, dword [rbx + 0x18]
mov rax, qword [rbx + 0xa8]
mov byte [rbx + 0x19bc], 1
mov dword [rbx + 0x2ec8], edi
mov dword [rbx + 0x1a10], edi
cvtps2pd xmm0, xmm0
addsd xmm0, qword [rbx + 0x19a8]
movsd qword [rbx + 0x19a8], xmm0
mov byte [rax], 1
mov rax, qword [0x18008f300]
mov rcx, qword [rax + 0xb8]
test rcx, rcx
jne 0x1800071c8
mov rax, qword [rax + 0xa8]
mov rcx, qword [rax + 0x48]
mov rcx, qword [rcx]
call fcn.18000dfb0
movss xmm2, dword [rbx + 0x10]
mov ecx, 1
movss xmm3, dword [rbx + 0x14]
mov qword [rbx + 0x1930], rdi
movss dword [rbx + 0x1938], xmm2
movss dword [rbx + 0x193c], xmm3
mov eax, dword [rbx + 0x1604]
mov dword [rbx + 0x192c], eax
mov eax, edi
mov dword [rbx + 0x1940], edi
cmp byte [rbx + 0x1600], dil
je 0x180007218
mov dword [rbx + 0x1940], ecx
mov eax, ecx
cmp byte [rbx + 0x1601], dil
je 0x18000722a
or eax, 2
mov dword [rbx + 0x1940], eax
test byte [rbx + 0xc], 8
je 0x180007239
or eax, 4
mov dword [rbx + 0x1940], eax
lea rbp, [rbx + 0x1d40]
mov rcx, rbp
call fcn.18001c610
mov rax, qword [rbx + 0xa8]
mov esi, 8
mov ecx, dword [rbp + 0x74]
mov r8d, dword [rbp + 0x70]
mov r15, qword [rax + 8]
cmp r8d, ecx
jne 0x18000728b
inc r8d
test ecx, ecx
je 0x180007276
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180007278
mov eax, esi
cmp eax, r8d
lea rcx, [rbp + 0x70]
cmovg r8d, eax
mov edx, r8d
call fcn.180014450
movsxd rdx, dword [rbp + 0x70]
mov rcx, rbp
mov rax, qword [rbp + 0x78]
mov qword [rax + rdx*8], r15
inc dword [rbp + 0x70]
call fcn.18001ca20
mov rcx, rbp
call fcn.18001cc10
lea rbp, [rbx + 0x1de8]
mov rcx, rbp
call fcn.18001c610
mov rax, qword [rbx + 0xa8]
mov r8d, dword [rbp + 0x74]
mov ecx, dword [rbp + 0x70]
mov r15, qword [rax + 8]
cmp ecx, r8d
jne 0x1800072f3
inc ecx
test r8d, r8d
je 0x1800072e3
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
lea esi, [r8 + rax]
cmp esi, ecx
cmovg ecx, esi
mov edx, ecx
lea rcx, [rbp + 0x70]
call fcn.180014450
movsxd rdx, dword [rbp + 0x70]
mov rcx, rbp
mov rax, qword [rbp + 0x78]
mov qword [rax + rdx*8], r15
inc dword [rbp + 0x70]
call fcn.18001ca20
mov rcx, rbp
call fcn.18001cc10
mov rdx, qword [0x18008f300]
mov byte [rbx + 0x1ce0], dil
mov qword [rbx + 0x1ce8], rdi
mov qword [rbx + 0x1cf4], rdi
mov dword [rbx + 0x1cf0], edi
mov qword [rbx + 0x1d0c], rdi
mov qword [rbx + 0x1d04], rdi
mov qword [rbx + 0x1cfc], rdi
cmp byte [rbx + 0x1e94], dil
je 0x18000737d
mov eax, dword [rbx + 0x1eb4]
cmp eax, dword [rbx + 0x1a60]
jne 0x18000737d
cmp dword [rdx + 0x1a60], eax
jne 0x18000736e
mov dword [rdx + 0x1a64], eax
cmp dword [rdx + 0x1a9c], eax
jne 0x18000737d
mov byte [rdx + 0x1aa0], 1
lea rax, [rbx + 0x1a4c]
mov ecx, dword [rax]
cmp dword [rbx + 0x1a54], edi
jne 0x180007396
mov dword [rbx + 0x1a58], edi
jmp 0x1800073a8
mov r8d, ecx
mov r9, rax
test ecx, ecx
je 0x1800073b4
cmp dword [rbx + 0x1a60], ecx
jne 0x1800073b4
mov dword [rbx + 0x1a5c], edi
mov r8d, ecx
mov r9, rax
movss xmm1, dword [rbx + 0x18]
test r8d, r8d
je 0x1800073ed
movaps xmm0, xmm1
addss xmm0, dword [rbx + 0x1a58]
movss dword [rbx + 0x1a58], xmm0
cmp dword [rbx + 0x1a60], r8d
je 0x1800073ed
movaps xmm0, xmm1
addss xmm0, dword [rbx + 0x1a5c]
movss dword [rbx + 0x1a5c], xmm0
mov eax, dword [rbx + 0x1a60]
movaps xmm2, xmm1
mov dword [rbx + 0x1a54], r8d
mov dword [r9], edi
mov byte [rbx + 0x1a50], dil
cmp dword [rbx + 0x1a64], eax
je 0x18000746b
cmp dword [rbx + 0x1a9c], eax
jne 0x18000746b
test eax, eax
je 0x18000746b
mov ecx, dword [rdx + 0x1a60]
test ecx, ecx
setne al
mov byte [rdx + 0x1a6c], al
test ecx, ecx
je 0x18000743d
mov dword [rdx + 0x1a68], edi
mov word [rdx + 0x1a6e], di
mov dword [rdx + 0x1a60], edi
mov byte [rdx + 0x1a6d], dil
mov qword [rdx + 0x1a90], rdi
mov byte [rdx + 0x1a70], dil
mov qword [rdx + 0x1a74], rdi
mov qword [rdx + 0x1a80], rdi
movss xmm2, dword [rbx + 0x18]
mov ecx, dword [rbx + 0x1a60]
test ecx, ecx
je 0x180007488
movaps xmm0, xmm2
addss xmm0, dword [rbx + 0x1a68]
movss dword [rbx + 0x1a68], xmm0
mov rax, qword [rbx + 0x1a90]
addss xmm2, dword [rbx + 0x1ab4]
mov qword [rbx + 0x1aa8], rax
movzx eax, byte [rbx + 0x1a6f]
mov byte [rbx + 0x1aa1], al
mov eax, dword [rbx + 0x2e90]
movss dword [rbx + 0x1ab4], xmm2
mov dword [rbx + 0x1a9c], ecx
mov dword [rbx + 0x1a64], edi
mov byte [rbx + 0x1a70], dil
mov byte [rbx + 0x1aa0], dil
mov byte [rbx + 0x1a6c], dil
test eax, eax
je 0x1800074e8
cmp ecx, eax
je 0x1800074e8
mov dword [rbx + 0x2e90], edi
test ecx, ecx
jne 0x1800074fa
mov qword [rbx + 0x1a74], rdi
mov qword [rbx + 0x1a80], rdi
mov eax, dword [rbx + 0x1f04]
lea rcx, [rbx + 0xca0]
lea rdx, [rbx + 0x4a0]
mov dword [rbx + 0x1f08], eax
mov r8d, 0x800
mov qword [rbx + 0x1f00], 0x7f7fffff
mov byte [rbx + 0x1e95], dil
call sub.VCRUNTIME140.dll_memcpy
movss xmm1, dword [0x180081610]
lea rcx, [rbx + 0x14d]
lea rax, [rbx + 0x4a4]
mov r8d, 0x80
nop dword [rax]
cmp byte [rcx - 1], dil
je 0x18000756c
movss xmm0, dword [rax - 4]
comiss xmm6, xmm0
jbe 0x180007565
movaps xmm0, xmm6
jmp 0x18000756f
addss xmm0, dword [rbx + 0x18]
jmp 0x18000756f
movaps xmm0, xmm1
movss dword [rax - 4], xmm0
cmp byte [rcx], dil
je 0x18000758e
movss xmm0, dword [rax]
comiss xmm6, xmm0
jbe 0x180007587
movaps xmm0, xmm6
jmp 0x180007591
addss xmm0, dword [rbx + 0x18]
jmp 0x180007591
movaps xmm0, xmm1
movss dword [rax], xmm0
cmp byte [rcx + 1], dil
je 0x1800075b1
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
jbe 0x1800075aa
movaps xmm0, xmm6
jmp 0x1800075b4
addss xmm0, dword [rbx + 0x18]
jmp 0x1800075b4
movaps xmm0, xmm1
movss dword [rax + 4], xmm0
cmp byte [rcx + 2], dil
je 0x1800075d5
movss xmm0, dword [rax + 8]
comiss xmm6, xmm0
jbe 0x1800075ce
movaps xmm0, xmm6
jmp 0x1800075d8
addss xmm0, dword [rbx + 0x18]
jmp 0x1800075d8
movaps xmm0, xmm1
movss dword [rax + 8], xmm0
add rcx, 4
add rax, 0x10
sub r8, 1
jne 0x180007550
call fcn.180010750
call fcn.1800062f0
movsxd rax, dword [rbx + 0x314c]
movss xmm1, dword [rbx + 0x18]
movss xmm7, dword [0x180081604]
movaps xmm0, xmm1
subss xmm0, dword [rbx + rax*4 + 0x2f6c]
addss xmm0, dword [rbx + 0x3150]
movss dword [rbx + 0x3150], xmm0
movss dword [rbx + rax*4 + 0x2f6c], xmm1
mov eax, 0x88888889
mov ecx, dword [rbx + 0x314c]
movss xmm1, dword [rbx + 0x3150]
inc ecx
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x78
sub ecx, eax
comiss xmm1, xmm6
mov dword [rbx + 0x314c], ecx
jbe 0x18000767b
divss xmm1, dword [0x1800815d4]
movss xmm0, dword [0x180081560]
divss xmm0, xmm1
jmp 0x18000767e
movaps xmm0, xmm7
movss dword [rbx + 0x3a8], xmm0
call fcn.180006c10
call fcn.180005e60
mov r11, qword [0x18008f300]
mov eax, dword [r11 + 0x1b60]
sub eax, 1
js 0x1800076db
movsxd rdx, eax
mov rax, qword [r11 + 0x1b68]
add rax, 8
lea r8, [rdx + rdx*2]
shl r8, 4
add r8, rax
nop dword [rax]
mov rax, qword [r8]
test rax, rax
je 0x1800076d1
test dword [rax + 0xc], 0x8000000
jne 0x1800076f1
sub r8, 0x30
sub rdx, 1
jns 0x1800076c0
cmp qword [rbx + 0x1bc8], rdi
je 0x180007710
movss xmm0, dword [rbx + 0x1be4]
comiss xmm0, xmm6
jbe 0x180007710
movss xmm1, dword [rbx + 0x18]
mulss xmm1, dword [0x1800815a4]
addss xmm1, dword [rbx + 0x1d38]
minss xmm1, dword [0x180081560]
jmp 0x18000772d
movss xmm0, dword [rbx + 0x18]
mulss xmm0, dword [0x1800815ac]
movss xmm1, dword [rbx + 0x1d38]
subss xmm1, xmm0
maxss xmm1, xmm6
movss dword [rbx + 0x1d38], xmm1
mov dword [rbx + 0x1e90], edi
mov qword [rbx + 0x3158], 0xffffffffffffffff
mov dword [rbx + 0x3154], 0xffffffff
mov dword [rbx + 0x2ee4], 0x3f800000
mov dword [rbx + 0x2ee8], 0x3f800000
call fcn.1800066a0
mov r8, qword [rbx + 0x1b80]
test r8, r8
je 0x1800077a3
cmp byte [r8 + 0x7e], dil
je 0x1800077a3
test dword [r8 + 0xc], 0x40000
jne 0x1800077a3
cmp byte [rbx + 0x148], dil
jne 0x1800077a3
mov ecx, dword [r11 + 0x3c]
test ecx, ecx
js 0x1800077a3
call fcn.180008770
test al, al
je 0x1800077a3
mov al, 1
jmp 0x1800077a5
xor al, al
mov byte [rbx + 0x1cd8], al
cmp dword [rbx + 0x1a60], edi
jne 0x180007808
test al, al
je 0x180007808
mov qword [rbx + 0x1cc0], r8
mov dword [rbx + 0x1cd0], 0x7fffffff
cmp dword [rbx + 0x1b88], edi
je 0x1800077f7
mov ecx, dword [rbx + 0x1bf0]
cmp ecx, 0x7fffffff
je 0x1800077f7
cmp byte [rbx + 0x149], dil
mov eax, 2
cmovne eax, edi
add eax, ecx
mov dword [rbx + 0x1cd4], eax
jmp 0x180007808
movzx eax, byte [rbx + 0x149]
neg al
sbb ecx, ecx
mov dword [rbx + 0x1cd4], ecx
mov r8, qword [rbx + 0x1cc0]
mov qword [rbx + 0x1cb8], rdi
mov dword [rbx + 0x1ccc], 0x7fffffff
mov dword [rbx + 0x1cc8], 0x7fffffff
test r8, r8
je 0x18000789d
mov eax, dword [rbx + 0x1cd0]
mov qword [rbx + 0x1cb8], r8
cmp eax, 0x7fffffff
je 0x18000785c
mov ecx, dword [r8 + 0x178]
cmp ecx, 0xffffffff
je 0x18000785c
inc ecx
add eax, ecx
cdq
idiv ecx
mov dword [rbx + 0x1cc8], edx
mov eax, dword [rbx + 0x1cd4]
cmp eax, 0x7fffffff
je 0x180007882
mov ecx, dword [r8 + 0x17c]
cmp ecx, 0xffffffff
je 0x180007882
inc ecx
add eax, ecx
cdq
idiv ecx
mov dword [rbx + 0x1ccc], edx
mov qword [rbx + 0x1cc0], rdi
mov dword [rbx + 0x1cd4], 0x7fffffff
mov dword [rbx + 0x1cd0], 0x7fffffff
movss xmm0, dword [rbx + 0xd0]
comiss xmm0, xmm6
mov dword [rbx + 0x1bf0], 0x7fffffff
jb 0x1800078c4
movsd xmm7, qword [rbx + 0x19a8]
cvtpd2ps xmm7, xmm7
subss xmm7, xmm0
mov esi, edi
cmp dword [rbx + 0x19c0], edi
je 0x180007925
mov r14, rdi
mov rax, qword [rbx + 0x19c8]
mov rcx, qword [r14 + rax]
movzx eax, byte [rcx + 0x7e]
mov byte [rcx + 0x7f], al
mov word [rcx + 0x88], di
mov byte [rcx + 0x7e], dil
mov byte [rcx + 0x80], dil
test al, al
jne 0x180007910
cmp byte [rcx + 0x3a8], dil
jne 0x180007910
comiss xmm7, dword [rcx + 0x254]
jbe 0x180007910
call fcn.1800056c0
inc esi
add r14, 8
cmp esi, dword [rbx + 0x19c0]
jne 0x1800078d1
mov r11, qword [0x18008f300]
mov rax, qword [rbx + 0x1b80]
test rax, rax
je 0x180007992
cmp byte [rax + 0x7f], dil
jne 0x180007992
mov eax, dword [r11 + 0x19d0]
sub eax, 1
js 0x18000798b
movsxd r9, eax
mov rax, qword [r11 + 0x19d8]
lea r10, [rax + r9*8]
mov r8, qword [r10]
test r8, r8
je 0x180007981
cmp byte [r8 + 0x7f], dil
je 0x180007981
mov eax, dword [r8 + 0xc]
and eax, 0x40200
cmp eax, 0x40200
setne cl
bt dword [r8 + 0xc], 0x18
setae al
test al, cl
jne 0x180007bb1
sub r10, 8
sub r9, 1
jns 0x180007951
xor ecx, ecx
call fcn.18000db40
mov ecx, dword [rbx + 0x19f4]
test ecx, ecx
jns 0x1800079b8
mov eax, ecx
cdq
sub eax, edx
mov edx, edi
sar eax, 1
add eax, ecx
lea rcx, [rbx + 0x19f0]
test eax, eax
cmovg edx, eax
call fcn.180014450
lea rcx, [rbx + 0x1b70]
mov dword [rbx + 0x19f0], edi
xor edx, edx
call fcn.180014180
mov r10, qword [0x18008f300]
mov r15, qword [rbx + 0x1b80]
movsxd r12, dword [r10 + 0x1b60]
test r12d, r12d
je 0x180007a82
mov r14d, edi
test r15, r15
je 0x180007a67
test r12d, r12d
jle 0x180007a67
mov rsi, qword [r10 + 0x1b68]
mov rbp, rdi
add rsi, 8
mov rax, qword [rsi]
test rax, rax
je 0x180007a58
test dword [rax + 0xc], 0x1000000
jne 0x180007a58
xor cl, cl
mov r8, rbp
cmp rbp, r12
jge 0x180007a67
mov rdx, rsi
test cl, cl
jne 0x180007a58
mov r9, qword [rdx]
test r9, r9
je 0x180007a48
mov rax, qword [r15 + 0x360]
cmp qword [r9 + 0x360], rax
mov eax, 1
movzx ecx, cl
cmove ecx, eax
inc r8
add rdx, 0x30
cmp r8, r12
jl 0x180007a23
test cl, cl
je 0x180007a67
inc r14d
inc rbp
add rsi, 0x30
cmp r14d, r12d
jl 0x180007a05
cmp r14d, r12d
jge 0x180007a82
mov edx, r14d
lea rcx, [r10 + 0x1b60]
call fcn.180014180
mov r10, qword [0x18008f300]
mov dword [r10 + 0x2f68], edi
cmp byte [r10 + 0x2f64], dil
je 0x180007b48
mov esi, dword [r10 + 0x1a54]
mov dword [r10 + 0x1e90], 7
mov ecx, dword [r10 + 0x74]
test ecx, ecx
js 0x180007ac0
call fcn.180008770
test al, al
je 0x180007ac0
mov byte [r10 + 0x2f64], dil
movss xmm0, dword [r10 + 0x43c]
ucomiss xmm0, xmm6
jp 0x180007ae2
jne 0x180007ae2
test esi, esi
je 0x180007ae2
mov dword [r10 + 0x2f68], esi
mov byte [r10 + 0x2f64], dil
or dword [r10 + 0x1ab8], 0x40
mov dword [r10 + 0x1b10], 0x3f19999a
call fcn.18000eb00
mov edx, esi
lea rcx, str.HoveredId:_0x_08X
call fcn.180025af0
lea rcx, str.Press_ESC_to_abort_picking.
call fcn.180025af0
mov rcx, qword [0x18008f300]
lea rdx, str.Click_to_break_in_debugger_
mov eax, 0x10
test esi, esi
cmove rdi, rax
add rcx, 0x1608
add rcx, rdi
call fcn.180025bf0
call fcn.18000d9d0
mov r10, qword [0x18008f300]
or dword [r10 + 0x1ab8], 2
lea rcx, str.DebugDefault
xor r8d, r8d
mov dword [r10 + 0x1ad8], 0x43c80000
xor edx, edx
mov dword [r10 + 0x1adc], 0x43c80000
mov dword [r10 + 0x1ac0], 4
call fcn.18000b550
movaps xmm6, xmmword [rsp + 0x30]
lea r11, [rsp + 0x40]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
movaps xmm7, xmmword [rsp + 0x20]
mov byte [rbx + 0x19bd], 1
mov rbx, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov rax, qword [r8 + 0x378]
test rax, rax
cmovne r8, rax
mov rcx, r8
jmp 0x18000798d