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

Disassembly:
mov rax, rsp
push rbx
push rsi
push rdi
sub rsp, 0x90
mov rsi, qword [0x1800b4ba8]
mov qword [rax + 0x10], rbp
mov rbx, rsi
mov qword [rax + 0x20], r13
mov qword [rax - 0x20], r14
mov edi, dword [rsi + 0x30d8]
sub edi, 1
vmovaps xmmword [rax - 0x38], xmm6
vmovaps xmmword [rax - 0x48], xmm7
vmovaps xmmword [rax - 0x58], xmm8
vmovaps xmmword [rax - 0x68], xmm9
vmovaps xmmword [rax - 0x78], xmm10
vmovaps xmmword [rsp + 0x20], xmm11
js 0x180020543
movsxd rbp, edi
shl rbp, 5
mov r14, rbp
nop word [rax + rax]
mov rdx, qword [rsi + 0x30e0]
cmp dword [rdx + rbp + 4], 7
jne 0x180020536
movsxd r8, dword [rsi + 0x30d8]
mov rcx, rdx
sub rdx, rdx
add rdx, r14
sar rdx, 5
sub r8, rdx
mov rax, rdx
shl rax, 5
add rcx, rax
shl r8, 5
sub r8, 0x20
lea rdx, [rcx + 0x20]
call fcn.180089ce0
dec dword [rsi + 0x30d8]
sub r14, 0x20
sub rbp, 0x20
sub edi, 1
jns 0x1800204f0
xor edi, edi
mov ebp, edi
cmp dword [rsi + 0x30d8], edi
jle 0x180020584
mov esi, edi
mov rax, qword [rbx + 0x30e0]
cmp dword [rax + rsi + 4], edi
jne 0x18002056f
movsxd rdx, ebp
mov rcx, rbx
shl rdx, 5
add rdx, rax
call qword [rax + rsi + 0x10]
inc ebp
add rsi, 0x20
cmp ebp, dword [rbx + 0x30d8]
jl 0x180020551
mov rsi, qword [0x1800b4ba8]
cmp byte [rsi + 0xcc], dil
je 0x18002059a
test byte [rsi + 0xc], 2
jne 0x18002059a
mov byte [rsi + 0xcc], dil
mov rbp, rsi
cmp byte [rsi + 0x3091], dil
jne 0x180020604
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je 0x1800205fd
lea r8, [rsp + 0xb0]
mov qword [rsp + 0xb0], rdi
call fcn.18001bf40
mov rsi, rax
test rax, rax
je 0x1800205f6
mov rdx, qword [rsp + 0xb0]
mov rcx, rax
call fcn.18002dc70
mov rcx, qword [0x1800b4ba8]
test rcx, rcx
je 0x1800205ee
dec dword [rcx + 0x3b0]
mov rcx, rsi
call fcn.18006c648
mov rsi, qword [0x1800b4ba8]
mov byte [rbp + 0x3091], 1
vmovss xmm0, dword [rbp + 0x3094]
vxorps xmm6, xmm6, xmm6
vcomiss xmm0, xmm6
jbe 0x18002064d
vsubss xmm0, xmm0, dword [rbp + 0x18]
vcomiss xmm6, xmm0
vmovss dword [rbp + 0x3094], xmm0
jb 0x18002064d
mov rcx, qword [rbp + 0x20]
test rcx, rcx
je 0x180020640
call fcn.18002dfd0
mov rsi, qword [0x1800b4ba8]
jmp 0x180020647
mov byte [rbp + 0x398], 1
mov dword [rbp + 0x3094], edi
inc dword [rbx + 0x1b88]
vmovss xmm0, dword [rbx + 0x18]
vcvtss2sd xmm0, xmm0, xmm0
vaddsd xmm1, xmm0, qword [rbx + 0x1b80]
vmovsd qword [rbx + 0x1b80], xmm1
mov byte [rbx + 0x1b94], 1
mov dword [rbx + 0x3054], edi
mov dword [rbx + 0x1bf8], edi
mov ecx, dword [rbx + 0x3074]
test ecx, ecx
jns 0x1800206ac
mov eax, ecx
cdq
sub eax, edx
mov edx, edi
sar eax, 1
add eax, ecx
lea rcx, [rbx + 0x3070]
test eax, eax
cmovg edx, eax
call fcn.18002f760
mov rsi, qword [0x1800b4ba8]
vmovss xmm11, dword [0x1800a0ba8]
vmovss xmm10, dword [0x1800a0b04]
mov dword [rbx + 0x3070], edi
movsxd rax, dword [rbx + 0x332c]
vmovss xmm2, dword [rbx + 0x18]
vsubss xmm0, xmm2, dword [rbx + rax*4 + 0x314c]
vaddss xmm1, xmm0, dword [rbx + 0x3334]
vmovss dword [rbx + 0x3334], xmm1
vmovss dword [rbx + rax*4 + 0x314c], xmm2
mov ecx, dword [rbx + 0x332c]
mov eax, 0x88888889
vmovss xmm1, dword [rbx + 0x3334]
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
mov eax, dword [rbx + 0x3330]
inc eax
mov dword [rbx + 0x332c], ecx
mov ecx, 0x78
cmp eax, ecx
cmovl ecx, eax
vcomiss xmm1, xmm6
mov dword [rbx + 0x3330], ecx
jbe 0x18002074e
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, ecx
vdivss xmm1, xmm1, xmm0
vdivss xmm2, xmm10, xmm1
jmp 0x180020753
vmovaps xmm2, xmm11
vmovss dword [rbx + 0x39c], xmm2
mov rax, qword [rsi + 0x1de8]
mov r8d, edi
mov rcx, qword [rax]
mov qword [rcx], 5
mov dword [rcx + 8], edi
vmovsd xmm0, qword [rsi + 0x10]
vmovsd qword [rcx + 0xc], xmm0
cmp dword [rsi + 0x1de0], edi
jle 0x18002082c
mov rdx, rdi
nop dword [rax + rax]
mov rax, qword [rsi + 0x1de8]
lea rdx, [rdx + 8]
inc r8d
mov rcx, qword [rdx + rax - 8]
vmovsd xmm4, qword [rcx + 0xa0]
vmovsd xmm3, qword [rcx + 0xa8]
vaddss xmm2, xmm4, dword [rcx + 4]
vmovss dword [rcx + 0x14], xmm2
vmovss xmm2, dword [rcx + 0x10]
vmovsd qword [rcx + 0x98], xmm3
vshufps xmm0, xmm4, xmm4, 0x55
vaddss xmm1, xmm0, dword [rcx + 8]
vmovss xmm0, dword [rcx + 0xc]
vmovss dword [rcx + 0x18], xmm1
vsubss xmm1, xmm0, xmm4
vaddss xmm0, xmm1, xmm3
vshufps xmm1, xmm4, xmm4, 0x55
vmaxss xmm3, xmm6, xmm0
vsubss xmm0, xmm2, xmm1
mov qword [rcx + 0xa8], rdi
mov qword [rcx + 0xa0], rdi
vmovsd qword [rcx + 0x90], xmm4
vaddss xmm2, xmm0, dword [rcx + 0x9c]
vmaxss xmm1, xmm6, xmm2
vmovss dword [rcx + 0x20], xmm1
vmovss dword [rcx + 0x1c], xmm3
cmp r8d, dword [rsi + 0x1de0]
jl 0x180020790
mov rax, qword [rbx + 0xa8]
mov byte [rax + 0x18], 1
mov rcx, qword [rsi + 0xb8]
test rcx, rcx
jne 0x180020851
mov rax, qword [rsi + 0xa8]
mov rcx, qword [rax + 0x50]
mov rcx, qword [rcx]
call fcn.180027a30
mov eax, dword [rbx + 0x1de0]
vmovss xmm7, dword [0x1800a0bc8]
vmovaps xmm5, xmm11
vmovaps xmm8, xmm11
vmovaps xmm9, xmm7
test eax, eax
jle 0x1800208ce
mov rcx, qword [rbx + 0x1de8]
mov edx, eax
nop
mov rax, qword [rcx]
lea rcx, [rcx + 8]
vmovss xmm1, dword [rax + 4]
vmovss xmm2, dword [rax + 8]
vaddss xmm3, xmm1, dword [rax + 0xc]
vaddss xmm4, xmm2, dword [rax + 0x10]
vcmpltss xmm0, xmm1, xmm5
vblendvps xmm5, xmm5, xmm1, xmm0
vcmpltss xmm0, xmm2, xmm8
vblendvps xmm8, xmm8, xmm2, xmm0
vcmpltss xmm0, xmm7, xmm3
vblendvps xmm7, xmm7, xmm3, xmm0
vcmpltss xmm0, xmm9, xmm4
vblendvps xmm9, xmm9, xmm4, xmm0
sub rdx, 1
jne 0x180020880
mov qword [rsp + 0x80], r15
vmovss dword [rbx + 0x199c], xmm5
vmovss dword [rbx + 0x19a0], xmm8
vmovss dword [rbx + 0x19a4], xmm7
vmovss dword [rbx + 0x19a8], xmm9
mov eax, dword [rbx + 0x1618]
vmovss xmm1, dword [rbx + 0x161c]
vmovaps xmm9, xmmword [rsp + 0x40]
vmovaps xmm8, xmmword [rsp + 0x50]
mov dword [rbx + 0x1994], eax
vmovss xmm0, dword [rbx + 0x1998]
vucomiss xmm0, xmm1
jp 0x18002092a
je 0x1800209d9
vmovss xmm7, dword [0x1800a0b34]
vmovss dword [rbx + 0x1998], xmm1
mov ebp, edi
lea r14, [rbx + 0x1b34]
mov r15d, 0x200
nop dword [rax]
vxorps xmm2, xmm2, xmm2
vcvtsi2ss xmm2, xmm2, ebp
test ebp, ebp
je 0x1800209a5
vmovss xmm0, dword [rbx + 0x1998]
vminss xmm1, xmm0, xmm2
vdivss xmm2, xmm1, xmm2
vsubss xmm0, xmm10, xmm2
call fcn.180085380
vdivss xmm1, xmm7, xmm0
vxorps xmm2, xmm2, xmm2
vroundss xmm2, xmm2, xmm1, 2
vcvttss2si eax, xmm2
inc eax
cdq
sub eax, edx
sar eax, 1
add eax, eax
cmp eax, 4
jge 0x18002099c
mov eax, 4
jmp 0x1800209a7
cmp eax, r15d
cmovg eax, r15d
jmp 0x1800209a7
mov eax, edi
mov byte [r14], al
inc ebp
inc r14
cmp ebp, 0x40
jl 0x180020950
vmovss xmm0, dword [0x1800a0aa4]
call fcn.1800855b0
vsubss xmm1, xmm10, xmm0
vmovss xmm0, dword [rbx + 0x1998]
vdivss xmm1, xmm0, xmm1
vmovss dword [rbx + 0x1b30], xmm1
mov r8d, edi
vmovaps xmm7, xmmword [rsp + 0x60]
mov dword [rbx + 0x19ac], edi
cmp byte [rbx + 0x1614], dil
je 0x1800209fe
mov r8d, 1
mov dword [rbx + 0x19ac], r8d
mov edx, r8d
cmp byte [rbx + 0x1615], dil
je 0x180020a23
mov rax, qword [rbx + 0x1970]
mov rcx, qword [rax + 0x40]
test byte [rcx], 4
jne 0x180020a23
or edx, 2
mov dword [rbx + 0x19ac], edx
cmp byte [rbx + 0x1616], dil
je 0x180020a35
or edx, 4
mov dword [rbx + 0x19ac], edx
test byte [rbx + 0xc], 8
je 0x180020a44
or edx, 8
mov dword [rbx + 0x19ac], edx
mov edx, edi
cmp dword [rbx + 0x1de0], edi
jle 0x180020a79
mov r8, rdi
mov rax, qword [rbx + 0x1de8]
lea r8, [r8 + 8]
vpxor xmm0, xmm0, xmm0
inc edx
mov rcx, qword [r8 + rax - 8]
vmovups ymmword [rcx + 0x40], ymm0
vmovups xmmword [rcx + 0x60], xmm0
cmp edx, dword [rbx + 0x1de0]
jl 0x180020a51
cmp byte [rbx + 0x1f74], dil
je 0x180020aad
mov eax, dword [rbx + 0x1f94]
cmp eax, dword [rbx + 0x1c50]
jne 0x180020aad
cmp dword [rsi + 0x1c50], eax
jne 0x180020a9e
mov dword [rsi + 0x1c54], eax
cmp dword [rsi + 0x1c90], eax
jne 0x180020aad
mov byte [rsi + 0x1c94], 1
cmp dword [rbx + 0x1c40], edi
jne 0x180020abd
mov dword [rbx + 0x1c48], edi
jmp 0x180020acf
mov eax, dword [rbx + 0x1c3c]
test eax, eax
je 0x180020ad5
cmp dword [rbx + 0x1c50], eax
jne 0x180020ad5
mov dword [rbx + 0x1c4c], edi
mov eax, dword [rbx + 0x1c3c]
test eax, eax
je 0x180020b0c
vmovss xmm1, dword [rbx + 0x18]
vaddss xmm0, xmm1, dword [rbx + 0x1c48]
vmovss dword [rbx + 0x1c48], xmm0
cmp dword [rbx + 0x1c50], eax
je 0x180020b0c
vaddss xmm0, xmm1, dword [rbx + 0x1c4c]
vmovss dword [rbx + 0x1c4c], xmm0
mov dword [rbx + 0x1c40], eax
mov r13d, 0xffffffff
movzx eax, byte [rbx + 0x1c45]
mov byte [rbx + 0x1c46], al
mov eax, dword [rbx + 0x1c50]
mov dword [rbx + 0x1c3c], edi
mov word [rbx + 0x1c44], di
mov byte [rbx + 0x1c47], dil
cmp dword [rbx + 0x1c54], eax
je 0x180020ba5
cmp dword [rbx + 0x1c90], eax
jne 0x180020ba5
test eax, eax
je 0x180020ba5
mov ecx, dword [rsi + 0x1c50]
test ecx, ecx
setne al
mov byte [rsi + 0x1c5c], al
test ecx, ecx
je 0x180020b7c
mov dword [rsi + 0x1c58], edi
mov word [rsi + 0x1c5f], di
mov dword [rsi + 0x1c8c], r13d
mov dword [rsi + 0x1c50], edi
mov word [rsi + 0x1c5d], di
mov qword [rsi + 0x1c80], rdi
mov word [rsi + 0x1c61], di
mov qword [rsi + 0x1c64], rdi
mov qword [rsi + 0x1c70], rdi
mov ecx, dword [rbx + 0x1c50]
test ecx, ecx
je 0x180020bc4
vmovss xmm0, dword [rbx + 0x18]
vaddss xmm1, xmm0, dword [rbx + 0x1c58]
vmovss dword [rbx + 0x1c58], xmm1
mov rax, qword [rbx + 0x1c80]
vmovss xmm0, dword [rbx + 0x18]
vaddss xmm1, xmm0, dword [rbx + 0x1ca4]
mov qword [rbx + 0x1c98], rax
movzx eax, byte [rbx + 0x1c60]
mov byte [rbx + 0x1c95], al
mov eax, dword [rbx + 0x2fe0]
mov dword [rbx + 0x1c90], ecx
mov dword [rbx + 0x1c54], edi
mov byte [rbx + 0x1c61], dil
mov byte [rbx + 0x1c94], dil
mov byte [rbx + 0x1c5c], dil
vmovss dword [rbx + 0x1ca4], xmm1
test eax, eax
je 0x180020c29
cmp ecx, eax
je 0x180020c29
mov dword [rbx + 0x2fe0], edi
test ecx, ecx
jne 0x180020c3b
mov qword [rbx + 0x1c64], rdi
mov qword [rbx + 0x1c70], rdi
mov eax, dword [rbx + 0x1fe4]
mov r8d, 0x800
mov dword [rbx + 0x1fe8], eax
mov eax, edi
mov qword [rbx + 0x1fe0], 0x7f7fffff
mov word [rbx + 0x1f75], di
mov dword [rbx + 0x1ff0], edi
cmp byte [rsi + 0x140], dil
setne al
mov ecx, eax
or ecx, 2
cmp byte [rsi + 0x141], dil
cmove ecx, eax
mov edx, ecx
or edx, 4
cmp byte [rsi + 0x142], dil
cmove edx, ecx
lea rcx, [rbx + 0xca0]
mov eax, edx
or eax, 8
cmp byte [rsi + 0x143], dil
cmove eax, edx
lea rdx, [rbx + 0x4a0]
mov dword [rbx + 0x3bc], eax
vzeroupper
call fcn.180089ce0
vmovss xmm1, dword [0x1800a0bbc]
lea rcx, [rbx + 0x145]
mov r8d, 0x80
lea rax, [rbx + 0x4a4]
cmp byte [rcx - 1], dil
je 0x180020cf4
vmovss xmm0, dword [rax - 4]
vcomiss xmm6, xmm0
jbe 0x180020ced
vmovaps xmm0, xmm6
jmp 0x180020cf8
vaddss xmm0, xmm0, dword [rbx + 0x18]
jmp 0x180020cf8
vmovaps xmm0, xmm1
vmovss dword [rax - 4], xmm0
cmp byte [rcx], dil
je 0x180020d19
vmovss xmm0, dword [rax]
vcomiss xmm6, xmm0
jbe 0x180020d12
vmovaps xmm0, xmm6
jmp 0x180020d1d
vaddss xmm0, xmm0, dword [rbx + 0x18]
jmp 0x180020d1d
vmovaps xmm0, xmm1
vmovss dword [rax], xmm0
cmp byte [rcx + 1], dil
je 0x180020d3f
vmovss xmm0, dword [rax + 4]
vcomiss xmm6, xmm0
jbe 0x180020d38
vmovaps xmm0, xmm6
jmp 0x180020d43
vaddss xmm0, xmm0, dword [rbx + 0x18]
jmp 0x180020d43
vmovaps xmm0, xmm1
vmovss dword [rax + 4], xmm0
cmp byte [rcx + 2], dil
je 0x180020d66
vmovss xmm0, dword [rax + 8]
vcomiss xmm6, xmm0
jbe 0x180020d5f
vmovaps xmm0, xmm6
jmp 0x180020d6a
vaddss xmm0, xmm0, dword [rbx + 0x18]
jmp 0x180020d6a
vmovaps xmm0, xmm1
vmovss dword [rax + 8], xmm0
add rax, 0x10
add rcx, 4
sub r8, 1
jne 0x180020cd6
call fcn.18002ad60
call fcn.18001f7e0
call fcn.180020150
call fcn.18001f2f0
mov r8, qword [0x1800b4ba8]
mov eax, dword [r8 + 0x1dc0]
sub eax, 1
js 0x180020ddc
mov r8, qword [r8 + 0x1dc8]
movsxd rdx, eax
add r8, 8
lea rcx, [rdx + rdx*2]
shl rcx, 4
add r8, rcx
mov rax, qword [r8]
test rax, rax
je 0x180020dd2
test dword [rax + 0xc], 0x8000000
jne 0x180020df3
sub r8, 0x30
sub rdx, 1
jns 0x180020dc1
cmp qword [rbx + 0x1f20], rdi
je 0x180020e0f
vmovss xmm0, dword [rbx + 0x1f3c]
vcomiss xmm0, xmm6
jbe 0x180020e0f
vmovss xmm0, dword [rbx + 0x18]
vmulss xmm0, xmm0, dword [0x1800a0b4c]
vaddss xmm1, xmm0, dword [rbx + 0x1f6c]
vminss xmm2, xmm1, xmm10
jmp 0x180020e2c
vmovss xmm0, dword [rbx + 0x18]
vmulss xmm1, xmm0, dword [0x1800a0b58]
vmovss xmm0, dword [rbx + 0x1f6c]
vsubss xmm2, xmm0, xmm1
vmaxss xmm2, xmm2, xmm6
vmovss dword [rbx + 0x1f6c], xmm2
mov dword [rbx + 0x1f70], edi
mov qword [rbx + 0x333c], 0xffffffffffffffff
mov dword [rbx + 0x3338], r13d
mov dword [rbx + 0x3080], 0x3f800000
mov dword [rbx + 0x3084], 0x3f800000
call fcn.18001fbc0
mov r9, qword [0x1800b4ba8]
vmovaps xmm10, xmmword [rsp + 0x30]
mov r8, qword [r9 + 0x1df0]
test r8, r8
je 0x180020eaf
cmp byte [r8 + 0x8e], dil
je 0x180020eaf
test dword [r8 + 0xc], 0x40000
jne 0x180020eaf
cmp byte [r9 + 0x140], dil
jne 0x180020eaf
mov ecx, dword [r9 + 0x3c]
test ecx, ecx
js 0x180020eaf
call fcn.1800227b0
test al, al
je 0x180020eaf
mov al, 1
jmp 0x180020eb1
xor al, al
mov byte [r9 + 0x1f68], al
cmp dword [r9 + 0x1c50], edi
jne 0x180020f12
test al, al
je 0x180020f12
mov qword [r9 + 0x1f50], r8
mov dword [r9 + 0x1f60], 0x7fffffff
cmp dword [r9 + 0x1df8], edi
je 0x180020eff
mov edx, dword [r9 + 0x1e40]
cmp edx, 0x7fffffff
je 0x180020eff
movzx eax, byte [r9 + 0x141]
neg al
sbb ecx, ecx
add ecx, edx
jmp 0x180020f0b
movzx eax, byte [r9 + 0x141]
neg al
sbb ecx, ecx
mov dword [r9 + 0x1f64], ecx
mov r8, qword [r9 + 0x1f50]
mov qword [r9 + 0x1f48], rdi
mov dword [r9 + 0x1f5c], 0x7fffffff
mov dword [r9 + 0x1f58], 0x7fffffff
test r8, r8
je 0x180020faf
mov eax, dword [r9 + 0x1f60]
mov qword [r9 + 0x1f48], r8
cmp eax, 0x7fffffff
je 0x180020f6a
mov ecx, dword [r8 + 0x18c]
cmp ecx, r13d
je 0x180020f6a
inc ecx
add eax, ecx
cdq
idiv ecx
mov dword [r9 + 0x1f58], edx
mov eax, dword [r9 + 0x1f64]
cmp eax, 0x7fffffff
je 0x180020f92
mov ecx, dword [r8 + 0x190]
cmp ecx, r13d
je 0x180020f92
inc ecx
add eax, ecx
cdq
idiv ecx
mov dword [r9 + 0x1f5c], edx
mov qword [r9 + 0x1f50], rdi
mov dword [r9 + 0x1f64], 0x7fffffff
mov dword [r9 + 0x1f60], 0x7fffffff
mov dword [r9 + 0x1e40], 0x7fffffff
cmp byte [rbx + 0x1b97], dil
jne 0x180020fe1
vmovss xmm1, dword [rbx + 0xd0]
vcomiss xmm6, xmm1
ja 0x180020fe1
vmovsd xmm0, qword [rbx + 0x1b80]
vcvtpd2ps xmm0, xmm0
vsubss xmm11, xmm0, xmm1
mov ebp, edi
cmp dword [rbx + 0x1ba8], edi
je 0x180021144
mov r14, rdi
mov rax, qword [rbx + 0x1bb0]
mov rsi, qword [r14 + rax]
movzx eax, byte [rsi + 0x8e]
mov byte [rsi + 0x8f], al
mov word [rsi + 0x9a], di
mov byte [rsi + 0x8e], dil
mov byte [rsi + 0x90], dil
test al, al
jne 0x180021132
cmp byte [rsi + 0x3a8], dil
jne 0x180021132
vcomiss xmm11, dword [rsi + 0x24c]
jbe 0x180021132
mov rcx, qword [rsi + 0x280]
mov byte [rsi + 0x3a8], 1
mov eax, dword [rcx + 0x14]
mov dword [rsi + 0x3a0], eax
mov eax, dword [rcx + 0x24]
mov dword [rsi + 0x3a4], eax
mov rcx, qword [rsi + 0xd0]
test rcx, rcx
je 0x180021093
mov rax, qword [0x1800b4ba8]
mov qword [rsi + 0xc8], rdi
test rax, rax
je 0x180021087
dec dword [rax + 0x3b0]
call fcn.18006c648
mov qword [rsi + 0xd0], rdi
mov rcx, qword [rsi + 0x280]
call fcn.1800373b0
mov rcx, qword [rsi + 0x168]
test rcx, rcx
je 0x1800210d0
mov rax, qword [0x1800b4ba8]
mov qword [rsi + 0x160], rdi
test rax, rax
je 0x1800210c4
dec dword [rax + 0x3b0]
call fcn.18006c648
mov qword [rsi + 0x168], rdi
mov rcx, qword [rsi + 0x1a8]
test rcx, rcx
je 0x180021101
mov rax, qword [0x1800b4ba8]
mov qword [rsi + 0x1a0], rdi
test rax, rax
je 0x1800210f5
dec dword [rax + 0x3b0]
call fcn.18006c648
mov qword [rsi + 0x1a8], rdi
mov rcx, qword [rsi + 0x1b8]
test rcx, rcx
je 0x180021132
mov rax, qword [0x1800b4ba8]
mov qword [rsi + 0x1b0], rdi
test rax, rax
je 0x180021126
dec dword [rax + 0x3b0]
call fcn.18006c648
mov qword [rsi + 0x1b8], rdi
inc ebp
add r14, 8
cmp ebp, dword [rbx + 0x1ba8]
jne 0x180020ff2
mov r14d, edi
cmp dword [rbx + 0x2060], edi
jle 0x18002127b
mov qword [rsp + 0xc0], r12
mov r15, rdi
mov r12, rdi
mov rax, qword [rbx + 0x2068]
vmovss xmm0, dword [r15 + rax]
vcomiss xmm0, xmm6
jb 0x180021258
vcomiss xmm11, xmm0
jbe 0x180021258
mov rsi, qword [rbx + 0x2030]
mov rbp, qword [0x1800b4ba8]
add rsi, r12
mov qword [rsi + 0x1d0], rdi
mov rcx, qword [rsi + 0x1c8]
test rcx, rcx
je 0x1800211c4
mov qword [rsi + 0x1c0], rdi
test rbp, rbp
je 0x1800211b8
dec dword [rbp + 0x3b0]
call fcn.18006c648
mov qword [rsi + 0x1c8], rdi
mov byte [rsi + 0x1fc], 1
mov rcx, qword [rsi + 0x1a0]
test rcx, rcx
je 0x1800211fc
mov rax, qword [0x1800b4ba8]
mov qword [rsi + 0x198], rdi
test rax, rax
je 0x1800211f0
dec dword [rax + 0x3b0]
call fcn.18006c648
mov qword [rsi + 0x1a0], rdi
mov edx, edi
mov byte [rsi + 0x206], 1
cmp dword [rsi + 0x74], edi
jle 0x180021225
mov rcx, rdi
nop dword [rax]
mov rax, qword [rsi + 0x18]
lea rcx, [rcx + 0x68]
inc edx
mov word [rcx + rax - 0x18], r13w
cmp edx, dword [rsi + 0x74]
jl 0x180021210
sub rsi, qword [rbp + 0x2030]
movabs rax, 0xfc0fc0fc0fc0fc1
imul rsi
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, qword [rbp + 0x2068]
movsxd rcx, edx
mov dword [rax + rcx*4], 0xbf800000
inc r14d
add r15, 4
add r12, 0x208
cmp r14d, dword [rbx + 0x2060]
jl 0x180021161
mov r12, qword [rsp + 0xc0]
mov r14d, edi
mov r15, qword [rsp + 0x80]
mov r13, qword [rsp + 0xc8]
cmp dword [rbx + 0x2050], edi
jle 0x1800212dd
mov rsi, rdi
nop dword [rax]
mov rbp, qword [rbx + 0x2058]
vmovss xmm0, dword [rsi + rbp + 4]
vcomiss xmm0, xmm6
jb 0x1800212cd
vcomiss xmm11, xmm0
jbe 0x1800212cd
lea rcx, [rbp + 0x10]
add rcx, rsi
call fcn.18003a460
mov dword [rsi + rbp + 4], 0xbf800000
inc r14d
add rsi, 0x70
cmp r14d, dword [rbx + 0x2050]
jl 0x1800212a0
vmovaps xmm11, xmmword [rsp + 0x20]
mov r14, qword [rsp + 0x88]
mov rbp, qword [rsp + 0xb8]
cmp byte [rbx + 0x1b97], dil
je 0x180021363
mov rsi, qword [0x1800b4ba8]
mov rcx, qword [rsi + 0x1da8]
test rcx, rcx
je 0x18002132d
mov qword [rsi + 0x1da0], rdi
test rsi, rsi
je 0x180021321
dec dword [rsi + 0x3b0]
call fcn.18006c648
mov qword [rsi + 0x1da8], rdi
mov rcx, qword [rsi + 0x1db8]
test rcx, rcx
je 0x18002135e
mov rax, qword [0x1800b4ba8]
mov qword [rsi + 0x1db0], rdi
test rax, rax
je 0x180021352
dec dword [rax + 0x3b0]
call fcn.18006c648
mov qword [rsi + 0x1db8], rdi
call fcn.180042840
mov rax, qword [rbx + 0x1df0]
mov byte [rbx + 0x1b97], dil
test rax, rax
je 0x1800213d5
cmp byte [rax + 0x8f], dil
jne 0x1800213d5
mov rcx, qword [0x1800b4ba8]
mov eax, dword [rcx + 0x1bb8]
sub eax, 1
js 0x1800213ce
movsxd rdx, eax
mov rax, qword [rcx + 0x1bc0]
lea r8, [rax + rdx*8]
nop
mov rcx, qword [r8]
test rcx, rcx
je 0x1800213c4
cmp byte [rcx + 0x8f], dil
je 0x1800213c4
mov eax, dword [rcx + 0xc]
and eax, 0x40200
cmp eax, 0x40200
jne 0x1800215d8
sub r8, 8
sub rdx, 1
jns 0x1800213a0
xor ecx, ecx
call fcn.1800277d0
mov ecx, dword [rbx + 0x1bdc]
test ecx, ecx
jns 0x1800213fb
mov eax, ecx
cdq
sub eax, edx
mov edx, edi
sar eax, 1
add eax, ecx
lea rcx, [rbx + 0x1bd8]
test eax, eax
cmovg edx, eax
call fcn.18002f7f0
mov dword [rbx + 0x1bd8], edi
mov ecx, dword [rbx + 0x1dd4]
test ecx, ecx
jns 0x180021427
mov eax, ecx
cdq
sub eax, edx
mov edx, edi
sar eax, 1
add eax, ecx
lea rcx, [rbx + 0x1dd0]
test eax, eax
cmovg edx, eax
call fcn.18002f6d0
lea rsi, [rbx + 0x1da0]
mov dword [rbx + 0x1dd0], edi
mov ecx, dword [rsi + 4]
test ecx, ecx
jns 0x180021453
mov eax, ecx
cdq
sub eax, edx
mov edx, edi
sar eax, 1
add eax, ecx
mov rcx, rsi
test eax, eax
cmovg edx, eax
call fcn.18002f760
mov dword [rsi], edi
cmp dword [rsi + 4], edi
jne 0x180021467
mov edx, 8
mov rcx, rsi
call fcn.18002f760
movsxd rcx, dword [rsi]
xor edx, edx
mov rax, qword [rsi + 8]
mov dword [rax + rcx*4], edi
lea rcx, [rbx + 0x1db0]
inc dword [rsi]
call fcn.18002ee00
mov r8, qword [0x1800b4ba8]
mov dword [r8 + 0x3138], edi
cmp byte [r8 + 0x3134], dil
je 0x18002154b
mov esi, dword [r8 + 0x1c40]
mov dword [r8 + 0x1f70], 7
mov ecx, dword [r8 + 0x74]
test ecx, ecx
js 0x1800214c6
call fcn.1800227b0
test al, al
je 0x1800214c6
mov byte [r8 + 0x3134], dil
vmovss xmm0, dword [r8 + 0x43c]
vucomiss xmm0, xmm6
jp 0x1800214e9
jne 0x1800214e9
test esi, esi
je 0x1800214e9
mov dword [r8 + 0x3138], esi
mov byte [r8 + 0x3134], dil
or dword [r8 + 0x1cf0], 0x40
xor edx, edx
mov dword [r8 + 0x1d50], 0x3f19999a
call fcn.180028f30
mov edx, esi
lea rcx, str.HoveredId:_0x_08X
call fcn.180043760
lea rcx, str.Press_ESC_to_abort_picking.
call fcn.180043760
mov eax, 0x1630
lea rdx, str.Click_to_break_in_debugger_
test esi, esi
mov ecx, 0x1620
cmove ecx, eax
add rcx, qword [0x1800b4ba8]
call fcn.180043860
call fcn.180027580
mov r8, qword [0x1800b4ba8]
mov byte [rbx + 0x1b95], 1
lea rcx, str.DebugDefault
or dword [r8 + 0x1cf0], 2
xor edx, edx
mov dword [r8 + 0x1d10], 0x43c80000
mov dword [r8 + 0x1d14], 0x43c80000
mov dword [r8 + 0x1cf8], 4
xor r8d, r8d
call fcn.180025180
vmovaps xmm6, xmmword [rsp + 0x70]
cmp dword [rbx + 0x30d8], edi
jle 0x1800215cd
mov rsi, rdi
nop dword [rax]
mov rax, qword [rbx + 0x30e0]
cmp dword [rsi + rax + 4], 1
jne 0x1800215bf
movsxd rdx, edi
mov rcx, rbx
shl rdx, 5
add rdx, rax
call qword [rsi + rax + 0x10]
inc edi
add rsi, 0x20
cmp edi, dword [rbx + 0x30d8]
jl 0x1800215a0
add rsp, 0x90
pop rdi
pop rsi
pop rbx
ret
mov rax, qword [rcx + 0x370]
test rax, rax
je 0x1800215ed
cmp byte [rax + 0x8f], dil
jne 0x1800215f0
mov rax, rcx
mov rcx, rax
jmp 0x1800213d0