Function at 0x18001d8c0
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, 0x50
mov rbx, qword [0x180059c00]
movaps xmmword [rsp + 0x40], xmm6
movaps xmmword [rsp + 0x30], xmm7
cmp byte [rbx + 0xcb], 0
je 0x18001d903
test byte [rbx + 0xc], 2
jne 0x18001d903
mov byte [rbx + 0xcb], 0
xor edi, edi
cmp byte [rbx + 0x2ef4], dil
jne 0x18001d966
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x18001d95f
lea r8, [rsp + 0x80]
mov qword [rsp + 0x80], rdi
call fcn.18001a260
mov rsi, rax
test rax, rax
je 0x18001d95f
mov rdx, qword [rsp + 0x80]
mov rcx, rax
call fcn.180029f50
mov rcx, qword [0x180059c00]
test rcx, rcx
je 0x18001d956
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 0x18001d9a5
subss xmm0, dword [rbx + 0x18]
comiss xmm6, xmm0
movss dword [rbx + 0x2ef8], xmm0
jb 0x18001d9a5
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x18001d998
call fcn.18002a1b0
jmp 0x18001d99f
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 [0x180059c00]
mov rcx, qword [rax + 0xb8]
test rcx, rcx
jne 0x18001da01
mov rax, qword [rax + 0xa8]
mov rcx, qword [rax + 0x48]
mov rcx, qword [rcx]
call fcn.180024830
mov ecx, 1
mov eax, dword [rbx + 0x1604]
movss xmm2, dword [rbx + 0x10]
movss xmm0, dword [rbx + 0x14]
mov qword [rsp + 0x20], rdi
movups xmm1, xmmword [rsp + 0x20]
mov dword [rbx + 0x192c], eax
mov eax, edi
mov dword [rbx + 0x1940], edi
shufps xmm1, xmm1, 0xd2
movss xmm1, xmm2
shufps xmm1, xmm1, 0x27
movss xmm1, xmm0
shufps xmm1, xmm1, 0x39
movups xmmword [rbx + 0x1930], xmm1
cmp byte [rbx + 0x1600], dil
je 0x18001da5f
mov dword [rbx + 0x1940], ecx
mov eax, ecx
cmp byte [rbx + 0x1601], dil
je 0x18001da71
or eax, 2
mov dword [rbx + 0x1940], eax
test byte [rbx + 0xc], 8
je 0x18001da80
or eax, 4
mov dword [rbx + 0x1940], eax
lea rbp, [rbx + 0x1d40]
mov rcx, rbp
call fcn.180032cb0
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 0x18001dad2
inc r8d
test ecx, ecx
je 0x18001dabd
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18001dabf
mov eax, esi
cmp eax, r8d
lea rcx, [rbp + 0x70]
cmovg r8d, eax
mov edx, r8d
call fcn.18002b170
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.1800330c0
mov rcx, rbp
call fcn.180033290
lea rbp, [rbx + 0x1de8]
mov rcx, rbp
call fcn.180032cb0
mov rax, qword [rbx + 0xa8]
mov r8d, dword [rbp + 0x74]
mov ecx, dword [rbp + 0x70]
mov r15, qword [rax + 8]
cmp ecx, r8d
jne 0x18001db3a
inc ecx
test r8d, r8d
je 0x18001db2a
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.18002b170
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.1800330c0
mov rcx, rbp
call fcn.180033290
mov rdx, qword [0x180059c00]
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 0x18001dbc4
mov eax, dword [rbx + 0x1eb4]
cmp eax, dword [rbx + 0x1a60]
jne 0x18001dbc4
cmp dword [rdx + 0x1a60], eax
jne 0x18001dbb5
mov dword [rdx + 0x1a64], eax
cmp dword [rdx + 0x1a9c], eax
jne 0x18001dbc4
mov byte [rdx + 0x1aa0], 1
cmp dword [rbx + 0x1a54], edi
jne 0x18001dbd4
mov dword [rbx + 0x1a58], edi
jmp 0x18001dbe6
mov eax, dword [rbx + 0x1a4c]
test eax, eax
je 0x18001dbec
cmp dword [rbx + 0x1a60], eax
jne 0x18001dbec
mov dword [rbx + 0x1a5c], edi
mov eax, dword [rbx + 0x1a4c]
test eax, eax
je 0x18001dc26
movss xmm1, dword [rbx + 0x18]
movaps xmm0, xmm1
addss xmm0, dword [rbx + 0x1a58]
movss dword [rbx + 0x1a58], xmm0
cmp dword [rbx + 0x1a60], eax
je 0x18001dc26
addss xmm1, dword [rbx + 0x1a5c]
movss dword [rbx + 0x1a5c], xmm1
mov dword [rbx + 0x1a54], eax
mov eax, dword [rbx + 0x1a60]
mov dword [rbx + 0x1a4c], edi
mov byte [rbx + 0x1a50], dil
cmp dword [rbx + 0x1a64], eax
je 0x18001dc9e
cmp dword [rbx + 0x1a9c], eax
jne 0x18001dc9e
test eax, eax
je 0x18001dc9e
mov ecx, dword [rdx + 0x1a60]
test ecx, ecx
setne al
mov byte [rdx + 0x1a6c], al
test ecx, ecx
je 0x18001dc75
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
mov ecx, dword [rbx + 0x1a60]
test ecx, ecx
je 0x18001dcbd
movss xmm0, dword [rbx + 0x18]
addss xmm0, dword [rbx + 0x1a68]
movss dword [rbx + 0x1a68], xmm0
mov rax, qword [rbx + 0x1a90]
movss xmm0, dword [rbx + 0x18]
addss xmm0, 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], xmm0
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 0x18001dd22
cmp ecx, eax
je 0x18001dd22
mov dword [rbx + 0x2e90], edi
test ecx, ecx
jne 0x18001dd34
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 [0x180051c4c]
lea rcx, [rbx + 0x14d]
lea rax, [rbx + 0x4a4]
mov r8d, 0x80
cmp byte [rcx - 1], dil
je 0x18001dda3
movss xmm0, dword [rax - 4]
comiss xmm6, xmm0
jbe 0x18001dd9c
movaps xmm0, xmm6
jmp 0x18001dda6
addss xmm0, dword [rbx + 0x18]
jmp 0x18001dda6
movaps xmm0, xmm1
movss dword [rax - 4], xmm0
cmp byte [rcx], dil
je 0x18001ddc5
movss xmm0, dword [rax]
comiss xmm6, xmm0
jbe 0x18001ddbe
movaps xmm0, xmm6
jmp 0x18001ddc8
addss xmm0, dword [rbx + 0x18]
jmp 0x18001ddc8
movaps xmm0, xmm1
movss dword [rax], xmm0
cmp byte [rcx + 1], dil
je 0x18001dde8
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
jbe 0x18001dde1
movaps xmm0, xmm6
jmp 0x18001ddeb
addss xmm0, dword [rbx + 0x18]
jmp 0x18001ddeb
movaps xmm0, xmm1
movss dword [rax + 4], xmm0
cmp byte [rcx + 2], dil
je 0x18001de0c
movss xmm0, dword [rax + 8]
comiss xmm6, xmm0
jbe 0x18001de05
movaps xmm0, xmm6
jmp 0x18001de0f
addss xmm0, dword [rbx + 0x18]
jmp 0x18001de0f
movaps xmm0, xmm1
movss dword [rax + 8], xmm0
add rcx, 4
add rax, 0x10
sub r8, 1
jne 0x18001dd87
call fcn.1800274f0
call fcn.18001cbb0
movsxd rax, dword [rbx + 0x314c]
movss xmm1, dword [rbx + 0x18]
movss xmm7, dword [0x180051c40]
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 0x18001deb2
divss xmm1, dword [0x180051c14]
movss xmm0, dword [0x180051b68]
divss xmm0, xmm1
jmp 0x18001deb5
movaps xmm0, xmm7
movss dword [rbx + 0x3a8], xmm0
call fcn.18001d460
call fcn.18001c720
mov r11, qword [0x180059c00]
mov eax, dword [r11 + 0x1b60]
sub eax, 1
js 0x18001df0e
movsxd rdx, eax
mov rax, qword [r11 + 0x1b68]
add rax, 8
lea r8, [rdx + rdx*2]
shl r8, 4
add r8, rax
mov rax, qword [r8]
test rax, rax
je 0x18001df04
test dword [rax + 0xc], 0x8000000
jne 0x18001df24
sub r8, 0x30
sub rdx, 1
jns 0x18001def3
cmp qword [rbx + 0x1bc8], rdi
je 0x18001df43
movss xmm0, dword [rbx + 0x1be4]
comiss xmm0, xmm6
jbe 0x18001df43
movss xmm1, dword [rbx + 0x18]
mulss xmm1, dword [0x180051bdc]
addss xmm1, dword [rbx + 0x1d38]
minss xmm1, dword [0x180051b68]
jmp 0x18001df60
movss xmm0, dword [rbx + 0x18]
mulss xmm0, dword [0x180051be8]
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.18001cf20
mov r10, qword [rbx + 0x1b80]
test r10, r10
je 0x18001dfd6
cmp byte [r10 + 0x7e], dil
je 0x18001dfd6
test dword [r10 + 0xc], 0x40000
jne 0x18001dfd6
cmp byte [rbx + 0x148], dil
jne 0x18001dfd6
mov ecx, dword [r11 + 0x3c]
test ecx, ecx
js 0x18001dfd6
call fcn.18001f030
test al, al
je 0x18001dfd6
mov al, 1
jmp 0x18001dfd8
xor al, al
mov byte [rbx + 0x1cd8], al
cmp dword [rbx + 0x1a60], edi
jne 0x18001e03b
test al, al
je 0x18001e03b
mov qword [rbx + 0x1cc0], r10
mov dword [rbx + 0x1cd0], 0x7fffffff
cmp dword [rbx + 0x1b88], edi
je 0x18001e02a
mov ecx, dword [rbx + 0x1bf0]
cmp ecx, 0x7fffffff
je 0x18001e02a
cmp byte [rbx + 0x149], dil
mov eax, 2
cmovne eax, edi
add eax, ecx
mov dword [rbx + 0x1cd4], eax
jmp 0x18001e03b
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 0x18001e0d0
mov eax, dword [rbx + 0x1cd0]
mov qword [rbx + 0x1cb8], r8
cmp eax, 0x7fffffff
je 0x18001e08f
mov ecx, dword [r8 + 0x178]
cmp ecx, 0xffffffff
je 0x18001e08f
inc ecx
add eax, ecx
cdq
idiv ecx
mov dword [rbx + 0x1cc8], edx
mov eax, dword [rbx + 0x1cd4]
cmp eax, 0x7fffffff
je 0x18001e0b5
mov ecx, dword [r8 + 0x17c]
cmp ecx, 0xffffffff
je 0x18001e0b5
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 0x18001e0f7
movsd xmm7, qword [rbx + 0x19a8]
cvtpd2ps xmm7, xmm7
subss xmm7, xmm0
mov esi, edi
cmp dword [rbx + 0x19c0], edi
je 0x18001e164
mov r14, rdi
nop dword [rax]
nop dword [rax + rax]
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 0x18001e14f
cmp byte [rcx + 0x3a8], dil
jne 0x18001e14f
comiss xmm7, dword [rcx + 0x254]
jbe 0x18001e14f
call fcn.18001bdc0
inc esi
add r14, 8
cmp esi, dword [rbx + 0x19c0]
jne 0x18001e110
mov r11, qword [0x180059c00]
mov rax, qword [rbx + 0x1b80]
test rax, rax
je 0x18001e1d1
cmp byte [rax + 0x7f], dil
jne 0x18001e1d1
mov eax, dword [r11 + 0x19d0]
sub eax, 1
js 0x18001e1ca
movsxd r9, eax
mov rax, qword [r11 + 0x19d8]
lea r10, [rax + r9*8]
mov r8, qword [r10]
test r8, r8
je 0x18001e1c0
cmp byte [r8 + 0x7f], dil
je 0x18001e1c0
mov eax, dword [r8 + 0xc]
and eax, 0x40200
cmp eax, 0x40200
setne cl
bt dword [r8 + 0xc], 0x18
setae al
test al, cl
jne 0x18001e40d
sub r10, 8
sub r9, 1
jns 0x18001e190
xor ecx, ecx
call fcn.1800243c0
mov ecx, dword [rbx + 0x19f4]
test ecx, ecx
jns 0x18001e1f7
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.18002b170
lea rcx, [rbx + 0x1b70]
mov dword [rbx + 0x19f0], edi
xor edx, edx
call fcn.18002aea0
mov r9, qword [0x180059c00]
mov r13, qword [rbx + 0x1b80]
movsxd r12, dword [r9 + 0x1b60]
test r12d, r12d
je 0x18001e2de
mov ebp, edi
test r13, r13
je 0x18001e2c0
test r12d, r12d
jle 0x18001e2c0
mov r14, qword [r9 + 0x1b68]
mov rsi, rdi
add r14, 8
mov r15, rdi
nop
mov rax, qword [r14]
test rax, rax
je 0x18001e2ae
test dword [rax + 0xc], 0x1000000
jne 0x18001e2ae
xor cl, cl
mov r8, rsi
cmp rsi, r12
jge 0x18001e2c0
mov rdx, r15
nop
test cl, cl
jne 0x18001e2ae
mov rax, qword [r9 + 0x1b68]
mov r10, qword [rax + rdx + 8]
test r10, r10
je 0x18001e29e
mov rax, qword [r13 + 0x360]
cmp qword [r10 + 0x360], rax
mov eax, 1
movzx ecx, cl
cmove ecx, eax
inc r8
add rdx, 0x30
cmp r8, r12
jl 0x18001e270
test cl, cl
je 0x18001e2c0
inc ebp
inc rsi
add r15, 0x30
add r14, 0x30
cmp ebp, r12d
jl 0x18001e250
cmp ebp, dword [r9 + 0x1b60]
jge 0x18001e2de
lea rcx, [r9 + 0x1b60]
mov edx, ebp
call fcn.18002aea0
mov r9, qword [0x180059c00]
mov dword [r9 + 0x2f68], edi
cmp byte [r9 + 0x2f64], dil
je 0x18001e3a4
mov esi, dword [r9 + 0x1a54]
mov dword [r9 + 0x1e90], 7
mov ecx, dword [r9 + 0x74]
test ecx, ecx
js 0x18001e31c
call fcn.18001f030
test al, al
je 0x18001e31c
mov byte [r9 + 0x2f64], dil
movss xmm0, dword [r9 + 0x43c]
ucomiss xmm0, xmm6
jp 0x18001e33e
jne 0x18001e33e
test esi, esi
je 0x18001e33e
mov dword [r9 + 0x2f68], esi
mov byte [r9 + 0x2f64], dil
or dword [r9 + 0x1ab8], 0x40
mov dword [r9 + 0x1b10], 0x3f19999a
call fcn.180025870
mov edx, esi
lea rcx, str.HoveredId:_0x_08X
call fcn.18003c1d0
lea rcx, str.Press_ESC_to_abort_picking.
call fcn.18003c1d0
mov rcx, qword [0x180059c00]
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.18003c2d0
call fcn.180024250
mov r9, qword [0x180059c00]
or dword [r9 + 0x1ab8], 2
lea rcx, str.DebugDefault
xor r8d, r8d
mov dword [r9 + 0x1ad8], 0x43c80000
xor edx, edx
mov dword [r9 + 0x1adc], 0x43c80000
mov dword [r9 + 0x1ac0], 4
call fcn.180021e60
movaps xmm6, xmmword [rsp + 0x40]
lea r11, [rsp + 0x50]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
movaps xmm7, xmmword [rsp + 0x30]
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 0x18001e1cc