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

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rbp
push rdi
sub rsp, 0xa0
mov rbx, qword [0x18007abe8]
xor ebp, ebp
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
mov qword [rax + 0x10], rsi
movaps xmmword [rax - 0x18], xmm6
xorps xmm6, xmm6
mov byte [rbx + 0x3e3], 0
mov qword [rbx + 0x1e08], rbp
mov dword [rbx + 0x1e10], ebp
movzx esi, byte [rbx + 0x50]
and sil, 1
movaps xmmword [rax - 0x58], xmm10
test byte [rbx + 0x50], 2
movaps xmmword [rax - 0x68], xmm11
je 0x180020ead
test byte [rbx + 0x54], 1
je 0x180020ead
cmp dword [rbx + 0x1d1c], 4
lea rcx, [rbx + 0x1d1c]
mov dil, 1
je 0x180020eb7
movss xmm0, dword [rbx + 0x38c]
comiss xmm0, xmm6
ja 0x180020ea1
movss xmm0, dword [rbx + 0x394]
comiss xmm0, xmm6
ja 0x180020ea1
movss xmm0, dword [rbx + 0x390]
comiss xmm0, xmm6
ja 0x180020ea1
movss xmm0, dword [rbx + 0x398]
comiss xmm0, xmm6
ja 0x180020ea1
movss xmm0, dword [rbx + 0x39c]
comiss xmm0, xmm6
ja 0x180020ea1
movss xmm0, dword [rbx + 0x3a0]
comiss xmm0, xmm6
ja 0x180020ea1
movss xmm0, dword [rbx + 0x3a4]
comiss xmm0, xmm6
ja 0x180020ea1
movss xmm0, dword [rbx + 0x3a8]
lea rcx, [rbx + 0x1d1c]
comiss xmm0, xmm6
jbe 0x180020eb7
mov dword [rbx + 0x1d1c], 4
jmp 0x180020eb0
xor dil, dil
lea rcx, [rbx + 0x1d1c]
test sil, sil
je 0x180021002
movsxd rax, dword [rbx + 0xb4]
test eax, eax
js 0x180020ee5
cmp byte [rax + rbx + 0x18c], bpl
je 0x180020ee5
mov dword [rbx + 0x38c], 0x3f800000
mov dword [rcx], 3
movsxd rax, dword [rbx + 0xb8]
test eax, eax
js 0x180020f0a
cmp byte [rax + rbx + 0x18c], bpl
je 0x180020f0a
mov dword [rbx + 0x394], 0x3f800000
mov dword [rcx], 3
movsxd rax, dword [rbx + 0xbc]
test eax, eax
js 0x180020f2f
cmp byte [rax + rbx + 0x18c], bpl
je 0x180020f2f
mov dword [rbx + 0x390], 0x3f800000
mov dword [rcx], 3
movsxd rax, dword [rbx + 0x88]
test eax, eax
js 0x180020f54
cmp byte [rax + rbx + 0x18c], bpl
je 0x180020f54
mov dword [rbx + 0x3d0], 0x3f800000
mov dword [rcx], 3
movsxd rax, dword [rbx + 0x8c]
test eax, eax
js 0x180020f79
cmp byte [rax + rbx + 0x18c], bpl
je 0x180020f79
mov dword [rbx + 0x3d4], 0x3f800000
mov dword [rcx], 3
movsxd rax, dword [rbx + 0x90]
test eax, eax
js 0x180020f9e
cmp byte [rax + rbx + 0x18c], bpl
je 0x180020f9e
mov dword [rbx + 0x3d8], 0x3f800000
mov dword [rcx], 3
movsxd rax, dword [rbx + 0x94]
test eax, eax
js 0x180020fc3
cmp byte [rax + rbx + 0x18c], bpl
je 0x180020fc3
mov dword [rbx + 0x3dc], 0x3f800000
mov dword [rcx], 3
movzx eax, byte [rbx + 0x188]
test al, al
je 0x180020fd8
mov dword [rbx + 0x3c4], 0x3f800000
cmp byte [rbx + 0x189], bpl
je 0x180020feb
mov dword [rbx + 0x3c8], 0x3f800000
cmp byte [rbx + 0x18a], bpl
je 0x180021002
test al, al
jne 0x180021002
mov dword [rbx + 0x3cc], 0x3f800000
movups xmm0, xmmword [rbx + 0x14e8]
mov eax, dword [rbx + 0x1538]
mov r9d, ebp
movups xmm1, xmmword [rbx + 0x14f8]
lea r8, [rbx + 0x60]
mov rcx, rbp
movss xmm10, dword [0x1800733a0]
movups xmmword [rbx + 0x153c], xmm0
movups xmm0, xmmword [rbx + 0x1508]
movups xmmword [rbx + 0x154c], xmm1
movups xmm1, xmmword [rbx + 0x1518]
movups xmmword [rbx + 0x155c], xmm0
movups xmm0, xmmword [rbx + 0x1528]
movups xmmword [rbx + 0x156c], xmm1
movups xmmword [rbx + 0x157c], xmm0
mov dword [rbx + 0x158c], eax
nop word [rax + rax]
movss xmm0, dword [rbx + rcx*4 + 0x38c]
comiss xmm0, xmm6
jbe 0x18002109c
movss xmm0, dword [rbx + rcx*4 + 0x14e8]
lea r8, [rbx + 0x60]
comiss xmm6, xmm0
jbe 0x180021095
movaps xmm0, xmm6
jmp 0x1800210a0
addss xmm0, dword [r8]
jmp 0x1800210a0
movaps xmm0, xmm10
mov edx, 0x538
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x390]
comiss xmm0, xmm6
jbe 0x1800210d9
movss xmm0, dword [rbx + rcx*4 + 0x14ec]
comiss xmm6, xmm0
jbe 0x1800210d2
movaps xmm0, xmm6
jmp 0x1800210dd
addss xmm0, dword [r8]
jmp 0x1800210dd
movaps xmm0, xmm10
mov edx, 0x539
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x394]
comiss xmm0, xmm6
jbe 0x180021116
movss xmm0, dword [rbx + rcx*4 + 0x14f0]
comiss xmm6, xmm0
jbe 0x18002110f
movaps xmm0, xmm6
jmp 0x18002111a
addss xmm0, dword [r8]
jmp 0x18002111a
movaps xmm0, xmm10
mov edx, 0x53a
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x398]
comiss xmm0, xmm6
jbe 0x180021153
movss xmm0, dword [rbx + rcx*4 + 0x14f4]
comiss xmm6, xmm0
jbe 0x18002114c
movaps xmm0, xmm6
jmp 0x180021157
addss xmm0, dword [r8]
jmp 0x180021157
movaps xmm0, xmm10
mov edx, 0x53b
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x39c]
comiss xmm0, xmm6
jbe 0x180021190
movss xmm0, dword [rbx + rcx*4 + 0x14f8]
comiss xmm6, xmm0
jbe 0x180021189
movaps xmm0, xmm6
jmp 0x180021194
addss xmm0, dword [r8]
jmp 0x180021194
movaps xmm0, xmm10
mov edx, 0x53c
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x3a0]
comiss xmm0, xmm6
jbe 0x1800211cd
movss xmm0, dword [rbx + rcx*4 + 0x14fc]
comiss xmm6, xmm0
jbe 0x1800211c6
movaps xmm0, xmm6
jmp 0x1800211d1
addss xmm0, dword [r8]
jmp 0x1800211d1
movaps xmm0, xmm10
mov edx, 0x53d
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x3a4]
comiss xmm0, xmm6
jbe 0x18002120a
movss xmm0, dword [rbx + rcx*4 + 0x1500]
comiss xmm6, xmm0
jbe 0x180021203
movaps xmm0, xmm6
jmp 0x18002120e
addss xmm0, dword [r8]
jmp 0x18002120e
movaps xmm0, xmm10
mov edx, 0x53e
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x3a8]
comiss xmm0, xmm6
jbe 0x180021247
movss xmm0, dword [rbx + rcx*4 + 0x1504]
comiss xmm6, xmm0
jbe 0x180021240
movaps xmm0, xmm6
jmp 0x18002124b
addss xmm0, dword [r8]
jmp 0x18002124b
movaps xmm0, xmm10
mov edx, 0x53f
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x3ac]
comiss xmm0, xmm6
jbe 0x180021284
movss xmm0, dword [rbx + rcx*4 + 0x1508]
comiss xmm6, xmm0
jbe 0x18002127d
movaps xmm0, xmm6
jmp 0x180021288
addss xmm0, dword [r8]
jmp 0x180021288
movaps xmm0, xmm10
mov edx, 0x540
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x3b0]
comiss xmm0, xmm6
jbe 0x1800212c1
movss xmm0, dword [rbx + rcx*4 + 0x150c]
comiss xmm6, xmm0
jbe 0x1800212ba
movaps xmm0, xmm6
jmp 0x1800212c5
addss xmm0, dword [r8]
jmp 0x1800212c5
movaps xmm0, xmm10
mov edx, 0x541
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x3b4]
comiss xmm0, xmm6
jbe 0x1800212fe
movss xmm0, dword [rbx + rcx*4 + 0x1510]
comiss xmm6, xmm0
jbe 0x1800212f7
movaps xmm0, xmm6
jmp 0x180021302
addss xmm0, dword [r8]
jmp 0x180021302
movaps xmm0, xmm10
mov edx, 0x542
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x3b8]
comiss xmm0, xmm6
jbe 0x18002133b
movss xmm0, dword [rbx + rcx*4 + 0x1514]
comiss xmm6, xmm0
jbe 0x180021334
movaps xmm0, xmm6
jmp 0x18002133f
addss xmm0, dword [r8]
jmp 0x18002133f
movaps xmm0, xmm10
mov edx, 0x543
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x3bc]
comiss xmm0, xmm6
jbe 0x180021378
movss xmm0, dword [rbx + rcx*4 + 0x1518]
comiss xmm6, xmm0
jbe 0x180021371
movaps xmm0, xmm6
jmp 0x18002137c
addss xmm0, dword [r8]
jmp 0x18002137c
movaps xmm0, xmm10
mov edx, 0x544
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x3c0]
comiss xmm0, xmm6
jbe 0x1800213b5
movss xmm0, dword [rbx + rcx*4 + 0x151c]
comiss xmm6, xmm0
jbe 0x1800213ae
movaps xmm0, xmm6
jmp 0x1800213b9
addss xmm0, dword [r8]
jmp 0x1800213b9
movaps xmm0, xmm10
mov edx, 0x545
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x3c4]
comiss xmm0, xmm6
jbe 0x1800213f2
movss xmm0, dword [rbx + rcx*4 + 0x1520]
comiss xmm6, xmm0
jbe 0x1800213eb
movaps xmm0, xmm6
jmp 0x1800213f6
addss xmm0, dword [r8]
jmp 0x1800213f6
movaps xmm0, xmm10
mov edx, 0x546
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x3c8]
comiss xmm0, xmm6
jbe 0x18002142f
movss xmm0, dword [rbx + rcx*4 + 0x1524]
comiss xmm6, xmm0
jbe 0x180021428
movaps xmm0, xmm6
jmp 0x180021433
addss xmm0, dword [r8]
jmp 0x180021433
movaps xmm0, xmm10
mov edx, 0x547
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x3cc]
comiss xmm0, xmm6
jbe 0x18002146c
movss xmm0, dword [rbx + rcx*4 + 0x1528]
comiss xmm6, xmm0
jbe 0x180021465
movaps xmm0, xmm6
jmp 0x180021470
addss xmm0, dword [r8]
jmp 0x180021470
movaps xmm0, xmm10
mov edx, 0x548
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x3d0]
comiss xmm0, xmm6
jbe 0x1800214a9
movss xmm0, dword [rbx + rcx*4 + 0x152c]
comiss xmm6, xmm0
jbe 0x1800214a2
movaps xmm0, xmm6
jmp 0x1800214ad
addss xmm0, dword [r8]
jmp 0x1800214ad
movaps xmm0, xmm10
mov edx, 0x549
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x3d4]
comiss xmm0, xmm6
jbe 0x1800214e6
movss xmm0, dword [rbx + rcx*4 + 0x1530]
comiss xmm6, xmm0
jbe 0x1800214df
movaps xmm0, xmm6
jmp 0x1800214ea
addss xmm0, dword [r8]
jmp 0x1800214ea
movaps xmm0, xmm10
mov edx, 0x54a
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x3d8]
comiss xmm0, xmm6
jbe 0x180021523
movss xmm0, dword [rbx + rcx*4 + 0x1534]
comiss xmm6, xmm0
jbe 0x18002151c
movaps xmm0, xmm6
jmp 0x180021527
addss xmm0, dword [r8]
jmp 0x180021527
movaps xmm0, xmm10
mov edx, 0x54b
mov rax, rcx
add rax, rdx
movss dword [rbx + rax*4 + 8], xmm0
movss xmm0, dword [rbx + rcx*4 + 0x3dc]
comiss xmm0, xmm6
jbe 0x180021560
movss xmm0, dword [rbx + rcx*4 + 0x1538]
comiss xmm6, xmm0
jbe 0x180021559
movaps xmm0, xmm6
jmp 0x180021564
addss xmm0, dword [r8]
jmp 0x180021568
movaps xmm0, xmm10
lea r8, [rbx + 0x60]
mov rax, rcx
mov edx, 0x54c
add rax, rdx
add r9d, 0x15
add rcx, 0x15
movss dword [rbx + rax*4 + 8], xmm0
cmp r9d, 0x15
jl 0x180021070
mov edx, dword [rbx + 0x1d44]
test edx, edx
je 0x180021628
cmp byte [rbx + 0x1d3e], bpl
je 0x1800215ab
cmp byte [rbx + 0x1d42], bpl
je 0x180021628
mov r9, qword [rbx + 0x1ce8]
test r9, r9
je 0x180021628
movsxd rax, dword [rbx + 0x1d34]
mov dword [rbx + 0x1cf4], ebp
mov r8, rax
cmp byte [rbx + 0x1d42], bpl
mov dword [rbx + 0x1cf0], edx
mov dword [r9 + rax*4 + 0x3b0], edx
je 0x180021608
mov rax, qword [rbx + 0x1ce8]
add r8, r8
movups xmm0, xmmword [rbx + 0x1d48]
movups xmmword [rax + r8*8 + 0x3b8], xmm0
mov word [rbx + 0x1d3d], 1
mov byte [rbx + 0x1d3f], 1
movsxd rcx, dword [rbx + 0x1d34]
mov rax, qword [rbx + 0x1ce8]
add rcx, rcx
movups xmm0, xmmword [rbx + 0x1d48]
movups xmmword [rax + rcx*8 + 0x3b8], xmm0
mov word [rbx + 0x1d41], bp
mov dword [rbx + 0x1d44], ebp
mov dword [rbx + 0x1d0c], ebp
cmp byte [rbx + 0x1d58], bpl
je 0x180021649
call fcn.180022230
cmp dword [rbx + 0x1d60], 2
jne 0x18002166f
cmp dword [rbx + 0x1d80], ebp
jne 0x180021669
cmp dword [rbx + 0x1de0], ebp
jne 0x180021669
mov byte [rbx + 0x1d3e], bpl
mov dword [rbx + 0x1d60], ebp
cmp byte [rbx + 0x1d3d], bpl
je 0x1800216ec
cmp byte [rbx + 0x1d3c], bpl
je 0x1800216ec
test byte [rbx + 0x50], 4
je 0x1800216e5
test byte [rbx + 0x54], 4
je 0x1800216e5
cmp byte [rbx + 0x1d3e], bpl
jne 0x1800216e5
cmp byte [rbx + 0x1d3f], bpl
je 0x1800216e5
cmp qword [rbx + 0x1ce8], rbp
je 0x1800216e5
lea rcx, [rsp + 0xb0]
call fcn.1800208f0
movss xmm4, dword [rax]
movss xmm5, dword [rax + 4]
movss dword [rbx + 0x40c], xmm4
movss dword [rbx + 0x410], xmm5
movss dword [rbx + 0x170], xmm4
movss dword [rbx + 0x174], xmm5
mov byte [rbx + 0x3e3], 1
mov byte [rbx + 0x1d3d], bpl
mov rdx, qword [rbx + 0x1ce8]
mov byte [rbx + 0x1d3c], bpl
mov dword [rbx + 0x1d08], ebp
test rdx, rdx
je 0x180021739
mov rcx, rdx
nop dword [rax + rax]
mov eax, dword [rcx + 0xc]
and eax, 0x15000000
cmp eax, 0x1000000
jne 0x18002172d
mov rcx, qword [rcx + 0x388]
test rcx, rcx
jne 0x180021710
jmp 0x180021739
cmp rcx, rdx
je 0x180021739
mov qword [rcx + 0x3a8], rdx
mov rax, qword [rbx + 0x1ce8]
test rax, rax
je 0x18002175d
cmp qword [rax + 0x3a8], rbp
je 0x18002175d
cmp dword [rbx + 0x1d34], ebp
jne 0x18002175d
mov qword [rax + 0x3a8], rbp
call fcn.180022e10
test sil, sil
jne 0x180021770
test dil, dil
je 0x18002183d
mov rax, qword [rbx + 0x1ce8]
test rax, rax
je 0x18002183d
test dword [rax + 0xc], 0x40000
jne 0x18002183d
mov byte [rbx + 0x3e5], 1
cmp dword [rbx + 0x1cf0], ebp
je 0x180021844
cmp byte [rbx + 0x1d3e], bpl
jne 0x180021844
mov al, 1
mov edx, 1
mov byte [rbx + 0x3e6], al
mov ecx, edx
call fcn.180020a20
comiss xmm0, xmm6
jbe 0x180021a0d
cmp dword [rbx + 0x1b88], ebp
je 0x180021858
mov rdi, qword [0x18007abe8]
mov eax, dword [rdi + 0x1ba0]
shr eax, 1
test dl, al
jne 0x180021a14
mov ecx, dword [rdi + 0x1b88]
test ecx, ecx
setne al
mov byte [rdi + 0x1b94], al
test ecx, ecx
je 0x18002180f
mov dword [rdi + 0x1b90], ebp
mov word [rdi + 0x1b97], bp
mov dword [rdi + 0x1b88], ebp
mov word [rdi + 0x1b95], bp
mov qword [rdi + 0x1bb8], rbp
mov word [rdi + 0x1b99], bp
mov qword [rdi + 0x1b9c], rbp
mov qword [rdi + 0x1ba8], rbp
jmp 0x180021a14
mov byte [rbx + 0x3e5], bpl
cmp qword [rbx + 0x1e18], rbp
jne 0x1800217ad
xor al, al
jmp 0x1800217af
mov rdi, qword [rbx + 0x1ce8]
test rdi, rdi
je 0x1800218c7
mov eax, dword [rdi + 0xc]
and eax, 0x5000000
cmp eax, 0x1000000
jne 0x1800218c7
mov rcx, qword [rdi + 0x388]
test rcx, rcx
je 0x1800218c7
call fcn.18001e130
mov ecx, dword [rdi + 0x58]
mov rdi, qword [0x18007abe8]
mov rax, qword [rdi + 0x1ce8]
mov dword [rdi + 0x1cf0], ecx
mov dword [rdi + 0x1cf4], ebp
mov dword [rax + 0x3b0], ecx
mov byte [rbx + 0x1d3c], bpl
cmp byte [rbx + 0x1d3f], bpl
je 0x180021a14
mov byte [rbx + 0x1d3d], 1
jmp 0x180021a14
movsxd rdx, dword [rbx + 0x1cc8]
test edx, edx
jle 0x180021901
mov rax, qword [rbx + 0x1cd0]
lea rcx, [rdx + rdx*2]
add rcx, rcx
mov rcx, qword [rax + rcx*8 - 0x28]
test dword [rcx + 0xc], 0x8000000
jne 0x180021a0d
lea ecx, [rdx - 1]
mov dl, 1
call fcn.18001f910
jmp 0x180021a0d
cmp dword [rbx + 0x1d34], ebp
je 0x1800219ec
mov rdi, qword [0x18007abe8]
mov rax, qword [rdi + 0x1ce8]
mov dword [rdi + 0x1d34], ebp
mov rcx, qword [rax + 0x3a8]
test rcx, rcx
je 0x180021936
cmp byte [rcx + 0x8f], bpl
jne 0x180021939
mov rcx, rax
mov qword [rdi + 0x1ce8], rcx
mov edx, dword [rcx + 0x3b0]
test edx, edx
je 0x180021986
mov dword [rdi + 0x1cf0], edx
mov dword [rdi + 0x1cf4], ebp
mov dword [rcx + 0x3b0], edx
movups xmm0, xmmword [rcx + 0x3b8]
mov rax, qword [rdi + 0x1ce8]
movups xmmword [rax + 0x3b8], xmm0
mov word [rdi + 0x1d3d], 1
mov byte [rdi + 0x1d3f], 1
jmp 0x180021a14
mov eax, dword [rcx + 0xc]
mov dword [rdi + 0x1cf4], ebp
bt eax, 0x12
jb 0x1800219e4
mov dword [rdi + 0x1cf0], ebp
mov dword [rcx + 0x3b0], ebp
mov word [rdi + 0x1d41], 1
mov qword [rdi + 0x1d44], rbp
mov qword [rdi + 0x1d4c], rbp
mov dword [rdi + 0x1d54], ebp
cmp byte [rdi + 0x1d58], bpl
jne 0x1800219da
cmp byte [rdi + 0x1d41], bpl
jne 0x1800219da
xor al, al
mov byte [rdi + 0x1d40], al
jmp 0x180021a14
mov al, 1
mov byte [rdi + 0x1d40], al
jmp 0x180021a14
mov dword [rdi + 0x1cf0], edx
jmp 0x180021a14
test rdi, rdi
je 0x180021a06
mov eax, dword [rdi + 0xc]
bt eax, 0x1a
jb 0x180021a00
bt eax, 0x18
jb 0x180021a06
mov dword [rdi + 0x3b0], ebp
mov qword [rbx + 0x1cf0], rbp
mov rdi, qword [0x18007abe8]
mov r9d, dword [rbx + 0x1cf0]
mov qword [rbx + 0x1d00], rbp
mov qword [rbx + 0x1cf8], rbp
test r9d, r9d
je 0x180021b03
cmp byte [rbx + 0x1d3e], bpl
jne 0x180021b03
cmp qword [rbx + 0x1e18], rbp
jne 0x180021b03
mov rax, qword [rbx + 0x1ce8]
test rax, rax
je 0x180021b03
test dword [rax + 0xc], 0x40000
jne 0x180021b03
movss xmm0, dword [rdi + 0x38c]
comiss xmm0, xmm6
seta r10b
test r10b, r10b
je 0x180021a8e
mov edx, 1
xor ecx, ecx
call fcn.180020a20
comiss xmm0, xmm6
ja 0x180021a90
xor dl, dl
mov ecx, dword [rbx + 0x1b88]
test ecx, ecx
jne 0x180021aa7
test dl, dl
je 0x180021aac
mov dword [rbx + 0x1cf8], r9d
jmp 0x180021aac
cmp ecx, r9d
jne 0x180021ac1
test r10b, r10b
je 0x180021abd
mov eax, dword [rbx + 0x1cf0]
mov dword [rbx + 0x1cfc], eax
test ecx, ecx
je 0x180021ac9
cmp ecx, dword [rbx + 0x1cf0]
jne 0x180021b03
test dl, dl
je 0x180021ad9
mov eax, dword [rbx + 0x1cf0]
mov dword [rbx + 0x1d00], eax
test ecx, ecx
je 0x180021ae5
cmp ecx, dword [rbx + 0x1cf0]
jne 0x180021b03
mov edx, 1
lea ecx, [rdx + 1]
call fcn.180020a20
comiss xmm0, xmm6
jbe 0x180021b03
mov eax, dword [rbx + 0x1cf0]
mov dword [rbx + 0x1d04], eax
mov rcx, qword [rbx + 0x1ce8]
test rcx, rcx
je 0x180021b1f
test dword [rcx + 0xc], 0x40000
je 0x180021b1f
mov byte [rbx + 0x1d3e], 1
mov eax, dword [rbx + 0x1d18]
mov byte [rbx + 0x1d58], bpl
test eax, eax
je 0x180021b48
mov dword [rbx + 0x1d04], eax
mov dword [rbx + 0x1d00], eax
mov dword [rbx + 0x1cfc], eax
mov dword [rbx + 0x1cf8], eax
mov dword [rbx + 0x1d18], ebp
cmp dword [rbx + 0x1d60], ebp
jne 0x180021c7f
mov dword [rbx + 0x1d68], 0xffffffff
mov r9d, 0xffffffff
mov dword [rbx + 0x1d5c], ebp
test rcx, rcx
je 0x180021c76
cmp qword [rbx + 0x1e18], rbp
jne 0x180021c76
test dword [rcx + 0xc], 0x40000
jne 0x180021c76
test byte [rdi + 0x1b9c], 1
jne 0x180021bc3
lea edx, [r9 + 4]
lea ecx, [rdx + 1]
call fcn.180020a20
comiss xmm0, xmm6
ja 0x180021bba
lea ecx, [rdx + 0xe]
call fcn.180020a20
comiss xmm0, xmm6
jbe 0x180021bc3
mov dword [rbx + 0x1d68], ebp
mov r9d, ebp
mov eax, dword [rdi + 0x1b9c]
shr eax, 1
test al, 1
jne 0x180021bfe
mov edx, 3
lea ecx, [rdx + 2]
call fcn.180020a20
comiss xmm0, xmm6
ja 0x180021bee
lea ecx, [rdx + 0xf]
call fcn.180020a20
comiss xmm0, xmm6
jbe 0x180021bfe
mov dword [rbx + 0x1d68], 1
mov r9d, 1
mov eax, dword [rdi + 0x1b9c]
shr eax, 2
test al, 1
jne 0x180021c3a
mov edx, 3
lea ecx, [rdx + 3]
call fcn.180020a20
comiss xmm0, xmm6
ja 0x180021c2a
lea ecx, [rdx + 0x10]
call fcn.180020a20
comiss xmm0, xmm6
jbe 0x180021c3a
mov dword [rbx + 0x1d68], 2
mov r9d, 2
mov eax, dword [rdi + 0x1b9c]
shr eax, 3
test al, 1
jne 0x180021c76
mov edx, 3
lea ecx, [rdx + 4]
call fcn.180020a20
comiss xmm0, xmm6
ja 0x180021c66
lea ecx, [rdx + 0x11]
call fcn.180020a20
comiss xmm0, xmm6
jbe 0x180021c76
mov dword [rbx + 0x1d68], 3
mov r9d, 3
mov dword [rbx + 0x1d70], r9d
jmp 0x180021c89
mov dword [rbx + 0x1d60], 2
movaps xmm9, xmm6
test sil, sil
je 0x180021c9b
call fcn.1800224c0
movaps xmm9, xmm0
mov ecx, dword [rbx + 0x1d68]
cmp ecx, 0xffffffff
je 0x180021cbf
mov byte [rbx + 0x1d58], 1
mov eax, dword [rbx + 0x408]
mov dword [rbx + 0x1d64], eax
mov dword [rbx + 0x1d6c], ecx
cmp byte [rbx + 0x1d58], bpl
je 0x180021ce6
cmp dword [rbx + 0x1cf0], ebp
jne 0x180021ce6
mov word [rbx + 0x1d41], 0x101
mov dword [rbx + 0x1d44], ebp
mov byte [rbx + 0x1d3e], bpl
cmp byte [rdi + 0x1d58], bpl
jne 0x180021cfc
cmp byte [rdi + 0x1d41], bpl
jne 0x180021cfc
xor al, al
jmp 0x180021cfe
mov al, 1
movss xmm11, dword [0x180073254]
movss xmm8, dword [0x18007328c]
mov byte [rdi + 0x1d40], al
mov rsi, qword [rbx + 0x1ce8]
movaps xmmword [rsp + 0x80], xmm7
test rsi, rsi
je 0x180021eac
test dword [rsi + 0xc], 0x40000
jne 0x180021eac
cmp qword [rbx + 0x1e18], rbp
jne 0x180021eac
mov rax, qword [rsi + 0x388]
movss xmm0, dword [rdi + 0x19dc]
mulss xmm0, dword [rsi + 0x2b0]
test rax, rax
je 0x180021d6c
mulss xmm0, dword [rax + 0x2b0]
mulss xmm0, dword [0x18007333c]
mulss xmm0, dword [rbx + 0x60]
addss xmm0, xmm11
cvttss2si eax, xmm0
movd xmm7, eax
cvtdq2ps xmm7, xmm7
cmp dword [rsi + 0x150], ebp
jne 0x180021e18
cmp byte [rsi + 0x15d], bpl
je 0x180021e18
cmp byte [rbx + 0x1d58], bpl
je 0x180021e18
mov eax, dword [rbx + 0x1d68]
test eax, eax
je 0x180021dbc
cmp eax, 1
jne 0x180021ddf
movaps xmm0, xmm8
jmp 0x180021dc0
movaps xmm0, xmm10
mulss xmm0, xmm7
mov dword [rsi + 0x74], ebp
mov dword [rsi + 0x7c], ebp
addss xmm0, dword [rsi + 0x5c]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsi + 0x6c], xmm0
mov eax, dword [rbx + 0x1d68]
cmp eax, 2
je 0x180021df3
cmp eax, 3
jne 0x180021e18
movaps xmm10, xmm8
mulss xmm10, xmm7
mov dword [rsi + 0x78], ebp
mov dword [rsi + 0x80], ebp
addss xmm10, dword [rsi + 0x60]
cvttss2si eax, xmm10
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsi + 0x70], xmm0
movss xmm0, dword [0x1800732e4]
lea rcx, [rsp + 0xb0]
movss xmm3, dword [0x180073228]
xor r8d, r8d
movss dword [rsp + 0x20], xmm0
lea edx, [r8 + 4]
call fcn.180020ba0
movss xmm0, dword [rsp + 0xb0]
ucomiss xmm0, xmm6
jp 0x180021e52
je 0x180021e7a
cmp byte [rsi + 0x8c], bpl
je 0x180021e7a
mulss xmm0, xmm7
mov dword [rsi + 0x74], ebp
mov dword [rsi + 0x7c], ebp
addss xmm0, dword [rsi + 0x5c]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsi + 0x6c], xmm0
movss xmm0, dword [rsp + 0xb4]
ucomiss xmm0, xmm6
jp 0x180021e8a
je 0x180021eac
mulss xmm0, xmm7
mov dword [rsi + 0x78], ebp
mov dword [rsi + 0x80], ebp
addss xmm0, dword [rsi + 0x60]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsi + 0x70], xmm0
mov qword [rbx + 0x1d78], rbp
mov qword [rbx + 0x1d80], rbp
mov dword [rbx + 0x1d90], 0x7f7fffff
mov dword [rbx + 0x1d8c], 0x7f7fffff
mov dword [rbx + 0x1d88], 0x7f7fffff
mov qword [rbx + 0x1d94], rbp
mov qword [rbx + 0x1d9c], rbp
mov qword [rbx + 0x1da8], rbp
mov qword [rbx + 0x1db0], rbp
mov dword [rbx + 0x1dc0], 0x7f7fffff
mov dword [rbx + 0x1dbc], 0x7f7fffff
mov dword [rbx + 0x1db8], 0x7f7fffff
mov qword [rbx + 0x1dc4], rbp
mov qword [rbx + 0x1dcc], rbp
mov qword [rbx + 0x1dd8], rbp
mov qword [rbx + 0x1de0], rbp
mov dword [rbx + 0x1df0], 0x7f7fffff
mov dword [rbx + 0x1dec], 0x7f7fffff
mov dword [rbx + 0x1de8], 0x7f7fffff
mov qword [rbx + 0x1df4], rbp
mov qword [rbx + 0x1dfc], rbp
mov rsi, qword [rsp + 0xb8]
cmp byte [rbx + 0x1d58], bpl
je 0x1800220fd
cmp dword [rbx + 0x1d1c], 4
jne 0x1800220fd
movsxd rdx, dword [rbx + 0x1d34]
test edx, edx
jne 0x1800220fd
mov rax, qword [rbx + 0x1ce8]
movss xmm2, dword [rax + 0x218]
subss xmm2, dword [rax + 0x10]
movss xmm3, dword [rax + 0x21c]
movss xmm4, dword [rax + 0x220]
movss xmm5, dword [rax + 0x224]
subss xmm3, dword [rax + 0x14]
subss xmm4, dword [rax + 0x10]
subss xmm5, dword [rax + 0x14]
movss xmm10, dword [rax + 0x3b8]
subss xmm2, xmm8
subss xmm3, xmm8
addss xmm4, xmm8
addss xmm5, xmm8
comiss xmm10, xmm2
jb 0x18002200c
movss xmm0, dword [rax + 0x3bc]
comiss xmm0, xmm3
jb 0x18002200c
comiss xmm4, dword [rax + 0x3c0]
jb 0x18002200c
comiss xmm5, dword [rax + 0x3c4]
jae 0x1800220fd
mov rcx, qword [rax + 0x388]
movss xmm1, dword [rdi + 0x19dc]
mulss xmm1, dword [rax + 0x2b0]
test rcx, rcx
je 0x180022030
mulss xmm1, dword [rcx + 0x2b0]
mulss xmm1, xmm11
movaps xmm6, xmm5
mov rcx, rdx
subss xmm6, xmm3
movaps xmm7, xmm4
subss xmm7, xmm2
add rcx, rcx
movss xmm0, dword [rax + rcx*8 + 0x3bc]
minss xmm6, xmm1
minss xmm7, xmm1
xorps xmm6, xmmword [0x180073590]
xorps xmm7, xmmword [0x180073590]
subss xmm3, xmm6
subss xmm2, xmm7
addss xmm7, xmm4
addss xmm6, xmm5
comiss xmm3, xmm0
movaps xmm1, xmm3
jbe 0x180022085
movaps xmm5, xmm3
jmp 0x18002208c
movaps xmm5, xmm6
minss xmm5, xmm0
comiss xmm2, xmm10
movaps xmm0, xmm2
jbe 0x18002209a
movaps xmm4, xmm2
jmp 0x1800220a5
movaps xmm4, xmm7
movaps xmm1, xmm3
minss xmm4, xmm10
movss dword [rax + rcx*8 + 0x3b8], xmm4
movss dword [rax + rcx*8 + 0x3bc], xmm5
movss xmm3, dword [rax + rcx*8 + 0x3c4]
comiss xmm1, xmm3
ja 0x1800220cf
movaps xmm1, xmm6
movaps xmm0, xmm2
minss xmm1, xmm3
movss xmm2, dword [rax + rcx*8 + 0x3c0]
comiss xmm0, xmm2
ja 0x1800220e4
movaps xmm0, xmm7
minss xmm0, xmm2
movss dword [rax + rcx*8 + 0x3c0], xmm0
movss dword [rax + rcx*8 + 0x3c4], xmm1
mov qword [rbx + 0x1cf0], rbp
mov rcx, qword [rbx + 0x1ce8]
movaps xmm11, xmmword [rsp + 0x40]
movaps xmm10, xmmword [rsp + 0x50]
movaps xmm7, xmmword [rsp + 0x80]
movaps xmm6, xmmword [rsp + 0x90]
test rcx, rcx
je 0x180022187
movsxd rax, dword [rbx + 0x1d34]
add rax, rax
movups xmm0, xmmword [rcx + rax*8 + 0x3b8]
lea rax, [rsp + 0x30]
movups xmmword [rsp + 0x30], xmm0
movups xmm5, xmmword [rax]
movaps xmm4, xmm5
movaps xmm3, xmm5
shufps xmm4, xmm5, 0xaa
movaps xmm0, xmm5
addss xmm4, dword [rcx + 0x10]
addss xmm0, dword [rcx + 0x10]
shufps xmm3, xmm5, 0xff
addss xmm3, dword [rcx + 0x14]
shufps xmm5, xmm5, 0x55
addss xmm5, dword [rcx + 0x14]
movss dword [rsp + 0x30], xmm0
movss dword [rsp + 0x38], xmm4
movss dword [rsp + 0x3c], xmm3
movss dword [rsp + 0x34], xmm5
jmp 0x1800221a2
movss xmm0, dword [rdi + 0x58]
movss xmm1, dword [rdi + 0x5c]
movss dword [rsp + 0x38], xmm0
movss dword [rsp + 0x3c], xmm1
mov qword [rsp + 0x30], rbp
lea r11, [rsp + 0xa0]
movaps xmm1, xmm9
lea rax, [rsp + 0x30]
movups xmm0, xmmword [rax]
movups xmmword [rbx + 0x1d20], xmm0
addss xmm9, dword [rbx + 0x1d2c]
addss xmm1, dword [rbx + 0x1d24]
movss dword [rbx + 0x1d2c], xmm9
movaps xmm9, xmmword [r11 - 0x40]
movss dword [rbx + 0x1d24], xmm1
movss xmm0, dword [rbx + 0x1d20]
addss xmm0, xmm8
mov dword [rbx + 0x1d30], ebp
mov rbp, qword [r11 + 0x28]
movaps xmm8, xmmword [r11 - 0x30]
minss xmm0, dword [rbx + 0x1d28]
movss dword [rbx + 0x1d20], xmm0
movss dword [rbx + 0x1d28], xmm0
mov rbx, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret