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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x108]
sub rsp, 0x1c8
mov rdi, qword [0x1800f6270]
mov ebx, r8d
movaps xmmword [rax - 0x58], xmm6
mov rsi, rcx
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rax - 0x98], xmm10
movaps xmmword [rax - 0xa8], xmm11
movaps xmmword [rax - 0xb8], xmm12
call fcn.180026cc0
xor r10d, r10d
mov qword [rbp - 0x30], rax
test rax, rax
mov qword [rsp + 0x40], rax
mov r12, rax
mov r8, rax
sete r14b
mov rdx, rax
mov byte [rsp + 0x48], r14b
mov r9, rax
test rax, rax
jne 0x1800217c8
mov edx, ebx
mov rcx, rsi
call fcn.1800256c0
mov qword [rsp + 0x40], rax
mov r8, rax
mov rdx, rax
mov r9, rax
xor r10d, r10d
mov r15d, dword [rdi + 0x3e58]
mov ecx, ebx
mov r13d, dword [rax + 0x258]
mov r11d, 0xc0200
and ecx, r11d
mov dword [rsp + 0x68], r15d
mov esi, ebx
mov dword [rsp + 0x64], r13d
or esi, 6
cmp ecx, r11d
mov ecx, 1
cmovne esi, ebx
lea rbx, [rdi + 0x3ea8]
cmp dword [rbx], r10d
jne 0x180021817
mov rdx, r9
cmp byte [rdi + 0x3e65], r10b
je 0x180021817
mov al, cl
jmp 0x18002181d
mov al, r10b
mov r8, rdx
mov byte [r8 + 0xb6], al
lea eax, [r15 - 1]
mov rdx, qword [rsp + 0x40]
cmp dword [rdx + 0x258], eax
setl r8b
mov byte [rbp + 0x120], r8b
bt esi, 0x1a
jae 0x180021879
movsxd rax, dword [rdi + 0x4890]
imul rax, rax, 0x38
add rax, qword [rdi + 0x4888]
cmp rdx, qword [rax + 8]
mov eax, dword [rax]
setne cl
cmp dword [rdx + 0xc4], eax
setne al
or cl, al
or r8b, cl
mov ecx, 1
mov byte [rbp + 0x120], r8b
mov byte [rdx + 0xb4], r8b
test r8b, r8b
je 0x18002189a
mov r8b, cl
mov edx, 8
mov rcx, qword [rsp + 0x40]
call fcn.180031fd8
xor r10d, r10d
cmp r13d, r15d
je 0x180021910
mov rcx, qword [rsp + 0x40]
mov r8d, esi
mov dl, r14b
call fcn.180033d84
mov rax, qword [rsp + 0x40]
xor r10d, r10d
mov dword [rax + 0xc], esi
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x258], r15d
mov rax, qword [rsp + 0x40]
movsd xmm0, qword [rdi + 0x3e50]
cvtpd2ps xmm0, xmm0
movss dword [rax + 0x25c], xmm0
mov rax, qword [rsp + 0x40]
mov word [rax + 0xbe], r10w
lea eax, [r10 + 1]
movzx ecx, word [rdi + 0x3ec8]
add dword [rdi + 0x3ec8], eax
mov rax, qword [rsp + 0x40]
mov word [rax + 0xc0], cx
mov rdx, qword [rsp + 0x40]
jmp 0x180021918
mov rdx, qword [rsp + 0x40]
mov esi, dword [rdx + 0xc]
cmp dword [rbx], r10d
jne 0x180021922
mov r14, r10
jmp 0x180021935
movsxd rax, dword [rbx]
imul rcx, rax, 0x58
mov rax, qword [rdi + 0x3eb0]
mov r14, qword [rcx + rax - 0x58]
cmp r13d, r15d
je 0x18002194b
mov eax, esi
and eax, 0x5000000
neg eax
sbb r13, r13
and r13, r14
jmp 0x180021952
mov r13, qword [rdx + 0x360]
lea rcx, [rdx + 0xe8]
mov qword [rbp - 0x60], r13
cmp dword [rcx], r10d
jne 0x180021970
add rdx, 8
call fcn.18003542c
mov rdx, qword [rsp + 0x40]
mov qword [rdi + 0x3ed8], rdx
lea rcx, [rbp - 8]
and dword [rbp + 4], 0
xor edx, edx
and dword [rbp + 8], 0
xorps xmm0, xmm0
and dword [rbp + 0xc], 0
xorps xmm1, xmm1
and dword [rbp + 0x30], 0
xorps xmm10, xmm10
lea r8d, [rdx + 0x3c]
movaps xmmword [rbp + 0x10], xmm0
movaps xmmword [rbp + 0x20], xmm1
call fcn.180072350
xor edx, edx
lea rcx, [rbp + 0x34]
lea r8d, [rdx + 0x12]
call fcn.180072350
mov rax, qword [rsp + 0x40]
lea rcx, [rbp + 0x34]
mov qword [rbp - 0x10], rax
movups xmm0, xmmword [rdi + 0x4774]
movups xmmword [rbp - 8], xmm0
movups xmm1, xmmword [rdi + 0x4784]
movups xmmword [rbp + 8], xmm1
movups xmm0, xmmword [rdi + 0x4794]
movups xmmword [rbp + 0x18], xmm0
movsd xmm1, qword [rdi + 0x47a4]
movsd qword [rbp + 0x28], xmm1
mov eax, dword [rdi + 0x47ac]
mov dword [rbp + 0x30], eax
call fcn.180031e74
lea rdx, [rbp - 0x10]
mov rcx, rbx
call fcn.1800359bc
mov eax, esi
and eax, 0x10000000
mov dword [rbp - 0x48], eax
je 0x180021a23
mov eax, 1
add dword [rdi + 0x48a0], eax
cmp dword [rsp + 0x64], r15d
je 0x180021a45
mov rcx, qword [rsp + 0x40]
mov r8, r13
mov edx, esi
call fcn.180034830
mov rax, qword [rsp + 0x40]
mov qword [rax + 0x368], r14
mov rcx, qword [rsp + 0x40]
mov ecx, dword [rcx + 8]
call fcn.18002eb04
mov rax, qword [rsp + 0x40]
mov ecx, dword [rdi + 0x4754]
mov dword [rax + 0x3c0], ecx
mov eax, esi
and qword [rdi + 0x3ed8], 0
and eax, 0x4000000
mov dword [rsp + 0x4c], eax
je 0x180021ab5
lea rcx, [rdi + 0x4890]
movsxd rax, dword [rcx]
imul rbx, rax, 0x38
mov rax, qword [rsp + 0x40]
add rbx, qword [rdi + 0x4888]
mov rdx, rbx
mov qword [rbx + 8], rax
mov eax, dword [r14 + 0x150]
mov dword [rbx + 0x18], eax
call fcn.180035584
mov rax, qword [rsp + 0x40]
mov ecx, dword [rbx]
mov dword [rax + 0xc4], ecx
xor dl, dl
xor r14b, r14b
xor r15b, r15b
mov byte [rbp + 0x128], dl
mov r9d, 1
test byte [rdi + 0x47b0], r9b
je 0x180021b7d
mov r8d, dword [rdi + 0x47b4]
mov rcx, qword [rsp + 0x40]
movsx eax, byte [rcx + 0xd4]
test r8d, eax
setne dl
mov byte [rbp + 0x128], dl
test r8d, eax
je 0x180021b6b
movss xmm0, dword [rdi + 0x47cc]
movss xmm1, dword [rdi + 0x47c8]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
comiss xmm1, dword [0x18009fa80]
jbe 0x180021b6b
movsd xmm0, qword [rdi + 0x47c0]
movsd qword [rcx + 0xd8], xmm0
mov rax, qword [rsp + 0x40]
movsd xmm1, qword [rdi + 0x47c8]
movsd qword [rax + 0xe0], xmm1
mov rdx, qword [rsp + 0x40]
movzx ecx, byte [rdx + 0xd4]
mov eax, dword [rdx + 0xd4]
and ecx, 0xf1
and eax, 0xffffff00
or ecx, eax
mov dword [rdx + 0xd4], ecx
jmp 0x180021b7d
lea rdx, [rdi + 0x47c0]
call fcn.180032058
mov r9d, 1
mov eax, 2
test byte [rdi + 0x47b0], al
je 0x180021bd2
mov rcx, qword [rsp + 0x40]
lea rdx, [rdi + 0x47d0]
mov r8d, dword [rdi + 0x47b8]
movsx eax, byte [rcx + 0xd5]
and eax, r8d
je 0x180021bb8
movss xmm0, dword [rdx]
comiss xmm0, xmm10
jbe 0x180021bb8
mov r14b, r9b
jmp 0x180021bbc
test eax, eax
je 0x180021bcd
movss xmm0, dword [rdi + 0x47d4]
comiss xmm0, xmm10
jbe 0x180021bcd
mov r15b, r9b
call fcn.1800321a4
test byte [rdi + 0x47b0], 0x80
je 0x180021c29
movss xmm0, dword [rdi + 0x47e0]
comiss xmm0, xmm10
jb 0x180021c02
mov rax, qword [rsp + 0x40]
movss dword [rax + 0x8c], xmm0
mov rax, qword [rsp + 0x40]
and dword [rax + 0x94], 0
movss xmm0, dword [rdi + 0x47e4]
comiss xmm0, xmm10
jb 0x180021c29
mov rax, qword [rsp + 0x40]
movss dword [rax + 0x90], xmm0
mov rax, qword [rsp + 0x40]
and dword [rax + 0x98], 0
test byte [rdi + 0x47b0], 4
mov ebx, dword [rsp + 0x68]
je 0x180021c4a
mov rax, qword [rsp + 0x40]
movsd xmm0, qword [rdi + 0x47d8]
movsd qword [rax + 0x40], xmm0
jmp 0x180021c5f
cmp dword [rsp + 0x64], ebx
je 0x180021c5f
mov rax, qword [rsp + 0x40]
and dword [rax + 0x40], 0
movss dword [rax + 0x44], xmm10
test byte [rdi + 0x47b0], 8
je 0x180021c7f
mov r8d, dword [rdi + 0x47bc]
mov dl, byte [rdi + 0x47e8]
mov rcx, qword [rsp + 0x40]
call fcn.180031f94
test byte [rdi + 0x47b0], 0x20
je 0x180021c92
mov rcx, qword [rsp + 0x40]
call fcn.180026f18
mov rcx, qword [rsp + 0x40]
cmp byte [rcx + 0xb4], 0
je 0x180021cb1
xor r8d, r8d
lea edx, [r8 + 8]
call fcn.180031fd8
mov rcx, qword [rsp + 0x40]
cmp dword [rsp + 0x64], ebx
je 0x1800233e2
mov eax, esi
mov ebx, 1
and eax, 0x3000000
xor r13d, r13d
cmp qword [rbp + 0x118], r13
mov edx, ebx
mov dword [rsp + 0x50], eax
mov al, byte [rcx + 0xd1]
mov byte [rcx + 0xae], bl
setne cl
mov byte [rsp + 0x49], al
mov rax, qword [rsp + 0x40]
mov byte [rax + 0xb8], cl
mov ecx, 0xff7fffff
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x230], ecx
mov dword [rax + 0x234], ecx
mov ecx, 0x7f7fffff
mov dword [rax + 0x238], ecx
mov dword [rax + 0x23c], ecx
mov rcx, qword [rsp + 0x40]
add rcx, 0xe8
call fcn.180035c38
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x290]
call fcn.18003daf0
mov rax, qword [rsp + 0x40]
or dword [rax + 0x1a8], 0xffffffff
mov rcx, qword [rsp + 0x40]
cmp byte [rcx + 0x3cc], r13b
je 0x180021d62
call fcn.180027010
mov rcx, qword [rsp + 0x40]
cmp qword [rdi + 0x4a38], r13
je 0x180021dcb
test dword [rcx + 0xc], 0x80000
jne 0x180021dcb
test r12, r12
je 0x180021dcb
mov rdx, qword [rcx]
mov rbx, qword [rbp + 0x110]
mov rcx, rbx
call fcn.1800769b0
mov rcx, qword [rsp + 0x40]
test eax, eax
je 0x180021dc6
movsxd rax, dword [rcx + 0x70]
lea rdx, [rsp + 0x58]
mov rcx, qword [rcx]
mov r8, rbx
mov qword [rsp + 0x58], rax
call fcn.180028ff4
mov rcx, qword [rsp + 0x40]
mov qword [rcx], rax
mov rcx, qword [rsp + 0x40]
mov eax, dword [rsp + 0x58]
mov dword [rcx + 0x70], eax
mov rcx, qword [rsp + 0x40]
mov ebx, 1
lea r8, [rcx + 0x38]
lea rdx, [rcx + 0x30]
call fcn.180024adc
mov rcx, qword [rsp + 0x40]
mov al, byte [rcx + 0xd0]
test al, al
jle 0x180021def
sub al, bl
mov byte [rcx + 0xd0], al
mov rcx, qword [rsp + 0x40]
mov al, byte [rcx + 0xd1]
test al, al
jle 0x180021e06
sub al, bl
mov byte [rcx + 0xd1], al
mov rcx, qword [rsp + 0x40]
mov al, byte [rcx + 0xd2]
test al, al
jle 0x180021e1d
sub al, bl
mov byte [rcx + 0xd2], al
test r12, r12
jne 0x180021e37
test r14b, r14b
je 0x180021e2c
test r15b, r15b
jne 0x180021e37
mov rax, qword [rsp + 0x40]
mov byte [rax + 0xd1], bl
cmp byte [rbp + 0x120], r13b
je 0x180021ea5
test esi, 0x6000000
je 0x180021ea5
mov rax, qword [rsp + 0x40]
mov byte [rax + 0xd1], bl
test sil, 0x40
je 0x180021ea5
test r14b, r14b
jne 0x180021e70
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x28], r13d
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x20], r13d
test r15b, r15b
jne 0x180021e87
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x2c], r13d
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x24], r13d
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x38], r13d
movss dword [rax + 0x3c], xmm10
mov rax, qword [rsp + 0x40]
movsd xmm0, qword [rax + 0x38]
movsd qword [rax + 0x30], xmm0
call fcn.180027950
mov rcx, qword [rsp + 0x40]
mov rdx, rax
mov r12, rax
call fcn.18003227c
mov rcx, qword [rsp + 0x40]
call fcn.180031588
mov edx, esi
and edx, 0x1000000
mov dword [rsp + 0x60], edx
je 0x180021ee2
mov rax, qword [rsp + 0x40]
mov ecx, dword [rdi + 0x3810]
mov dword [rax + 0x54], ecx
jmp 0x180021f0c
test esi, 0x6000000
je 0x180021efa
bt esi, 0x1b
jb 0x180021efa
movss xmm0, dword [rdi + 0x3818]
jmp 0x180021f02
movss xmm0, dword [rdi + 0x37f4]
mov rax, qword [rsp + 0x40]
movss dword [rax + 0x54], xmm0
mov rax, qword [rsp + 0x40]
movsd xmm0, qword [rdi + 0x37e8]
movsd qword [rax + 0x48], xmm0
test edx, edx
je 0x180021f58
test esi, 0x4010000
jne 0x180021f58
mov rax, qword [rsp + 0x40]
movss xmm0, dword [rax + 0x54]
ucomiss xmm0, xmm10
jp 0x180021f5d
jne 0x180021f5d
bt esi, 0xa
jae 0x180021f4c
movss xmm0, dword [rdi + 0x37ec]
jmp 0x180021f4f
xorps xmm0, xmm0
mov dword [rax + 0x48], r13d
movss dword [rax + 0x4c], xmm0
mov rax, qword [rsp + 0x40]
movss xmm0, dword [rax + 0x48]
movzx r13d, byte [rsp + 0x48]
maxss xmm0, dword [rdi + 0x382c]
maxss xmm0, dword [rdi + 0x4814]
movss dword [rax + 0x15c], xmm0
mov rax, qword [rsp + 0x40]
mov ecx, dword [rdi + 0x4818]
mov dword [rax + 0x160], ecx
test sil, 0x21
jne 0x180022031
mov rbx, qword [rsp + 0x40]
lea rdx, [rbp - 0x80]
mov rcx, rbx
call fcn.180032590
cmp qword [rdi + 0x3ee0], rbx
jne 0x180021ffc
cmp dword [rdi + 0x3f24], 0
jne 0x180021ffc
cmp dword [rdi + 0x3f28], 0
jne 0x180021ffc
mov r8d, 1
lea rdx, [rbp - 0x78]
lea rcx, [rbp - 0x80]
call fcn.180029edc
mov edx, 1
test al, al
je 0x180022001
lea eax, [rdx + 1]
cmp word [rdi + 0x3742], ax
jne 0x180022001
mov byte [rbx + 0xb2], dl
mov rbx, qword [rsp + 0x40]
jmp 0x180022001
mov edx, 1
cmp byte [rbx + 0xb2], 0
je 0x180022042
cmp byte [rbx + 0xb1], 0
sete al
mov byte [rbx + 0xb1], al
mov rcx, qword [rsp + 0x40]
cmp byte [rcx + 0xb1], 0
cmove r13d, edx
call fcn.18002ad10
jmp 0x18002203d
mov rax, qword [rsp + 0x40]
mov byte [rax + 0xb1], 0
mov rbx, qword [rsp + 0x40]
mov byte [rbx + 0xb2], 0
xor ebx, ebx
mov rax, qword [rsp + 0x40]
movss xmm8, dword [rax + 0xa4]
movss xmm9, dword [rax + 0xa8]
mov dword [rax + 0x58], ebx
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x60], ebx
mov rax, qword [rsp + 0x40]
mov rcx, qword [0x1800f6270]
test byte [rax + 0xc], 1
je 0x180022084
xorps xmm2, xmm2
jmp 0x1800220b8
mov rdx, qword [rax + 0x360]
movss xmm0, dword [rcx + 0x3c2c]
mulss xmm0, dword [rax + 0x288]
test rdx, rdx
je 0x1800220a8
mulss xmm0, dword [rdx + 0x288]
movss xmm2, dword [rcx + 0x3820]
addss xmm2, xmm2
addss xmm2, xmm0
test dword [rax + 0xc], 0x400
je 0x1800220ff
mov rdx, qword [rax + 0x360]
movss xmm1, dword [rcx + 0x3c2c]
mulss xmm1, dword [rax + 0x288]
test rdx, rdx
je 0x1800220e5
mulss xmm1, dword [rdx + 0x288]
movss xmm0, dword [rcx + 0x3820]
addss xmm1, dword [rax + 0x160]
addss xmm0, xmm0
addss xmm1, xmm0
jmp 0x180022102
xorps xmm1, xmm1
addss xmm1, xmm2
lea rcx, [rsp + 0x58]
movss dword [rax + 0x5c], xmm1
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x64], ebx
mov rax, qword [rsp + 0x40]
mov dword [rax + 0xa4], ebx
movss dword [rax + 0xa8], xmm10
mov rdx, qword [rsp + 0x40]
lea r8, [rdx + 0x38]
call fcn.1800248ac
mov rdx, qword [rsp + 0x40]
mov eax, esi
and eax, 0x40
mov dword [rbp - 0x44], eax
je 0x18002218b
cmp byte [rdx + 0xb1], bl
jne 0x18002218b
mov ecx, 1
test r14b, r14b
jne 0x18002216f
movss xmm0, dword [rsp + 0x58]
movss dword [rdx + 0x28], xmm0
mov rdx, qword [rsp + 0x40]
mov byte [rsp + 0x48], cl
test r15b, r15b
jne 0x180022229
movss xmm0, dword [rsp + 0x5c]
mov r13b, cl
movss dword [rdx + 0x2c], xmm0
jmp 0x180022224
mov al, byte [rdx + 0xc8]
test al, al
jg 0x1800221a1
cmp byte [rdx + 0xc9], bl
jle 0x180022229
test r14b, r14b
jne 0x1800221da
test al, al
jle 0x1800221da
cmp byte [rdx + 0xcb], bl
je 0x1800221bf
movss xmm0, dword [rdx + 0x28]
maxss xmm0, dword [rsp + 0x58]
jmp 0x1800221c5
movss xmm0, dword [rsp + 0x58]
mov ecx, 1
movss dword [rdx + 0x28], xmm0
mov rdx, qword [rsp + 0x40]
mov byte [rsp + 0x48], cl
jmp 0x1800221df
mov ecx, 1
test r15b, r15b
jne 0x180022214
cmp byte [rdx + 0xc9], bl
jle 0x180022214
cmp byte [rdx + 0xcb], bl
je 0x180022201
movss xmm0, dword [rdx + 0x2c]
maxss xmm0, dword [rsp + 0x5c]
jmp 0x180022207
movss xmm0, dword [rsp + 0x5c]
movss dword [rdx + 0x2c], xmm0
mov r13b, cl
mov rdx, qword [rsp + 0x40]
cmp byte [rdx + 0xb1], bl
jne 0x180022229
mov rcx, rdx
call fcn.18002ad10
mov rdx, qword [rsp + 0x40]
lea r8, [rdx + 0x28]
lea rcx, [rbp - 0x70]
call fcn.180024c44
mov r15d, dword [rsp + 0x60]
xor r9d, r9d
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
mov rax, qword [rsp + 0x40]
movss dword [rax + 0x28], xmm0
movss dword [rax + 0x2c], xmm1
mov rbx, qword [rsp + 0x40]
cmp byte [rbx + 0xb1], r9b
je 0x180022297
test r15d, r15d
jne 0x180022297
lea rdx, [rbp - 0x28]
mov rcx, rbx
call fcn.180032590
xor r9d, r9d
movss xmm0, dword [rax + 8]
movss xmm1, dword [rax + 0xc]
subss xmm0, dword [rax]
subss xmm1, dword [rax + 4]
movss dword [rbp - 0x70], xmm0
movss dword [rbp - 0x6c], xmm1
jmp 0x1800222a1
movsd xmm0, qword [rbx + 0x28]
movsd qword [rbp - 0x70], xmm0
mov r8d, dword [rsp + 0x4c]
lea rax, [rbp - 0x70]
movsd xmm0, qword [rax]
mov r14b, byte [rbp + 0x128]
movsd qword [rbx + 0x20], xmm0
mov bl, byte [rbp + 0x120]
test bl, bl
je 0x18002230d
mov rax, qword [rsp + 0x40]
or dword [rax + 0xcc], 0xffffffff
test r8d, r8d
je 0x18002230d
bt esi, 0x1b
jb 0x18002230d
test r14b, r14b
jne 0x18002230d
movsxd rax, dword [rdi + 0x4890]
imul rcx, rax, 0x38
mov rax, qword [rdi + 0x4898]
movss xmm0, dword [rcx + rax - 0x14]
movss xmm1, dword [rcx + rax - 0x10]
mov rax, qword [rsp + 0x40]
movss dword [rax + 0x18], xmm0
movss dword [rax + 0x1c], xmm1
test r15d, r15d
je 0x1800223e4
mov rax, qword [rsp + 0x40]
mov rbx, qword [rbp - 0x60]
lea rcx, [rbx + 0x188]
movzx edx, word [rcx]
mov word [rax + 0xbe], dx
lea rdx, [rsp + 0x40]
call fcn.1800354d8
mov r8d, dword [rsp + 0x4c]
xor r9d, r9d
mov r15d, dword [rsp + 0x50]
test r8d, r8d
jne 0x18002236c
test r14b, r14b
jne 0x18002236c
cmp r15d, 0x3000000
je 0x18002236c
mov rax, qword [rsp + 0x40]
movsd xmm0, qword [rbx + 0xf8]
movsd qword [rax + 0x18], xmm0
mov bl, byte [rbp + 0x120]
mov rcx, qword [rsp + 0x40]
movss xmm12, dword [0x18009fb0c]
movss xmm1, dword [rcx + 0xd8]
ucomiss xmm1, xmm12
jp 0x180022390
je 0x1800223eb
cmp byte [rcx + 0xd1], r9b
jne 0x1800223eb
movss xmm0, dword [rcx + 0xe0]
lea rdx, [rbp + 0x128]
mulss xmm0, dword [rcx + 0x20]
xor r8d, r8d
subss xmm1, xmm0
movss xmm0, dword [rcx + 0xdc]
movss dword [rbp + 0x128], xmm1
movss xmm1, dword [rcx + 0x24]
mulss xmm1, dword [rcx + 0xe4]
subss xmm0, xmm1
movss dword [rbp + 0x12c], xmm0
call fcn.180032058
jmp 0x18002243d
mov r15d, dword [rsp + 0x50]
jmp 0x180022372
cmp dword [rbp - 0x48], r9d
jne 0x180022416
test r8d, r8d
je 0x180022402
test r14b, r14b
jne 0x180022402
cmp byte [rsp + 0x49], r9b
jg 0x180022416
bt esi, 0x19
jae 0x18002244a
test r14b, r14b
jne 0x18002244a
cmp r15d, 0x3000000
je 0x18002244a
mov rdx, rcx
lea rcx, [rbp + 0x128]
call fcn.18002633c
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
mov rax, qword [rsp + 0x40]
movss dword [rax + 0x18], xmm0
movss dword [rax + 0x1c], xmm1
mov r8d, dword [rsp + 0x4c]
xor r9d, r9d
mov rcx, qword [rsp + 0x40]
movss xmm6, dword [r12 + 4]
movss xmm7, dword [r12 + 8]
movaps xmm3, xmm6
movss xmm5, dword [r12 + 0x14]
movaps xmm2, xmm7
movss xmm4, dword [r12 + 0x18]
movss xmm1, dword [rdi + 0x38a0]
movss xmm0, dword [rdi + 0x389c]
movss dword [rbp - 0x80], xmm6
movss dword [rbp - 0x7c], xmm7
maxss xmm1, dword [rdi + 0x38a8]
maxss xmm0, dword [rdi + 0x38a4]
addss xmm5, dword [r12 + 0x1c]
addss xmm4, dword [r12 + 0x20]
addss xmm3, dword [r12 + 0xc]
addss xmm2, dword [r12 + 0x10]
subss xmm5, xmm0
subss xmm4, xmm1
movss dword [rbp - 0x78], xmm3
movss dword [rbp - 0x74], xmm2
addss xmm0, dword [r12 + 0x14]
movss dword [rbp - 0x68], xmm5
movss dword [rbp - 0x64], xmm4
addss xmm1, dword [r12 + 0x18]
mov r12d, dword [rsp + 0x60]
movss dword [rbp - 0x70], xmm0
movss dword [rbp - 0x6c], xmm1
test r14b, r14b
jne 0x180022599
test r12d, r12d
jne 0x180022599
subss xmm3, xmm6
comiss xmm3, xmm10
jbe 0x180022599
subss xmm2, xmm7
comiss xmm2, xmm10
jbe 0x180022599
mov rax, qword [0x1800f6270]
movss xmm2, dword [rcx + 0x24]
cmp byte [rax + 0x7f], r9b
je 0x180022565
test byte [rcx + 0xc], 1
jne 0x180022565
mov rdx, qword [rcx + 0x360]
movss xmm3, dword [rax + 0x3c2c]
mulss xmm3, dword [rcx + 0x288]
test rdx, rdx
je 0x180022555
mulss xmm3, dword [rdx + 0x288]
movss xmm2, dword [rax + 0x3820]
addss xmm2, xmm2
addss xmm2, xmm3
subss xmm0, dword [rcx + 0x20]
subss xmm1, xmm2
comiss xmm1, dword [rcx + 0x1c]
ja 0x18002257c
movaps xmm1, xmm4
minss xmm1, dword [rcx + 0x1c]
comiss xmm0, dword [rcx + 0x18]
ja 0x18002258a
movaps xmm0, xmm5
minss xmm0, dword [rcx + 0x18]
movss dword [rcx + 0x18], xmm0
movss dword [rcx + 0x1c], xmm1
mov rcx, qword [rsp + 0x40]
cvttss2si eax, dword [rcx + 0x18]
movd xmm1, eax
cvttss2si eax, dword [rcx + 0x1c]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
movss dword [rcx + 0x18], xmm1
cvtdq2ps xmm0, xmm0
movss dword [rcx + 0x1c], xmm0
test r12d, r12d
je 0x1800225ca
movss xmm0, dword [rdi + 0x380c]
jmp 0x1800225ea
mov eax, esi
and eax, 0xc000000
cmp eax, 0x4000000
jne 0x1800225e2
movss xmm0, dword [rdi + 0x3814]
jmp 0x1800225ea
movss xmm0, dword [rdi + 0x37f0]
mov rax, qword [rsp + 0x40]
movzx r14d, r9b
movss dword [rax + 0x50], xmm0
test bl, bl
je 0x18002265a
bt esi, 0xc
jb 0x18002265a
test r8d, r8d
je 0x18002260f
mov r14d, 1
jmp 0x18002261b
test r15d, r15d
mov eax, 1
cmove r14d, eax
call fcn.180027ed0
test rax, rax
je 0x18002265a
mov rbx, qword [rsp + 0x40]
mov rdx, rax
mov rcx, rbx
call fcn.18002a1d8
xor edx, edx
test al, al
jne 0x180022661
mov r14b, dl
cmp rbx, qword [rbx + 0x370]
jne 0x180022661
mov rcx, rbx
call fcn.180026850
mov rdx, rax
mov rcx, rbx
call fcn.1800240e4
mov rbx, qword [rsp + 0x40]
xor edx, edx
movss xmm1, dword [rdi + 0x3c28]
xorps xmm0, xmm0
or dword [rbp + 0x128], 0xffffffff
movaps xmm2, xmm1
mov al, byte [rdi + 0x7e]
mov r8d, 1
mulss xmm1, dword [0x18009fa94]
neg al
mulss xmm2, dword [0x18009fac0]
sbb r15d, r15d
neg r15d
movups xmmword [rbp - 0x28], xmm0
add r15d, r8d
movss xmm0, dword [rbx + 0x50]
addss xmm0, dword [0x18009d5d0]
addss xmm0, xmm1
maxss xmm2, xmm0
cvttss2si eax, xmm2
movd xmm11, eax
cvtdq2ps xmm11, xmm11
cmp byte [rbx + 0xb1], dl
jne 0x180022708
lea rax, [rbp - 0x70]
mov r9d, r15d
mov qword [rsp + 0x28], rax
lea r8, [rbp + 0x128]
lea rax, [rbp - 0x28]
mov rcx, rbx
lea rdx, [rsp + 0x58]
mov qword [rsp + 0x20], rax
call fcn.180033ed4
mov rbx, qword [rsp + 0x40]
xor edx, edx
lea r8d, [rdx + 1]
test al, al
je 0x180022708
mov r13b, r8b
mov cl, r8b
jmp 0x18002270c
mov cl, byte [rsp + 0x48]
mov al, byte [rbp + 0x128]
mov byte [rbx + 0xb9], al
mov rbx, qword [rsp + 0x40]
cmp byte [rbx + 0xb1], dl
jne 0x1800228b8
movss xmm0, dword [rbx + 0x64]
movss xmm2, dword [rbx + 0x1f8]
movss xmm3, dword [rbx + 0x1fc]
addss xmm0, dword [rbx + 0x5c]
subss xmm2, dword [rbx + 0x1f0]
subss xmm3, dword [rbx + 0x1f4]
movss xmm4, dword [rbx + 0x2c]
movss xmm5, dword [rbx + 0x28]
subss xmm4, xmm0
addss xmm2, xmm8
addss xmm3, xmm9
cmp qword [rbp - 0x30], rdx
jne 0x18002277f
and dword [rbp - 0x40], 0
lea rax, [rbp - 0x40]
and dword [rbp - 0x3c], 0
jmp 0x1800227a9
movss xmm0, dword [rbx + 0x48]
lea rax, [rbp - 0x38]
movss xmm1, dword [rbx + 0x4c]
addss xmm0, xmm0
addss xmm1, xmm1
addss xmm0, dword [rbx + 0x30]
addss xmm1, dword [rbx + 0x34]
movss dword [rbp - 0x38], xmm0
movss dword [rbp - 0x34], xmm1
movss xmm6, dword [rax]
movss xmm1, dword [rax + 4]
test cl, cl
jne 0x1800227b9
movaps xmm5, xmm2
test r13b, r13b
jne 0x1800227c1
movaps xmm4, xmm3
bt esi, 0xe
jb 0x1800227d6
comiss xmm1, xmm4
jbe 0x1800227d2
test sil, 8
je 0x1800227d6
mov al, dl
jmp 0x1800227d9
mov al, r8b
mov byte [rbx + 0xad], al
bt esi, 0xf
jb 0x180022811
test al, al
je 0x1800227f3
movss xmm0, dword [rdi + 0x3854]
jmp 0x1800227f6
xorps xmm0, xmm0
subss xmm5, xmm0
comiss xmm6, xmm5
jbe 0x18002280d
mov eax, esi
and eax, 0x808
cmp eax, 0x800
je 0x180022811
mov cl, dl
jmp 0x180022814
mov cl, r8b
mov rax, qword [rsp + 0x40]
mov byte [rax + 0xac], cl
mov rax, qword [rsp + 0x40]
test cl, cl
je 0x18002284b
cmp byte [rax + 0xad], dl
jne 0x18002284b
comiss xmm1, xmm4
jbe 0x18002283e
mov cl, r8b
test sil, 8
je 0x180022840
mov cl, dl
mov byte [rax + 0xad], cl
mov rax, qword [rsp + 0x40]
cmp byte [rax + 0xac], dl
je 0x18002285d
movss xmm1, dword [rdi + 0x3854]
jmp 0x180022860
xorps xmm1, xmm1
cmp byte [rax + 0xad], dl
je 0x180022872
movss xmm0, dword [rdi + 0x3854]
jmp 0x180022875
xorps xmm0, xmm0
movss dword [rax + 0xa4], xmm0
movss dword [rax + 0xa8], xmm1
mov rax, qword [rsp + 0x40]
movss xmm0, dword [rax + 0xa4]
addss xmm0, dword [rax + 0x60]
movss dword [rax + 0x60], xmm0
mov rax, qword [rsp + 0x40]
movss xmm0, dword [rax + 0xa8]
addss xmm0, dword [rax + 0x64]
movss dword [rax + 0x64], xmm0
mov rbx, qword [rsp + 0x40]
mov eax, esi
and eax, 0x5000000
cmp eax, 0x1000000
jne 0x1800228dd
cmp dword [rsp + 0x50], 0x3000000
je 0x1800228dd
mov r13, qword [rbp - 0x60]
lea rax, [r13 + 0x230]
jmp 0x1800228e5
mov r13, qword [rbp - 0x60]
lea rax, [rbp - 0x80]
movups xmm0, xmmword [rax]
lea rdx, [rbp - 0x58]
mov rcx, rbx
movdqu xmmword [rsp + 0x70], xmm0
movss xmm8, dword [rbx + 0x18]
movss xmm9, dword [rbx + 0x1c]
movaps xmm7, xmm8
addss xmm7, dword [rbx + 0x20]
movaps xmm6, xmm9
addss xmm6, dword [rbx + 0x24]
call fcn.180032590
movss dword [rbx + 0x1e0], xmm8
mov edx, 1
movss dword [rbx + 0x1e4], xmm9
movss dword [rbx + 0x1e8], xmm7
movss dword [rbx + 0x1ec], xmm6
mov rax, qword [rsp + 0x40]
movss xmm1, dword [rax + 0x1e0]
movss xmm0, dword [rax + 0x1e4]
maxss xmm1, dword [rsp + 0x70]
maxss xmm0, dword [rsp + 0x74]
movss dword [rax + 0x1e0], xmm1
movss dword [rax + 0x1e4], xmm0
movss xmm1, dword [rax + 0x1e8]
movss xmm0, dword [rax + 0x1ec]
minss xmm1, dword [rsp + 0x78]
minss xmm0, dword [rsp + 0x7c]
movss dword [rax + 0x1e8], xmm1
movss dword [rax + 0x1ec], xmm0
mov rax, qword [rsp + 0x40]
movss xmm0, dword [rax + 0x58]
addss xmm0, dword [rax + 0x18]
movss dword [rax + 0x1f0], xmm0
mov rax, qword [rsp + 0x40]
movss xmm1, dword [rax + 0x5c]
addss xmm1, dword [rax + 0x1c]
movss dword [rax + 0x1f4], xmm1
mov rax, qword [rsp + 0x40]
movss xmm0, dword [rax + 0x20]
addss xmm0, dword [rax + 0x18]
subss xmm0, dword [rax + 0x60]
movss dword [rax + 0x1f8], xmm0
mov rax, qword [rsp + 0x40]
movss xmm1, dword [rax + 0x24]
addss xmm1, dword [rax + 0x1c]
subss xmm1, dword [rax + 0x64]
movss dword [rax + 0x1fc], xmm1
mov eax, esi
mov rcx, qword [rsp + 0x40]
and eax, 0x401
cmp eax, edx
jne 0x180022a19
movss xmm2, dword [rcx + 0x54]
jmp 0x180022a21
movss xmm2, dword [rdi + 0x3828]
movss xmm0, dword [rcx + 0x48]
movss xmm3, dword [0x18009d5c8]
mulss xmm0, xmm3
cvttss2si eax, xmm0
movss xmm0, dword [rcx + 0x1f0]
addss xmm0, xmm3
movd xmm1, eax
cvtdq2ps xmm1, xmm1
maxss xmm1, dword [rcx + 0x54]
addss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rcx + 0x200], xmm0
mov rcx, qword [rsp + 0x40]
movss xmm1, dword [rcx + 0x1f4]
addss xmm1, xmm3
addss xmm1, xmm2
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rcx + 0x204], xmm0
mov rcx, qword [rsp + 0x40]
movss xmm0, dword [rcx + 0x48]
movss xmm2, dword [rcx + 0x1f8]
mulss xmm0, xmm3
addss xmm2, xmm3
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
maxss xmm1, dword [rcx + 0x54]
subss xmm2, xmm1
cvttss2si eax, xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rcx + 0x208], xmm0
mov rcx, qword [rsp + 0x40]
movss xmm1, dword [rcx + 0x1fc]
addss xmm1, xmm3
subss xmm1, dword [rcx + 0x54]
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rcx + 0x20c], xmm0
mov rax, qword [rsp + 0x40]
movss xmm1, dword [rsp + 0x74]
movss xmm0, dword [rax + 0x204]
comiss xmm1, xmm0
ja 0x180022b19
movss xmm1, dword [rsp + 0x7c]
minss xmm1, xmm0
movss xmm2, dword [rax + 0x200]
movss xmm0, dword [rsp + 0x70]
comiss xmm0, xmm2
ja 0x180022b36
movss xmm0, dword [rsp + 0x78]
minss xmm0, xmm2
movss dword [rax + 0x200], xmm0
movss dword [rax + 0x204], xmm1
movss xmm0, dword [rax + 0x20c]
movss xmm1, dword [rsp + 0x74]
comiss xmm1, xmm0
ja 0x180022b63
movss xmm1, dword [rsp + 0x7c]
minss xmm1, xmm0
movss xmm2, dword [rax + 0x208]
movss xmm0, dword [rsp + 0x70]
comiss xmm0, xmm2
ja 0x180022b80
movss xmm0, dword [rsp + 0x78]
minss xmm0, xmm2
movss dword [rax + 0x208], xmm0
movss dword [rax + 0x20c], xmm1
mov rcx, qword [rsp + 0x40]
movss xmm0, dword [rcx + 0x20]
comiss xmm0, xmm10
jbe 0x180022bb2
test esi, 0x2000040
jne 0x180022bb2
mulss xmm0, dword [0x18009faa0]
jmp 0x180022bc2
movss xmm0, dword [rdi + 0x3c28]
mulss xmm0, dword [0x18009faec]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rcx + 0x260], xmm0
lea rcx, [rbp + 0x128]
mov rax, qword [rsp + 0x40]
movss xmm1, dword [rax + 0x48]
movss xmm0, dword [rax + 0x1f8]
addss xmm1, xmm1
subss xmm0, dword [rax + 0x1f0]
addss xmm1, dword [rax + 0x30]
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
movss dword [rax + 0x84], xmm0
mov rax, qword [rsp + 0x40]
movss xmm0, dword [rax + 0x1fc]
subss xmm0, dword [rax + 0x1f4]
movss xmm1, dword [rax + 0x4c]
addss xmm1, xmm1
addss xmm1, dword [rax + 0x34]
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
movss dword [rax + 0x88], xmm0
mov rdx, qword [rsp + 0x40]
call fcn.180024468
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
mov rax, qword [rsp + 0x40]
movss dword [rax + 0x7c], xmm0
movss dword [rax + 0x80], xmm1
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x8c], 0x7f7fffff
movss dword [rax + 0x90], xmm12
mov rax, qword [rsp + 0x40]
and dword [rax + 0x6c], 0
mov rax, qword [rsp + 0x40]
and dword [rax + 0x68], 0
mov rax, qword [rdi + 0x3c20]
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rax + 0x40]
mov rcx, qword [rcx + 0x290]
mov rdx, qword [rdx + 8]
call fcn.18003b914
xor r8d, r8d
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x70]
call fcn.18002ea80
xor r9d, r9d
mov bl, r9b
test r12d, r12d
je 0x180022da0
cmp dword [rsp + 0x4c], r9d
jne 0x180022da0
cmp dword [rsp + 0x50], 0x3000000
je 0x180022da0
movsxd rax, dword [r13 + 0x188]
mov r10, qword [rsp + 0x40]
cmp eax, 2
jl 0x180022d62
mov rcx, rax
mov rax, qword [r13 + 0x190]
mov rdx, qword [rax + rcx*8 - 0x10]
test rdx, rdx
je 0x180022d62
movss xmm0, dword [rdx + 0x1c]
addss xmm0, dword [rdx + 0x24]
movss xmm2, dword [rdx + 0x18]
movss xmm3, dword [r10 + 0x18]
movss xmm1, dword [r10 + 0x1c]
addss xmm2, dword [rdx + 0x20]
comiss xmm0, dword [r10 + 0x1c]
addss xmm3, dword [r10 + 0x20]
addss xmm1, dword [r10 + 0x24]
jbe 0x180022d62
comiss xmm1, dword [rdx + 0x1c]
jbe 0x180022d62
comiss xmm2, dword [r10 + 0x18]
jbe 0x180022d62
comiss xmm3, dword [rdx + 0x18]
jbe 0x180022d62
lea r8d, [r9 + 1]
jmp 0x180022d65
mov r8b, r9b
mov rdx, qword [r10 + 0x290]
movsxd rax, dword [rdx]
imul rcx, rax, 0x38
mov rax, qword [rdx + 8]
cmp dword [rcx + rax - 0x18], r9d
mov ecx, 1
jne 0x180022daa
mov rax, qword [r13 + 0x290]
cmp dword [rax + 0x20], r9d
jle 0x180022daa
test r8b, r8b
jne 0x180022daa
mov bl, cl
mov qword [r10 + 0x290], rax
jmp 0x180022da5
mov ecx, 1
mov r10, qword [rsp + 0x40]
mov rax, qword [rdi + 0x4a28]
test rax, rax
jne 0x180022dbd
mov rax, qword [rdi + 0x48b8]
test r14b, r14b
jne 0x180022ddc
test rax, rax
je 0x180022dd7
mov rax, qword [rax + 0x380]
cmp qword [r10 + 0x380], rax
je 0x180022ddc
mov r8b, r9b
jmp 0x180022ddf
mov r8b, cl
movss dword [rsp + 0x30], xmm11
lea rax, [rbp - 0x28]
mov r9b, cl
mov qword [rsp + 0x28], rax
lea rdx, [rbp - 0x58]
mov dword [rsp + 0x20], r15d
mov rcx, r10
call fcn.1800300bc
xor r15d, r15d
test bl, bl
je 0x180022e1d
mov rcx, qword [rsp + 0x40]
lea rax, [rcx + 0x298]
mov qword [rcx + 0x290], rax
mov rcx, qword [rsp + 0x40]
mov edx, esi
shr edx, 3
mov ebx, 1
not dl
and dl, bl
movss xmm3, dword [rcx + 0x40]
ucomiss xmm3, xmm10
jp 0x180022e79
jne 0x180022e79
movss xmm0, dword [rcx + 0x48]
mov eax, esi
movss xmm1, dword [rcx + 0x20]
addss xmm0, xmm0
and eax, 0x808
subss xmm1, xmm0
movss xmm0, dword [rcx + 0x60]
addss xmm0, dword [rcx + 0x58]
subss xmm1, xmm0
cmp eax, 0x800
jne 0x180022e72
movss xmm3, dword [rcx + 0x30]
jmp 0x180022e75
xorps xmm3, xmm3
maxss xmm3, xmm1
movss xmm2, dword [rcx + 0x44]
ucomiss xmm2, xmm10
jp 0x180022eb8
jne 0x180022eb8
movss xmm0, dword [rcx + 0x4c]
movss xmm1, dword [rcx + 0x24]
addss xmm0, xmm0
subss xmm1, xmm0
movss xmm0, dword [rcx + 0x64]
addss xmm0, dword [rcx + 0x5c]
subss xmm1, xmm0
test dl, dl
je 0x180022eb1
movss xmm2, dword [rcx + 0x34]
jmp 0x180022eb4
xorps xmm2, xmm2
maxss xmm2, xmm1
movss xmm1, dword [rcx + 0x48]
maxss xmm1, dword [rcx + 0x54]
movss xmm0, dword [rcx + 0x1f0]
subss xmm0, dword [rcx + 0x7c]
addss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rcx + 0x210], xmm0
mov rcx, qword [rsp + 0x40]
movss xmm1, dword [rcx + 0x4c]
maxss xmm1, dword [rcx + 0x54]
movss xmm0, dword [rcx + 0x1f4]
subss xmm0, dword [rcx + 0x80]
addss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rcx + 0x214], xmm0
mov rax, qword [rsp + 0x40]
addss xmm3, dword [rax + 0x210]
movss dword [rax + 0x218], xmm3
mov rax, qword [rsp + 0x40]
addss xmm2, dword [rax + 0x214]
movss dword [rax + 0x21c], xmm2
mov rax, qword [rsp + 0x40]
movups xmm0, xmmword [rax + 0x210]
movdqu xmmword [rax + 0x220], xmm0
mov rax, qword [rsp + 0x40]
movss xmm1, dword [rax + 0x18]
subss xmm1, dword [rax + 0x7c]
addss xmm1, dword [rax + 0x48]
addss xmm1, dword [rax + 0x58]
movss dword [rax + 0x240], xmm1
mov rax, qword [rsp + 0x40]
movss xmm0, dword [rax + 0x1c]
subss xmm0, dword [rax + 0x80]
addss xmm0, dword [rax + 0x4c]
addss xmm0, dword [rax + 0x5c]
movss dword [rax + 0x244], xmm0
mov rax, qword [rsp + 0x40]
movss xmm1, dword [rax + 0x40]
ucomiss xmm1, xmm10
jp 0x180022fd1
jne 0x180022fd1
movss xmm0, dword [rax + 0x48]
movss xmm1, dword [rax + 0x20]
addss xmm0, xmm0
subss xmm1, xmm0
movss xmm0, dword [rax + 0x60]
addss xmm0, dword [rax + 0x58]
subss xmm1, xmm0
addss xmm1, dword [rax + 0x240]
movss dword [rax + 0x248], xmm1
mov rax, qword [rsp + 0x40]
movss xmm2, dword [rax + 0x44]
ucomiss xmm2, xmm10
jp 0x180023013
jne 0x180023013
movss xmm0, dword [rax + 0x4c]
movss xmm2, dword [rax + 0x24]
addss xmm0, xmm0
subss xmm2, xmm0
movss xmm0, dword [rax + 0x64]
addss xmm0, dword [rax + 0x5c]
subss xmm2, xmm0
addss xmm2, dword [rax + 0x244]
movss dword [rax + 0x24c], xmm2
mov rax, qword [rsp + 0x40]
movss xmm0, dword [rax + 0x58]
addss xmm0, dword [rax + 0x48]
subss xmm0, dword [rax + 0x7c]
movss dword [rax + 0x13c], xmm0
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x144], r15d
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x140], r15d
mov rax, qword [rsp + 0x40]
movss xmm2, dword [rax + 0x48]
movss xmm0, dword [rax + 0x18]
movss xmm1, dword [rax + 0x7c]
movss xmm3, dword [rax + 0x4c]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
cvtps2pd xmm2, xmm2
cvtps2pd xmm3, xmm3
addsd xmm2, xmm0
movss xmm0, dword [rax + 0x58]
cvtps2pd xmm0, xmm0
subsd xmm2, xmm1
movss xmm1, dword [rax + 0x140]
cvtps2pd xmm1, xmm1
addsd xmm2, xmm0
movss xmm0, dword [rax + 0x1c]
cvtps2pd xmm0, xmm0
addsd xmm2, xmm1
movss xmm1, dword [rax + 0x80]
addsd xmm3, xmm0
movss xmm0, dword [rax + 0x5c]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
subsd xmm3, xmm1
cvtpd2ps xmm1, xmm2
addsd xmm3, xmm0
movss dword [rax + 0x108], xmm1
cvtpd2ps xmm0, xmm3
movss dword [rax + 0x10c], xmm0
mov rax, qword [rsp + 0x40]
movss xmm0, dword [rax + 0x108]
movss xmm1, dword [rax + 0x10c]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
subsd xmm2, xmm0
subsd xmm3, xmm1
cvtpd2ps xmm2, xmm2
cvtpd2ps xmm0, xmm3
movss dword [rax + 0x148], xmm2
movss dword [rax + 0x14c], xmm0
mov rax, qword [rsp + 0x40]
movsd xmm0, qword [rax + 0x108]
movsd qword [rax + 0xf8], xmm0
mov rax, qword [rsp + 0x40]
movsd qword [rax + 0x100], xmm0
mov rax, qword [rsp + 0x40]
movsd xmm0, qword [rax + 0x108]
movsd qword [rax + 0x110], xmm0
mov rax, qword [rsp + 0x40]
movsd xmm1, qword [rax + 0x108]
movsd qword [rax + 0x118], xmm1
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x128], r15d
movss dword [rax + 0x12c], xmm10
mov rax, qword [rsp + 0x40]
movsd xmm0, qword [rax + 0x128]
movsd qword [rax + 0x120], xmm0
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x134], r15d
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x130], r15d
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x139], r15b
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x138], r15b
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x150], r15d
mov rcx, qword [rsp + 0x40]
movzx eax, word [rcx + 0x156]
mov r8b, byte [rbp + 0x120]
mov word [rcx + 0x154], ax
mov rax, qword [rsp + 0x40]
mov word [rax + 0x156], r15w
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x158], r15b
mov rcx, qword [rsp + 0x40]
movss xmm0, dword [rcx + 0x88]
comiss xmm0, xmm10
seta al
mov byte [rcx + 0x159], al
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x15a], r15b
mov rcx, qword [rsp + 0x40]
movss xmm1, dword [rdi + 0x382c]
add rcx, 0x164
call fcn.18005893c
mov rax, qword [rsp + 0x40]
xor edx, edx
mov dword [rax + 0x180], r15d
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x184], r15d
mov rcx, qword [rsp + 0x40]
add rcx, 0x188
call fcn.180035cc8
mov rcx, qword [rsp + 0x40]
lea rax, [rcx + 0x268]
mov qword [rcx + 0x198], rax
mov rax, qword [rsp + 0x40]
mov qword [rax + 0x1a0], r15
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x1ac], ebx
test r13, r13
je 0x1800232a0
mov ecx, dword [r13 + 0x1ac]
jmp 0x1800232a2
mov ecx, ebx
mov rax, qword [rsp + 0x40]
xor edx, edx
mov dword [rax + 0x1b0], ecx
mov rcx, qword [rsp + 0x40]
mov eax, dword [rcx + 0x260]
mov dword [rcx + 0x1b4], eax
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x1b8], 0xbf800000
mov rcx, qword [rsp + 0x40]
add rcx, 0x1c0
call fcn.180035c38
mov rcx, qword [rsp + 0x40]
xor edx, edx
add rcx, 0x1d0
call fcn.180035c38
mov rax, qword [rsp + 0x40]
mov cl, byte [rax + 0xc8]
test cl, cl
jle 0x18002330f
sub cl, bl
mov byte [rax + 0xc8], cl
mov rax, qword [rsp + 0x40]
mov cl, byte [rax + 0xc9]
test cl, cl
jle 0x180023326
sub cl, bl
mov byte [rax + 0xc9], cl
mov rax, qword [rsp + 0x40]
test r14b, r14b
je 0x180023344
mov rcx, rax
call fcn.180026f18
mov rcx, qword [rsp + 0x40]
xor edx, edx
call fcn.18002b180
mov rax, qword [rsp + 0x40]
mov r14d, ebx
test r14b, sil
jne 0x18002339d
movss xmm0, dword [rbp - 0x58]
lea rdx, [rbp - 0x80]
addss xmm0, dword [rax + 0x54]
movss xmm1, dword [rbp - 0x50]
mov rcx, rax
subss xmm1, dword [rax + 0x54]
mov r9, qword [rbp + 0x118]
mov r8, qword [rbp + 0x110]
movss dword [rbp - 0x80], xmm0
movss xmm0, dword [rbp - 0x54]
movss dword [rbp - 0x7c], xmm0
movss xmm0, dword [rbp - 0x4c]
movss dword [rbp - 0x74], xmm0
movss dword [rbp - 0x78], xmm1
call fcn.180030974
mov rax, qword [rsp + 0x40]
mov word [rax + 0x252], r15w
lea rdx, [rbp - 0x50]
mov rax, qword [rsp + 0x40]
lea rcx, [rbp - 0x58]
xor r8d, r8d
mov word [rax + 0x250], r15w
call fcn.180029edc
mov rcx, qword [rsp + 0x40]
lea r9, [rbp - 0x58]
mov edx, dword [rdi + 0x4758]
movzx r8d, al
mov ecx, dword [rcx + 0x74]
call fcn.180031af0
mov ebx, dword [rbp - 0x44]
jmp 0x1800233fd
call fcn.180031588
mov r12d, esi
mov ebx, esi
and r12d, 0x1000000
and ebx, 0x40
xor r15d, r15d
lea r14d, [r15 + 1]
mov rcx, qword [rsp + 0x40]
mov r8b, r14b
lea rdx, [rcx + 0x208]
add rcx, 0x200
call fcn.18002ea80
mov rax, qword [rsp + 0x40]
mov byte [rax + 0xb0], r15b
mov rax, qword [rsp + 0x40]
add word [rax + 0xba], r14w
mov eax, dword [rsp + 0x64]
mov dword [rdi + 0x47b0], r15d
cmp eax, dword [rsp + 0x68]
je 0x1800235c2
mov rcx, qword [rsp + 0x40]
test r12d, r12d
je 0x180023517
test ebx, ebx
jne 0x1800234d6
cmp byte [rcx + 0xc8], r15b
jg 0x1800234d6
cmp byte [rcx + 0xc9], r15b
jg 0x1800234d6
bt esi, 0x17
jae 0x180023498
cmp byte [rdi + 0x48fc], r15b
je 0x180023498
mov rdx, qword [rdi + 0x48b8]
test rdx, rdx
je 0x180023498
mov rax, qword [rcx + 0x388]
cmp qword [rdx + 0x388], rax
mov al, r14b
je 0x18002349b
mov al, r15b
cmp byte [rdi + 0x5c50], r15b
jne 0x1800234d6
test al, al
jne 0x1800234d6
movss xmm0, dword [rcx + 0x1e0]
comiss xmm0, dword [rcx + 0x1e8]
jae 0x1800234ca
movss xmm0, dword [rcx + 0x1e4]
comiss xmm0, dword [rcx + 0x1ec]
jb 0x1800234d6
mov byte [rcx + 0xd0], r14b
mov rcx, qword [rsp + 0x40]
test r13, r13
je 0x180023517
cmp byte [r13 + 0xb1], r15b
jne 0x1800234ed
cmp byte [r13 + 0xd0], r15b
jle 0x1800234f9
mov byte [rcx + 0xd0], r14b
mov rcx, qword [rsp + 0x40]
cmp byte [r13 + 0xb1], r15b
jne 0x18002350b
cmp byte [r13 + 0xd1], r15b
jle 0x180023517
mov byte [rcx + 0xd1], r14b
mov rcx, qword [rsp + 0x40]
comiss xmm10, dword [rdi + 0x37e0]
jb 0x18002352d
mov byte [rcx + 0xd0], r14b
mov rcx, qword [rsp + 0x40]
cmp byte [rcx + 0xd0], r15b
jg 0x180023550
cmp byte [rcx + 0xd1], r15b
jg 0x180023550
mov dl, r15b
cmp byte [rcx + 0xd2], r15b
jg 0x180023553
mov al, r15b
jmp 0x180023556
mov dl, r14b
mov al, r14b
mov byte [rcx + 0xb5], al
mov rax, qword [rsp + 0x40]
mov cl, byte [rax + 0xd3]
test cl, cl
jle 0x180023585
sub cl, r14b
mov byte [rax + 0xd3], cl
mov rax, qword [rsp + 0x40]
or dword [rax + 0xc], 0xc0200
mov rax, qword [rsp + 0x40]
movzx ecx, r15b
cmp byte [rax + 0xb1], r15b
jne 0x18002359f
cmp byte [rax + 0xae], r15b
je 0x18002359f
test dl, dl
je 0x1800235bc
cmp byte [rax + 0xc8], r15b
jg 0x1800235bc
cmp byte [rax + 0xc9], r15b
jg 0x1800235bc
cmp byte [rax + 0xd1], r15b
cmovle ecx, r14d
mov byte [rax + 0xb3], cl
mov rax, qword [rsp + 0x40]
lea r11, [rsp + 0x1c8]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
cmp byte [rax + 0xb3], r15b
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
sete al
movaps xmm11, xmmword [r11 - 0x68]
movaps xmm12, xmmword [r11 - 0x78]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret