Function at 0x18001e488
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 - 0xf8]
sub rsp, 0x1b8
mov rdi, qword [0x1800fb330]
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
movaps xmmword [rax - 0xc8], xmm13
movaps xmmword [rax - 0xd8], xmm14
call fcn.180023a40
xor r14d, r14d
mov qword [rbp - 0x60], rax
test rax, rax
mov qword [rsp + 0x30], rax
mov r12, rax
sete al
mov byte [rbp + 0x118], al
test r12, r12
jne 0x18001e530
mov edx, ebx
mov rcx, rsi
call fcn.180022388
mov rcx, rax
mov qword [rsp + 0x30], rax
jmp 0x18001e542
mov r8d, ebx
mov dl, al
mov rcx, r12
call fcn.18002fe84
mov rcx, qword [rsp + 0x30]
mov r15d, dword [rdi + 0x3dd8]
mov eax, ebx
mov r13d, dword [rcx + 0x238]
mov edx, 0xc0200
mov esi, ebx
mov dword [rsp + 0x60], r15d
or esi, 6
mov dword [rsp + 0x4c], r13d
and eax, edx
mov r9d, 1
cmp eax, edx
cmovne esi, ebx
lea rbx, [rdi + 0x3e28]
cmp dword [rbx], r14d
jne 0x18001e58b
mov al, r9b
cmp byte [rdi + 0x3de5], r14b
jne 0x18001e58e
mov al, r14b
mov byte [rcx + 0x96], al
lea eax, [r15 - 1]
mov rdx, qword [rsp + 0x30]
cmp dword [rdx + 0x238], eax
setl r8b
mov byte [rsp + 0x38], r8b
bt esi, 0x1a
jae 0x18001e5e4
movsxd rax, dword [rdi + 0x4040]
lea rax, [rax + rax*2]
shl rax, 4
add rax, qword [rdi + 0x4038]
cmp rdx, qword [rax + 8]
mov eax, dword [rax]
setne cl
cmp dword [rdx + 0xa4], eax
setne al
or cl, al
or r8b, cl
mov byte [rsp + 0x38], r8b
mov byte [rdx + 0x94], r8b
test r8b, r8b
je 0x18001e608
mov rcx, qword [rsp + 0x30]
mov r8b, r9b
mov edx, 8
call fcn.18002e050
mov r9d, 1
cmp r13d, r15d
je 0x18001e668
mov rax, qword [rsp + 0x30]
mov dword [rax + 0xc], esi
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x238], r15d
mov rax, qword [rsp + 0x30]
movsd xmm0, qword [rdi + 0x3dd0]
cvtpd2ps xmm0, xmm0
movss dword [rax + 0x23c], xmm0
mov rax, qword [rsp + 0x30]
mov word [rax + 0x9c], r14w
movzx ecx, word [rdi + 0x3e48]
add dword [rdi + 0x3e48], r9d
mov rax, qword [rsp + 0x30]
mov word [rax + 0x9e], cx
mov rdx, qword [rsp + 0x30]
jmp 0x18001e670
mov rdx, qword [rsp + 0x30]
mov esi, dword [rdx + 0xc]
cmp dword [rbx], r14d
je 0x18001e688
movsxd rax, dword [rbx]
imul rcx, rax, 0x58
mov rax, qword [rdi + 0x3e30]
mov r14, qword [rcx + rax - 0x58]
cmp r13d, r15d
je 0x18001e69e
mov eax, esi
and eax, 0x5000000
neg eax
sbb r13, r13
and r13, r14
jmp 0x18001e6a5
mov r13, qword [rdx + 0x340]
lea rcx, [rdx + 0xc8]
cmp dword [rcx], 0
jne 0x18001e6bf
add rdx, 8
call fcn.18003141c
mov rdx, qword [rsp + 0x30]
mov qword [rdi + 0x3e58], rdx
lea rcx, [rbp - 0x38]
and dword [rbp - 0x2c], 0
xor edx, edx
and dword [rbp - 0x28], 0
xorps xmm0, xmm0
and dword [rbp - 0x24], 0
xorps xmm1, xmm1
and dword [rbp], 0
xorps xmm11, xmm11
lea r8d, [rdx + 0x3c]
movaps xmmword [rbp - 0x20], xmm0
movaps xmmword [rbp - 0x10], xmm1
call fcn.18006e010
xor edx, edx
lea rcx, [rbp + 4]
lea r8d, [rdx + 0x12]
call fcn.18006e010
mov rax, qword [rsp + 0x30]
lea rcx, [rbp + 4]
mov qword [rbp - 0x40], rax
movups xmm0, xmmword [rdi + 0x3f20]
movups xmmword [rbp - 0x38], xmm0
movups xmm1, xmmword [rdi + 0x3f30]
movups xmmword [rbp - 0x28], xmm1
movups xmm0, xmmword [rdi + 0x3f40]
movups xmmword [rbp - 0x18], xmm0
movsd xmm1, qword [rdi + 0x3f50]
movsd qword [rbp - 8], xmm1
mov eax, dword [rdi + 0x3f58]
mov dword [rbp], eax
call fcn.18002deec
lea rdx, [rbp - 0x40]
mov rcx, rbx
call fcn.1800319b8
xor ebx, ebx
mov eax, esi
and eax, 0x10000000
mov qword [rdi + 0x3e58], rbx
mov dword [rbp - 0x78], eax
je 0x18001e779
lea eax, [rbx + 1]
add dword [rdi + 0x4050], eax
mov eax, esi
and eax, 0x4000000
mov dword [rsp + 0x48], eax
je 0x18001e7bf
lea rcx, [rdi + 0x4040]
movsxd rax, dword [rcx]
lea rbx, [rax + rax*2]
mov rax, qword [rsp + 0x30]
shl rbx, 4
add rbx, qword [rdi + 0x4038]
mov rdx, rbx
mov qword [rbx + 8], rax
call fcn.180031848
mov ecx, dword [rbx]
xor ebx, ebx
mov rax, qword [rsp + 0x30]
mov dword [rax + 0xa4], ecx
cmp dword [rsp + 0x4c], r15d
je 0x18001e7e1
mov rcx, qword [rsp + 0x30]
mov r8, r13
mov edx, esi
call fcn.180030840
mov rax, qword [rsp + 0x30]
mov qword [rax + 0x348], r14
mov r9d, 1
mov byte [rbp + 0x110], bl
mov r14b, bl
mov r15b, bl
test byte [rdi + 0x3f60], r9b
je 0x18001e8a5
mov r8d, dword [rdi + 0x3f64]
mov rcx, qword [rsp + 0x30]
movsx eax, byte [rcx + 0xb4]
test r8d, eax
setne byte [rbp + 0x110]
test r8d, eax
je 0x18001e893
movss xmm0, dword [rdi + 0x3f7c]
movss xmm1, dword [rdi + 0x3f78]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
comiss xmm1, dword [0x18009f8dc]
jbe 0x18001e893
movsd xmm0, qword [rdi + 0x3f70]
movsd qword [rcx + 0xb8], xmm0
mov rax, qword [rsp + 0x30]
movsd xmm1, qword [rdi + 0x3f78]
movsd qword [rax + 0xc0], xmm1
mov rdx, qword [rsp + 0x30]
movzx ecx, byte [rdx + 0xb4]
mov eax, dword [rdx + 0xb4]
and ecx, 0xf1
and eax, 0xffffff00
or ecx, eax
mov dword [rdx + 0xb4], ecx
jmp 0x18001e8a5
lea rdx, [rdi + 0x3f70]
call fcn.18002e0d0
mov r9d, 1
mov eax, 2
test byte [rdi + 0x3f60], al
je 0x18001e8fa
mov rcx, qword [rsp + 0x30]
lea rdx, [rdi + 0x3f80]
mov r8d, dword [rdi + 0x3f68]
movsx eax, byte [rcx + 0xb5]
and eax, r8d
je 0x18001e8e0
movss xmm0, dword [rdx]
comiss xmm0, xmm11
jbe 0x18001e8e0
mov r14b, r9b
jmp 0x18001e8e4
test eax, eax
je 0x18001e8f5
movss xmm0, dword [rdi + 0x3f84]
comiss xmm0, xmm11
jbe 0x18001e8f5
mov r15b, r9b
call fcn.18002e1f8
test byte [rdi + 0x3f60], 0x80
je 0x18001e943
movss xmm0, dword [rdi + 0x3f90]
comiss xmm0, xmm11
jb 0x18001e923
mov rax, qword [rsp + 0x30]
movss dword [rax + 0x6c], xmm0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x74], ebx
movss xmm0, dword [rdi + 0x3f94]
comiss xmm0, xmm11
jb 0x18001e943
mov rax, qword [rsp + 0x30]
movss dword [rax + 0x70], xmm0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x78], ebx
test byte [rdi + 0x3f60], 4
mov ebx, dword [rsp + 0x60]
je 0x18001e964
mov rax, qword [rsp + 0x30]
movsd xmm0, qword [rdi + 0x3f88]
movsd qword [rax + 0x38], xmm0
jmp 0x18001e979
cmp dword [rsp + 0x4c], ebx
je 0x18001e979
mov rax, qword [rsp + 0x30]
and dword [rax + 0x38], 0
movss dword [rax + 0x3c], xmm11
test byte [rdi + 0x3f60], 8
je 0x18001e999
mov r8d, dword [rdi + 0x3f6c]
mov dl, byte [rdi + 0x3f98]
mov rcx, qword [rsp + 0x30]
call fcn.18002e00c
test byte [rdi + 0x3f60], 0x20
je 0x18001e9ac
mov rcx, qword [rsp + 0x30]
call fcn.180023c74
mov rcx, qword [rsp + 0x30]
cmp byte [rcx + 0x94], 0
je 0x18001e9cb
xor r8d, r8d
lea edx, [r8 + 8]
call fcn.18002e050
mov rcx, qword [rsp + 0x30]
cmp dword [rsp + 0x4c], ebx
je 0x180020073
mov eax, esi
mov edx, 1
and eax, 0x3000000
xor ebx, ebx
cmp qword [rbp + 0x108], rbx
mov dword [rsp + 0x3c], eax
mov al, byte [rcx + 0xb1]
mov byte [rcx + 0x8e], dl
setne cl
mov byte [rsp + 0x3a], al
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x98], cl
mov ecx, 0xff7fffff
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x210], ecx
mov dword [rax + 0x214], ecx
mov ecx, 0x7f7fffff
mov dword [rax + 0x218], ecx
mov dword [rax + 0x21c], ecx
mov rcx, qword [rsp + 0x30]
add rcx, 0xc8
call fcn.180031b78
mov rcx, qword [rsp + 0x30]
mov rcx, qword [rcx + 0x270]
call fcn.18003c798
mov rax, qword [rsp + 0x30]
or dword [rax + 0x188], 0xffffffff
mov rcx, qword [rsp + 0x30]
cmp byte [rcx + 0x3a8], bl
je 0x18001ea78
call fcn.180023d8c
mov rcx, qword [rsp + 0x30]
cmp qword [rdi + 0x41e0], rbx
je 0x18001eade
test dword [rcx + 0xc], 0x80000
jne 0x18001eade
test r12, r12
je 0x18001eade
mov rdx, qword [rcx]
mov rbx, qword [rbp + 0x100]
mov rcx, rbx
call fcn.180072660
mov rcx, qword [rsp + 0x30]
test eax, eax
je 0x18001eadc
movsxd rax, dword [rcx + 0x50]
lea rdx, [rsp + 0x40]
mov rcx, qword [rcx]
mov r8, rbx
mov qword [rsp + 0x40], rax
call fcn.180025894
mov rcx, qword [rsp + 0x30]
mov qword [rcx], rax
mov rcx, qword [rsp + 0x30]
mov eax, dword [rsp + 0x40]
mov dword [rcx + 0x50], eax
mov rcx, qword [rsp + 0x30]
xor ebx, ebx
lea r8, [rcx + 0x30]
lea rdx, [rcx + 0x28]
call fcn.180021858
mov rcx, qword [rsp + 0x30]
mov edx, 1
mov al, byte [rcx + 0xb0]
test al, al
jle 0x18001eb07
sub al, dl
mov byte [rcx + 0xb0], al
mov rcx, qword [rsp + 0x30]
mov al, byte [rcx + 0xb1]
test al, al
jle 0x18001eb1e
sub al, dl
mov byte [rcx + 0xb1], al
mov rcx, qword [rsp + 0x30]
mov al, byte [rcx + 0xb2]
test al, al
jle 0x18001eb35
sub al, dl
mov byte [rcx + 0xb2], al
test r12, r12
jne 0x18001eb4f
test r14b, r14b
je 0x18001eb44
test r15b, r15b
jne 0x18001eb4f
mov rax, qword [rsp + 0x30]
mov byte [rax + 0xb1], dl
mov r9d, 0x6000000
cmp byte [rsp + 0x38], bl
je 0x18001ebb8
test r9d, esi
je 0x18001ebb8
mov rax, qword [rsp + 0x30]
mov byte [rax + 0xb1], dl
test sil, 0x40
je 0x18001ebb8
test r14b, r14b
jne 0x18001eb86
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x20], ebx
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x18], ebx
test r15b, r15b
jne 0x18001eb9b
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x24], ebx
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x1c], ebx
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x30], ebx
movss dword [rax + 0x34], xmm11
mov rax, qword [rsp + 0x30]
movsd xmm0, qword [rax + 0x30]
movsd qword [rax + 0x28], xmm0
mov rcx, qword [rsp + 0x30]
call fcn.18002d66c
mov r12d, esi
and r12d, 0x1000000
je 0x18001ebde
mov rax, qword [rsp + 0x30]
mov ecx, dword [rdi + 0x37a8]
mov dword [rax + 0x4c], ecx
jmp 0x18001ec05
test r9d, esi
je 0x18001ebf3
bt esi, 0x1b
jb 0x18001ebf3
movss xmm0, dword [rdi + 0x37b0]
jmp 0x18001ebfb
movss xmm0, dword [rdi + 0x378c]
mov rax, qword [rsp + 0x30]
movss dword [rax + 0x4c], xmm0
mov rax, qword [rsp + 0x30]
movsd xmm0, qword [rdi + 0x3780]
movsd qword [rax + 0x40], xmm0
test r12d, r12d
je 0x18001ec51
test esi, 0x4010000
jne 0x18001ec51
mov rax, qword [rsp + 0x30]
movss xmm0, dword [rax + 0x4c]
ucomiss xmm0, xmm11
jp 0x18001ec56
jne 0x18001ec56
bt esi, 0xa
jae 0x18001ec46
movss xmm0, dword [rdi + 0x3784]
jmp 0x18001ec49
xorps xmm0, xmm0
mov dword [rax + 0x40], ebx
movss dword [rax + 0x44], xmm0
mov rax, qword [rsp + 0x30]
movss xmm0, dword [rax + 0x40]
maxss xmm0, dword [rdi + 0x37c4]
maxss xmm0, dword [rdi + 0x3fc4]
movss dword [rax + 0x13c], xmm0
mov rax, qword [rsp + 0x30]
mov ecx, dword [rdi + 0x3fc8]
mov dword [rax + 0x140], ecx
test sil, 0x21
jne 0x18001ed13
mov rbx, qword [rsp + 0x30]
lea rdx, [rsp + 0x68]
mov rcx, rbx
call fcn.18002e92c
cmp qword [rdi + 0x3e60], rbx
jne 0x18001ecee
cmp dword [rdi + 0x3e90], 0
jne 0x18001ecee
cmp dword [rdi + 0x3e94], 0
jne 0x18001ecee
mov r8d, 1
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x68]
call fcn.1800264c0
test al, al
je 0x18001ecee
mov eax, 2
cmp word [rdi + 0x363a], ax
jne 0x18001ecee
mov byte [rbx + 0x92], 1
mov rbx, qword [rsp + 0x30]
cmp byte [rbx + 0x92], 0
je 0x18001ed23
cmp byte [rbx + 0x91], 0
sete al
mov byte [rbx + 0x91], al
mov rcx, qword [rsp + 0x30]
call fcn.18002717c
jmp 0x18001ed1e
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x91], bl
mov rbx, qword [rsp + 0x30]
mov byte [rbx + 0x92], 0
lea rcx, [rsp + 0x40]
mov rdx, qword [rsp + 0x30]
lea r8, [rdx + 0x30]
call fcn.1800215b8
mov al, byte [rbp + 0x118]
mov ecx, esi
mov rdx, qword [rsp + 0x30]
and ecx, 0x40
mov dword [rbp - 0x74], ecx
mov byte [rsp + 0x39], al
je 0x18001ed9e
xor ecx, ecx
cmp byte [rdx + 0x91], cl
jne 0x18001eda0
lea r8d, [rcx + 1]
test r14b, r14b
jne 0x18001ed80
movss xmm0, dword [rsp + 0x40]
movss dword [rdx + 0x20], xmm0
mov rdx, qword [rsp + 0x30]
mov byte [rbp + 0x118], r8b
test r15b, r15b
jne 0x18001ee45
movss xmm0, dword [rsp + 0x44]
movss dword [rdx + 0x24], xmm0
mov byte [rsp + 0x39], r8b
jmp 0x18001ee40
xor ecx, ecx
mov al, byte [rdx + 0xa8]
test al, al
jg 0x18001edb6
cmp byte [rdx + 0xa9], cl
jle 0x18001ee45
test r14b, r14b
jne 0x18001edf3
test al, al
jle 0x18001edf3
cmp byte [rdx + 0xab], cl
je 0x18001edd4
movss xmm0, dword [rdx + 0x20]
maxss xmm0, dword [rsp + 0x40]
jmp 0x18001edda
movss xmm0, dword [rsp + 0x40]
mov r8d, 1
movss dword [rdx + 0x20], xmm0
mov rdx, qword [rsp + 0x30]
mov byte [rbp + 0x118], r8b
jmp 0x18001edf9
mov r8d, 1
test r15b, r15b
jne 0x18001ee30
cmp byte [rdx + 0xa9], cl
jle 0x18001ee30
cmp byte [rdx + 0xab], cl
je 0x18001ee1b
movss xmm0, dword [rdx + 0x24]
maxss xmm0, dword [rsp + 0x44]
jmp 0x18001ee21
movss xmm0, dword [rsp + 0x44]
movss dword [rdx + 0x24], xmm0
mov rdx, qword [rsp + 0x30]
mov byte [rsp + 0x39], r8b
cmp byte [rdx + 0x91], cl
jne 0x18001ee45
mov rcx, rdx
call fcn.18002717c
mov rdx, qword [rsp + 0x30]
lea r8, [rdx + 0x20]
lea rcx, [rsp + 0x50]
call fcn.1800219c0
xor edx, edx
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
mov rax, qword [rsp + 0x30]
movss dword [rax + 0x20], xmm0
movss dword [rax + 0x24], xmm1
mov rbx, qword [rsp + 0x30]
cmp byte [rbx + 0x91], dl
je 0x18001eeae
test r12d, r12d
jne 0x18001eeae
lea rdx, [rbp - 0x58]
mov rcx, rbx
call fcn.18002e92c
xor edx, edx
movss xmm0, dword [rax + 8]
movss xmm1, dword [rax + 0xc]
subss xmm0, dword [rax]
subss xmm1, dword [rax + 4]
movss dword [rsp + 0x50], xmm0
movss dword [rsp + 0x54], xmm1
jmp 0x18001eeb9
movsd xmm0, qword [rbx + 0x20]
movsd qword [rsp + 0x50], xmm0
lea rax, [rsp + 0x50]
mov r8d, 1
movsd xmm0, qword [rax]
movsd qword [rbx + 0x18], xmm0
mov rbx, qword [rsp + 0x30]
mov rax, qword [0x1800fb330]
test byte [rbx + 0xc], r8b
je 0x18001eee4
xorps xmm1, xmm1
jmp 0x18001ef18
mov rcx, qword [rbx + 0x340]
movss xmm0, dword [rax + 0x3bbc]
mulss xmm0, dword [rbx + 0x268]
test rcx, rcx
je 0x18001ef08
mulss xmm0, dword [rcx + 0x268]
movss xmm1, dword [rax + 0x37b8]
addss xmm1, xmm1
addss xmm1, xmm0
test dword [rbx + 0xc], 0x400
je 0x18001ef64
mov rcx, qword [rbx + 0x340]
movss xmm12, dword [rax + 0x3bbc]
mulss xmm12, dword [rbx + 0x268]
test rcx, rcx
je 0x18001ef48
mulss xmm12, dword [rcx + 0x268]
movss xmm0, dword [rax + 0x37b8]
addss xmm12, dword [rbx + 0x140]
addss xmm0, xmm0
addss xmm12, xmm0
jmp 0x18001ef68
xorps xmm12, xmm12
addss xmm12, xmm1
mov r15d, dword [rsp + 0x48]
mov r14b, byte [rbp + 0x110]
cmp byte [rsp + 0x38], dl
je 0x18001efcb
or dword [rbx + 0xac], 0xffffffff
test r15d, r15d
je 0x18001efc6
bt esi, 0x1b
jb 0x18001efc6
test r14b, r14b
jne 0x18001efc6
movsxd rax, dword [rdi + 0x4040]
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x4048]
add rcx, rcx
movss xmm0, dword [rax + rcx*8 - 0x10]
movss xmm1, dword [rax + rcx*8 - 0xc]
mov rax, qword [rsp + 0x30]
movss dword [rax + 0x10], xmm0
movss dword [rax + 0x14], xmm1
mov rbx, qword [rsp + 0x30]
test r12d, r12d
je 0x18001f019
lea rcx, [r13 + 0x168]
movzx eax, word [rcx]
lea rdx, [rsp + 0x30]
mov word [rbx + 0x9c], ax
call fcn.1800314c8
xor edx, edx
test r15d, r15d
jne 0x18001f014
test r14b, r14b
jne 0x18001f014
cmp dword [rsp + 0x3c], 0x3000000
je 0x18001f014
mov rax, qword [rsp + 0x30]
movsd xmm0, qword [r13 + 0xd8]
movsd qword [rax + 0x10], xmm0
mov rbx, qword [rsp + 0x30]
movss xmm1, dword [rbx + 0xb8]
movss xmm14, dword [0x18009d9f4]
ucomiss xmm1, xmm14
jp 0x18001f032
je 0x18001f087
cmp byte [rbx + 0xb1], dl
jne 0x18001f087
movss xmm0, dword [rbx + 0x18]
lea rdx, [rsp + 0x50]
mulss xmm0, dword [rbx + 0xc0]
xor r8d, r8d
mov rcx, rbx
subss xmm1, xmm0
movss xmm0, dword [rbx + 0xbc]
movss dword [rsp + 0x50], xmm1
movss xmm1, dword [rbx + 0x1c]
mulss xmm1, dword [rbx + 0xc4]
subss xmm0, xmm1
movss dword [rsp + 0x54], xmm0
call fcn.18002e0d0
mov rbx, qword [rsp + 0x30]
jmp 0x18001f105
cmp dword [rbp - 0x78], edx
je 0x18001f0b3
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.1800230cc
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
mov rax, qword [rsp + 0x30]
movss dword [rax + 0x10], xmm0
movss dword [rax + 0x14], xmm1
jmp 0x18001f080
mov al, byte [rbp + 0x110]
test r15d, r15d
je 0x18001f299
test al, al
jne 0x18001f299
cmp byte [rsp + 0x3a], dl
jle 0x18001f299
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.1800230cc
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
mov rax, qword [rsp + 0x30]
movss dword [rax + 0x10], xmm0
movss dword [rax + 0x14], xmm1
mov rbx, qword [rsp + 0x30]
mov r14b, byte [rbp + 0x110]
mov r15d, dword [rsp + 0x3c]
call fcn.1800246f4
movss xmm1, dword [rdi + 0x3824]
xor edx, edx
movss xmm0, dword [rdi + 0x3820]
maxss xmm1, dword [rdi + 0x382c]
movss xmm6, dword [rax + 4]
movss xmm7, dword [rax + 8]
movaps xmm3, xmm6
movss xmm5, dword [rax + 0x14]
movaps xmm2, xmm7
movss xmm4, dword [rax + 0x18]
movss dword [rsp + 0x68], xmm6
movss dword [rsp + 0x6c], xmm7
maxss xmm0, dword [rdi + 0x3828]
addss xmm5, dword [rax + 0x1c]
addss xmm4, dword [rax + 0x20]
addss xmm3, dword [rax + 0xc]
addss xmm2, dword [rax + 0x10]
subss xmm5, xmm0
subss xmm4, xmm1
movss dword [rsp + 0x70], xmm3
movss dword [rsp + 0x74], xmm2
addss xmm0, dword [rax + 0x14]
movss dword [rsp + 0x58], xmm5
movss dword [rsp + 0x5c], xmm4
addss xmm1, dword [rax + 0x18]
movss dword [rsp + 0x50], xmm0
movss dword [rsp + 0x54], xmm1
test r14b, r14b
jne 0x18001f268
test r12d, r12d
jne 0x18001f268
cmp byte [rbx + 0xa8], dl
jg 0x18001f268
cmp byte [rbx + 0xa9], dl
jg 0x18001f268
subss xmm3, xmm6
comiss xmm3, xmm11
jbe 0x18001f268
subss xmm2, xmm7
comiss xmm2, xmm11
jbe 0x18001f268
mov rax, qword [0x1800fb330]
movss xmm2, dword [rbx + 0x1c]
cmp byte [rax + 0x76], dl
je 0x18001f234
lea ecx, [rdx + 1]
test byte [rbx + 0xc], cl
jne 0x18001f234
mov rcx, qword [rbx + 0x340]
movss xmm3, dword [rax + 0x3bbc]
mulss xmm3, dword [rbx + 0x268]
test rcx, rcx
je 0x18001f224
mulss xmm3, dword [rcx + 0x268]
movss xmm2, dword [rax + 0x37b8]
addss xmm2, xmm2
addss xmm2, xmm3
subss xmm0, dword [rbx + 0x18]
subss xmm1, xmm2
comiss xmm1, dword [rbx + 0x14]
ja 0x18001f24b
movaps xmm1, xmm4
minss xmm1, dword [rbx + 0x14]
comiss xmm0, dword [rbx + 0x10]
ja 0x18001f259
movaps xmm0, xmm5
minss xmm0, dword [rbx + 0x10]
movss dword [rbx + 0x10], xmm0
movss dword [rbx + 0x14], xmm1
mov rbx, qword [rsp + 0x30]
cvttss2si eax, dword [rbx + 0x10]
movd xmm1, eax
cvttss2si eax, dword [rbx + 0x14]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
movss dword [rbx + 0x10], xmm1
cvtdq2ps xmm0, xmm0
movss dword [rbx + 0x14], xmm0
test r12d, r12d
je 0x18001f2eb
movss xmm0, dword [rdi + 0x37a4]
jmp 0x18001f30b
bt esi, 0x19
jae 0x18001f0fe
mov r15d, dword [rsp + 0x3c]
test al, al
jne 0x18001f2df
cmp r15d, 0x3000000
je 0x18001f2df
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.1800230cc
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
mov rax, qword [rsp + 0x30]
movss dword [rax + 0x10], xmm0
movss dword [rax + 0x14], xmm1
mov rbx, qword [rsp + 0x30]
mov r14b, byte [rbp + 0x110]
jmp 0x18001f10a
mov eax, esi
and eax, 0xc000000
cmp eax, 0x4000000
jne 0x18001f303
movss xmm0, dword [rdi + 0x37ac]
jmp 0x18001f30b
movss xmm0, dword [rdi + 0x3788]
mov rax, qword [rsp + 0x30]
movzx r14d, dl
movss dword [rax + 0x48], xmm0
cmp byte [rsp + 0x38], dl
je 0x18001f37f
bt esi, 0xc
jb 0x18001f37f
cmp dword [rsp + 0x48], edx
je 0x18001f333
mov r14d, 1
jmp 0x18001f33f
test r15d, r15d
mov eax, 1
cmove r14d, eax
call fcn.180024de8
test rax, rax
je 0x18001f37f
mov rbx, qword [rsp + 0x30]
mov rdx, rax
mov rcx, rbx
call fcn.180026764
xor r8d, r8d
test al, al
jne 0x18001f387
mov r14b, r8b
cmp rbx, qword [rbx + 0x350]
jne 0x18001f387
mov rcx, rbx
call fcn.1800235e0
mov rdx, rax
mov rcx, rbx
call fcn.180020da0
mov rbx, qword [rsp + 0x30]
xor r8d, r8d
movss xmm1, dword [rdi + 0x3bb8]
xorps xmm0, xmm0
or dword [rbp + 0x110], 0xffffffff
movaps xmm2, xmm1
mov al, byte [rdi + 0x75]
mov r9d, 1
mulss xmm1, dword [0x18009d9a4]
neg al
mulss xmm2, dword [0x18009f920]
sbb r15d, r15d
neg r15d
movups xmmword [rbp - 0x58], xmm0
add r15d, r9d
movss xmm0, dword [rbx + 0x48]
addss xmm0, dword [0x18009d5e0]
addss xmm0, xmm1
maxss xmm2, xmm0
cvttss2si eax, xmm2
movd xmm13, eax
cvtdq2ps xmm13, xmm13
cmp byte [rbx + 0x91], r8b
jne 0x18001f431
lea rax, [rsp + 0x50]
mov r9d, r15d
mov qword [rsp + 0x28], rax
lea r8, [rbp + 0x110]
lea rax, [rbp - 0x58]
mov rcx, rbx
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x20], rax
call fcn.18002ffc0
mov rbx, qword [rsp + 0x30]
xor r8d, r8d
lea r9d, [r8 + 1]
test al, al
je 0x18001f431
mov cl, r9b
mov dl, r9b
jmp 0x18001f43b
mov dl, byte [rbp + 0x118]
mov cl, byte [rsp + 0x39]
mov al, byte [rbp + 0x110]
mov byte [rbx + 0x99], al
mov rbx, qword [rsp + 0x30]
cmp byte [rbx + 0x91], r8b
jne 0x18001f5bc
movss xmm2, dword [rbx + 0x1d8]
movss xmm3, dword [rbx + 0x1dc]
subss xmm2, dword [rbx + 0x1d0]
subss xmm3, dword [rbx + 0x1d4]
movss xmm4, dword [rbx + 0x24]
subss xmm4, xmm12
movss xmm5, dword [rbx + 0x20]
addss xmm2, dword [rbx + 0x84]
addss xmm3, dword [rbx + 0x88]
cmp qword [rbp - 0x60], r8
jne 0x18001f4ac
and dword [rbp - 0x70], 0
lea rax, [rbp - 0x70]
and dword [rbp - 0x6c], 0
jmp 0x18001f4d6
movss xmm0, dword [rbx + 0x40]
lea rax, [rbp - 0x68]
movss xmm1, dword [rbx + 0x44]
addss xmm0, xmm0
addss xmm1, xmm1
addss xmm0, dword [rbx + 0x28]
addss xmm1, dword [rbx + 0x2c]
movss dword [rbp - 0x68], xmm0
movss dword [rbp - 0x64], xmm1
movss xmm6, dword [rax]
movss xmm1, dword [rax + 4]
test dl, dl
jne 0x18001f4e6
movaps xmm5, xmm2
test cl, cl
jne 0x18001f4ed
movaps xmm4, xmm3
bt esi, 0xe
jb 0x18001f503
comiss xmm1, xmm4
jbe 0x18001f4fe
test sil, 8
je 0x18001f503
mov al, r8b
jmp 0x18001f506
mov al, r9b
mov byte [rbx + 0x8d], al
bt esi, 0xf
jb 0x18001f53f
test al, al
je 0x18001f520
movss xmm0, dword [rdi + 0x37ec]
jmp 0x18001f523
xorps xmm0, xmm0
subss xmm5, xmm0
comiss xmm6, xmm5
jbe 0x18001f53a
mov eax, esi
and eax, 0x808
cmp eax, 0x800
je 0x18001f53f
mov cl, r8b
jmp 0x18001f542
mov cl, r9b
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x8c], cl
mov rax, qword [rsp + 0x30]
test cl, cl
je 0x18001f57b
cmp byte [rax + 0x8d], r8b
jne 0x18001f57b
comiss xmm1, xmm4
jbe 0x18001f56d
mov cl, r9b
test sil, 8
je 0x18001f570
mov cl, r8b
mov byte [rax + 0x8d], cl
mov rax, qword [rsp + 0x30]
cmp byte [rax + 0x8c], r8b
je 0x18001f58e
movss xmm1, dword [rdi + 0x37ec]
jmp 0x18001f591
xorps xmm1, xmm1
cmp byte [rax + 0x8d], r8b
je 0x18001f5a4
movss xmm0, dword [rdi + 0x37ec]
jmp 0x18001f5a7
xorps xmm0, xmm0
movss dword [rax + 0x84], xmm0
movss dword [rax + 0x88], xmm1
mov rbx, qword [rsp + 0x30]
mov eax, esi
and eax, 0x5000000
cmp eax, 0x1000000
jne 0x18001f5db
cmp dword [rsp + 0x3c], 0x3000000
lea rax, [r13 + 0x210]
jne 0x18001f5e0
lea rax, [rsp + 0x68]
movdqu xmm10, xmmword [rax]
lea rdx, [rsp + 0x78]
mov rcx, rbx
movss xmm8, dword [rbx + 0x10]
movss xmm9, dword [rbx + 0x14]
movaps xmm7, xmm8
addss xmm7, dword [rbx + 0x18]
movaps xmm6, xmm9
addss xmm6, dword [rbx + 0x1c]
movups xmmword [rsp + 0x68], xmm10
call fcn.18002e92c
movss dword [rbx + 0x1c0], xmm8
movaps xmm4, xmm10
movss dword [rbx + 0x1c4], xmm9
movaps xmm5, xmm10
movss dword [rbx + 0x1c8], xmm7
mov r8d, 1
movss dword [rbx + 0x1cc], xmm6
movaps xmm6, xmm10
mov rax, qword [rsp + 0x30]
shufps xmm4, xmm10, 0x55
shufps xmm6, xmm10, 0xaa
shufps xmm5, xmm10, 0xff
movss xmm1, dword [rax + 0x1c0]
movss xmm0, dword [rax + 0x1c4]
maxss xmm1, xmm10
maxss xmm0, xmm4
movss dword [rax + 0x1c0], xmm1
movss dword [rax + 0x1c4], xmm0
movss xmm1, dword [rax + 0x1c8]
movss xmm0, dword [rax + 0x1cc]
minss xmm1, xmm6
minss xmm0, xmm5
movss dword [rax + 0x1c8], xmm1
movss dword [rax + 0x1cc], xmm0
movaps xmm0, xmm12
mov rcx, qword [rsp + 0x30]
mov eax, dword [rcx + 0x10]
mov dword [rcx + 0x1d0], eax
mov rax, qword [rsp + 0x30]
addss xmm0, dword [rax + 0x14]
movss dword [rax + 0x1d4], xmm0
mov rax, qword [rsp + 0x30]
movss xmm1, dword [rax + 0x18]
addss xmm1, dword [rax + 0x10]
subss xmm1, dword [rax + 0x84]
movss dword [rax + 0x1d8], xmm1
mov rax, qword [rsp + 0x30]
movss xmm0, dword [rax + 0x1c]
addss xmm0, dword [rax + 0x14]
subss xmm0, dword [rax + 0x88]
movss dword [rax + 0x1dc], xmm0
mov eax, esi
mov rcx, qword [rsp + 0x30]
and eax, 0x401
cmp eax, r8d
jne 0x18001f729
movss xmm2, dword [rcx + 0x4c]
jmp 0x18001f731
movss xmm2, dword [rdi + 0x37c0]
movss xmm0, dword [rcx + 0x40]
movss xmm3, dword [0x18009d5dc]
mulss xmm0, xmm3
cvttss2si eax, xmm0
movss xmm0, dword [rcx + 0x1d0]
addss xmm0, xmm3
movd xmm1, eax
cvtdq2ps xmm1, xmm1
maxss xmm1, dword [rcx + 0x4c]
addss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rcx + 0x1e0], xmm0
mov rcx, qword [rsp + 0x30]
movss xmm1, dword [rcx + 0x1d4]
addss xmm1, xmm3
addss xmm1, xmm2
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rcx + 0x1e4], xmm0
mov rcx, qword [rsp + 0x30]
movss xmm0, dword [rcx + 0x40]
movss xmm2, dword [rcx + 0x1d8]
mulss xmm0, xmm3
addss xmm2, xmm3
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
maxss xmm1, dword [rcx + 0x4c]
subss xmm2, xmm1
cvttss2si eax, xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rcx + 0x1e8], xmm0
mov rcx, qword [rsp + 0x30]
movss xmm1, dword [rcx + 0x1dc]
addss xmm1, xmm3
subss xmm1, dword [rcx + 0x4c]
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rcx + 0x1ec], xmm0
mov rax, qword [rsp + 0x30]
movss xmm0, dword [rax + 0x1e4]
comiss xmm4, xmm0
jbe 0x18001f81e
movaps xmm1, xmm4
jmp 0x18001f825
movaps xmm1, xmm5
minss xmm1, xmm0
movss xmm2, dword [rax + 0x1e0]
comiss xmm10, xmm2
jbe 0x18001f839
movaps xmm0, xmm10
jmp 0x18001f840
movaps xmm0, xmm6
minss xmm0, xmm2
movss dword [rax + 0x1e0], xmm0
movss dword [rax + 0x1e4], xmm1
movss xmm0, dword [rax + 0x1ec]
comiss xmm4, xmm0
ja 0x18001f864
minss xmm5, xmm0
movaps xmm4, xmm5
movss xmm0, dword [rax + 0x1e8]
comiss xmm10, xmm0
ja 0x18001f87a
minss xmm6, xmm0
movaps xmm10, xmm6
movss dword [rax + 0x1e8], xmm10
movss dword [rax + 0x1ec], xmm4
mov rcx, qword [rsp + 0x30]
movss xmm0, dword [rcx + 0x18]
comiss xmm0, xmm11
jbe 0x18001f8ad
test esi, 0x2000040
jne 0x18001f8ad
mulss xmm0, dword [0x18009f900]
jmp 0x18001f8bd
movss xmm0, dword [rdi + 0x3bb8]
mulss xmm0, dword [0x18009f94c]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rcx + 0x240], xmm0
lea rcx, [rbp + 0x118]
mov rax, qword [rsp + 0x30]
movss xmm1, dword [rax + 0x40]
movss xmm0, dword [rax + 0x1d8]
addss xmm1, xmm1
subss xmm0, dword [rax + 0x1d0]
addss xmm1, dword [rax + 0x28]
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
movss dword [rax + 0x64], xmm0
mov rax, qword [rsp + 0x30]
movss xmm0, dword [rax + 0x1dc]
subss xmm0, dword [rax + 0x1d4]
movss xmm1, dword [rax + 0x44]
addss xmm1, xmm1
addss xmm1, dword [rax + 0x2c]
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
movss dword [rax + 0x68], xmm0
mov rdx, qword [rsp + 0x30]
call fcn.180021124
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rdx + 0x5c], xmm0
movss dword [rdx + 0x60], xmm1
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x6c], 0x7f7fffff
movss dword [rax + 0x70], xmm14
mov rax, qword [rdi + 0x3bb0]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rax + 0x40]
mov rcx, qword [rcx + 0x270]
mov rdx, qword [rdx + 8]
call fcn.18003a308
xor r8d, r8d
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x68]
call fcn.18002ad68
xor r9d, r9d
mov bl, r9b
test r12d, r12d
je 0x18001fa75
cmp dword [rsp + 0x48], r9d
jne 0x18001fa75
cmp dword [rsp + 0x3c], 0x3000000
je 0x18001fa75
movsxd rax, dword [r13 + 0x168]
mov r10, qword [rsp + 0x30]
cmp eax, 2
jl 0x18001fa37
mov rcx, rax
mov rax, qword [r13 + 0x170]
mov rdx, qword [rax + rcx*8 - 0x10]
test rdx, rdx
je 0x18001fa37
movss xmm0, dword [rdx + 0x14]
addss xmm0, dword [rdx + 0x1c]
movss xmm2, dword [rdx + 0x10]
movss xmm3, dword [r10 + 0x10]
movss xmm1, dword [r10 + 0x14]
addss xmm2, dword [rdx + 0x18]
comiss xmm0, dword [r10 + 0x14]
addss xmm3, dword [r10 + 0x18]
addss xmm1, dword [r10 + 0x1c]
jbe 0x18001fa37
comiss xmm1, dword [rdx + 0x14]
jbe 0x18001fa37
comiss xmm2, dword [r10 + 0x10]
jbe 0x18001fa37
comiss xmm3, dword [rdx + 0x10]
jbe 0x18001fa37
lea r8d, [r9 + 1]
jmp 0x18001fa3a
mov r8b, r9b
mov rdx, qword [r10 + 0x270]
movsxd rax, dword [rdx]
imul rcx, rax, 0x38
mov rax, qword [rdx + 8]
cmp dword [rcx + rax - 0x18], r9d
mov ecx, 1
jne 0x18001fa7f
mov rax, qword [r13 + 0x270]
cmp dword [rax + 0x20], r9d
jle 0x18001fa7f
test r8b, r8b
jne 0x18001fa7f
mov bl, cl
mov qword [r10 + 0x270], rax
jmp 0x18001fa7a
mov ecx, 1
mov r10, qword [rsp + 0x30]
mov rax, qword [rdi + 0x41d0]
test rax, rax
jne 0x18001fa92
mov rax, qword [rdi + 0x4068]
test r14b, r14b
jne 0x18001fab1
test rax, rax
je 0x18001faac
mov rax, qword [rax + 0x360]
cmp qword [r10 + 0x360], rax
je 0x18001fab1
mov r8b, r9b
jmp 0x18001fab4
mov r8b, cl
lea rax, [rbp - 0x58]
movss dword [rsp + 0x28], xmm13
mov r9d, r15d
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x78]
mov rcx, r10
call fcn.18002c074
xor r15d, r15d
test bl, bl
je 0x18001faee
mov rcx, qword [rsp + 0x30]
lea rax, [rcx + 0x278]
mov qword [rcx + 0x270], rax
mov rcx, qword [rsp + 0x30]
mov edx, esi
shr edx, 3
mov ebx, 1
not dl
and dl, bl
movss xmm3, dword [rcx + 0x38]
ucomiss xmm3, xmm11
jp 0x18001fb44
jne 0x18001fb44
movss xmm0, dword [rcx + 0x40]
mov eax, esi
movss xmm1, dword [rcx + 0x18]
addss xmm0, xmm0
and eax, 0x808
subss xmm1, xmm0
subss xmm1, dword [rcx + 0x84]
cmp eax, 0x800
jne 0x18001fb3d
movss xmm3, dword [rcx + 0x28]
jmp 0x18001fb40
xorps xmm3, xmm3
maxss xmm3, xmm1
movss xmm2, dword [rcx + 0x3c]
ucomiss xmm2, xmm11
jp 0x18001fb82
jne 0x18001fb82
movss xmm0, dword [rcx + 0x44]
movss xmm1, dword [rcx + 0x1c]
addss xmm0, xmm0
subss xmm1, xmm0
subss xmm1, xmm12
subss xmm1, dword [rcx + 0x88]
test dl, dl
je 0x18001fb7b
movss xmm2, dword [rcx + 0x2c]
jmp 0x18001fb7e
xorps xmm2, xmm2
maxss xmm2, xmm1
movss xmm1, dword [rcx + 0x40]
maxss xmm1, dword [rcx + 0x4c]
movss xmm0, dword [rcx + 0x1d0]
subss xmm0, dword [rcx + 0x5c]
addss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rcx + 0x1f0], xmm0
mov rcx, qword [rsp + 0x30]
movss xmm1, dword [rcx + 0x44]
maxss xmm1, dword [rcx + 0x4c]
movss xmm0, dword [rcx + 0x1d4]
subss xmm0, dword [rcx + 0x60]
addss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rcx + 0x1f4], xmm0
mov rax, qword [rsp + 0x30]
addss xmm3, dword [rax + 0x1f0]
movss dword [rax + 0x1f8], xmm3
mov rax, qword [rsp + 0x30]
addss xmm2, dword [rax + 0x1f4]
movss dword [rax + 0x1fc], xmm2
mov rax, qword [rsp + 0x30]
movups xmm0, xmmword [rax + 0x1f0]
movdqu xmmword [rax + 0x200], xmm0
mov rax, qword [rsp + 0x30]
movss xmm1, dword [rax + 0x10]
subss xmm1, dword [rax + 0x5c]
addss xmm1, dword [rax + 0x40]
movss dword [rax + 0x220], xmm1
mov rax, qword [rsp + 0x30]
movss xmm0, dword [rax + 0x14]
subss xmm0, dword [rax + 0x60]
addss xmm0, dword [rax + 0x44]
addss xmm0, xmm12
movss dword [rax + 0x224], xmm0
mov rax, qword [rsp + 0x30]
movss xmm1, dword [rax + 0x38]
ucomiss xmm1, xmm11
jp 0x18001fc8a
jne 0x18001fc8a
movss xmm0, dword [rax + 0x40]
movss xmm1, dword [rax + 0x18]
addss xmm0, xmm0
subss xmm1, xmm0
subss xmm1, dword [rax + 0x84]
addss xmm1, dword [rax + 0x220]
movss dword [rax + 0x228], xmm1
mov rax, qword [rsp + 0x30]
movss xmm2, dword [rax + 0x3c]
ucomiss xmm2, xmm11
jp 0x18001fccb
jne 0x18001fccb
movss xmm0, dword [rax + 0x44]
movss xmm2, dword [rax + 0x1c]
addss xmm0, xmm0
subss xmm2, xmm0
subss xmm2, xmm12
subss xmm2, dword [rax + 0x88]
addss xmm2, dword [rax + 0x224]
movss dword [rax + 0x22c], xmm2
mov rax, qword [rsp + 0x30]
movss xmm0, dword [rax + 0x40]
addss xmm0, xmm11
subss xmm0, dword [rax + 0x5c]
movss dword [rax + 0x118], xmm0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x120], r15d
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x11c], r15d
mov rax, qword [rsp + 0x30]
movss xmm2, dword [rax + 0x40]
movss xmm0, dword [rax + 0x10]
movss xmm1, dword [rax + 0x5c]
movss xmm3, dword [rax + 0x44]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
cvtps2pd xmm2, xmm2
cvtps2pd xmm3, xmm3
addsd xmm2, xmm0
movss xmm0, dword [rax + 0x11c]
cvtps2pd xmm0, xmm0
subsd xmm2, xmm1
movss xmm1, dword [rax + 0x60]
cvtps2pd xmm1, xmm1
addsd xmm2, xmm0
movss xmm0, dword [rax + 0x14]
cvtps2pd xmm0, xmm0
addsd xmm3, xmm0
cvtps2pd xmm0, xmm12
subsd xmm3, xmm1
cvtpd2ps xmm1, xmm2
addsd xmm3, xmm0
movss dword [rax + 0xe8], xmm1
cvtpd2ps xmm0, xmm3
movss dword [rax + 0xec], xmm0
mov rax, qword [rsp + 0x30]
movss xmm0, dword [rax + 0xe8]
movss xmm1, dword [rax + 0xec]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
subsd xmm2, xmm0
subsd xmm3, xmm1
cvtpd2ps xmm2, xmm2
cvtpd2ps xmm0, xmm3
movss dword [rax + 0x124], xmm2
movss dword [rax + 0x128], xmm0
mov rax, qword [rsp + 0x30]
movsd xmm0, qword [rax + 0xe8]
movsd qword [rax + 0xd8], xmm0
mov rax, qword [rsp + 0x30]
movsd qword [rax + 0xe0], xmm0
mov rax, qword [rsp + 0x30]
movsd xmm0, qword [rax + 0xe8]
movsd qword [rax + 0xf0], xmm0
mov rax, qword [rsp + 0x30]
movsd xmm1, qword [rax + 0xe8]
movsd qword [rax + 0xf8], xmm1
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x108], r15d
movss dword [rax + 0x10c], xmm11
mov rax, qword [rsp + 0x30]
movsd xmm0, qword [rax + 0x108]
movsd qword [rax + 0x100], xmm0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x114], r15d
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x110], r15d
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x12c], r15d
mov rcx, qword [rsp + 0x30]
movzx eax, word [rcx + 0x132]
mov word [rcx + 0x130], ax
mov rax, qword [rsp + 0x30]
mov word [rax + 0x132], r15w
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x138], r15b
mov rcx, qword [rsp + 0x30]
movss xmm0, dword [rcx + 0x68]
comiss xmm0, xmm11
mov r8b, byte [rsp + 0x38]
seta al
mov byte [rcx + 0x139], al
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x13a], r15b
mov rcx, qword [rsp + 0x30]
movss xmm1, dword [rdi + 0x37c4]
add rcx, 0x144
call fcn.1800588ec
mov rax, qword [rsp + 0x30]
xor edx, edx
mov dword [rax + 0x160], r15d
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x164], r15d
mov rcx, qword [rsp + 0x30]
add rcx, 0x168
call fcn.180031c08
mov rcx, qword [rsp + 0x30]
lea rax, [rcx + 0x248]
mov qword [rcx + 0x178], rax
mov rax, qword [rsp + 0x30]
mov qword [rax + 0x180], r15
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x18c], ebx
test r13, r13
je 0x18001ff28
mov ecx, dword [r13 + 0x18c]
jmp 0x18001ff2a
mov ecx, ebx
mov rax, qword [rsp + 0x30]
xor edx, edx
mov dword [rax + 0x190], ecx
mov rcx, qword [rsp + 0x30]
mov eax, dword [rcx + 0x240]
mov dword [rcx + 0x194], eax
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x198], 0xbf800000
mov rcx, qword [rsp + 0x30]
add rcx, 0x1a0
call fcn.180031b78
mov rcx, qword [rsp + 0x30]
xor edx, edx
add rcx, 0x1b0
call fcn.180031b78
mov rax, qword [rsp + 0x30]
mov cl, byte [rax + 0xa8]
test cl, cl
jle 0x18001ff97
sub cl, bl
mov byte [rax + 0xa8], cl
mov rax, qword [rsp + 0x30]
mov cl, byte [rax + 0xa9]
test cl, cl
jle 0x18001ffae
sub cl, bl
mov byte [rax + 0xa9], cl
mov rax, qword [rsp + 0x30]
test r14b, r14b
je 0x18001ffcc
mov rcx, rax
call fcn.180023c74
mov rcx, qword [rsp + 0x30]
xor edx, edx
call fcn.1800275e4
mov rax, qword [rsp + 0x30]
mov r14d, ebx
test r14b, sil
jne 0x18002002c
movss xmm0, dword [rsp + 0x78]
lea rdx, [rsp + 0x68]
addss xmm0, dword [rax + 0x4c]
movss xmm1, dword [rbp - 0x80]
mov rcx, rax
subss xmm1, dword [rax + 0x4c]
mov r9, qword [rbp + 0x108]
mov r8, qword [rbp + 0x100]
movss dword [rsp + 0x68], xmm0
movss xmm0, dword [rsp + 0x7c]
movss dword [rsp + 0x6c], xmm0
movss xmm0, dword [rbp - 0x7c]
movss dword [rsp + 0x74], xmm0
movss dword [rsp + 0x70], xmm1
call fcn.18002ca4c
mov rax, qword [rsp + 0x30]
mov word [rax + 0x232], r15w
lea rdx, [rbp - 0x80]
mov rax, qword [rsp + 0x30]
lea rcx, [rsp + 0x78]
xor r8d, r8d
mov word [rax + 0x230], r15w
call fcn.1800264c0
mov rcx, qword [rsp + 0x30]
lea r9, [rsp + 0x78]
mov edx, dword [rdi + 0x3f08]
movzx r8d, al
mov ecx, dword [rcx + 0x54]
call fcn.18002dbc0
mov ebx, dword [rbp - 0x74]
jmp 0x18002008e
call fcn.18002d66c
mov r12d, esi
mov ebx, esi
and r12d, 0x1000000
and ebx, 0x40
xor r15d, r15d
lea r14d, [r15 + 1]
test r12d, r12d
je 0x18002009c
mov eax, dword [r13 + 0x134]
jmp 0x1800200b0
mov rcx, qword [rsp + 0x30]
lea rdx, str.FOCUSSCOPE
xor r8d, r8d
call fcn.18002448c
mov rcx, qword [rsp + 0x30]
mov r8b, r14b
mov dword [rcx + 0x134], eax
mov rcx, qword [rsp + 0x30]
lea rdx, [rcx + 0x1e8]
add rcx, 0x1e0
call fcn.18002ad68
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x90], r15b
mov rax, qword [rsp + 0x30]
add word [rax + 0x9a], r14w
mov eax, dword [rsp + 0x4c]
mov dword [rdi + 0x3f60], r15d
cmp eax, dword [rsp + 0x60]
je 0x180020280
mov rcx, qword [rsp + 0x30]
test r12d, r12d
je 0x1800201d5
test ebx, ebx
jne 0x180020194
cmp byte [rcx + 0xa8], r15b
jg 0x180020194
cmp byte [rcx + 0xa9], r15b
jg 0x180020194
bt esi, 0x17
jae 0x180020156
cmp byte [rdi + 0x40ac], r15b
je 0x180020156
mov rdx, qword [rdi + 0x4068]
test rdx, rdx
je 0x180020156
mov rax, qword [rcx + 0x368]
cmp qword [rdx + 0x368], rax
mov al, r14b
je 0x180020159
mov al, r15b
cmp byte [rdi + 0x5384], r15b
jne 0x180020194
test al, al
jne 0x180020194
movss xmm0, dword [rcx + 0x1c0]
comiss xmm0, dword [rcx + 0x1c8]
jae 0x180020188
movss xmm0, dword [rcx + 0x1c4]
comiss xmm0, dword [rcx + 0x1cc]
jb 0x180020194
mov byte [rcx + 0xb0], r14b
mov rcx, qword [rsp + 0x30]
test r13, r13
je 0x1800201d5
cmp byte [r13 + 0x91], r15b
jne 0x1800201ab
cmp byte [r13 + 0xb0], r15b
jle 0x1800201b7
mov byte [rcx + 0xb0], r14b
mov rcx, qword [rsp + 0x30]
cmp byte [r13 + 0x91], r15b
jne 0x1800201c9
cmp byte [r13 + 0xb1], r15b
jle 0x1800201d5
mov byte [rcx + 0xb1], r14b
mov rcx, qword [rsp + 0x30]
comiss xmm11, dword [rdi + 0x3778]
jb 0x1800201eb
mov byte [rcx + 0xb0], r14b
mov rcx, qword [rsp + 0x30]
cmp byte [rcx + 0xb0], r15b
jg 0x18002020e
cmp byte [rcx + 0xb1], r15b
jg 0x18002020e
mov dl, r15b
cmp byte [rcx + 0xb2], r15b
jg 0x180020211
mov al, r15b
jmp 0x180020214
mov dl, r14b
mov al, r14b
mov byte [rcx + 0x95], al
mov rax, qword [rsp + 0x30]
mov cl, byte [rax + 0xb3]
test cl, cl
jle 0x180020243
sub cl, r14b
mov byte [rax + 0xb3], cl
mov rax, qword [rsp + 0x30]
or dword [rax + 0xc], 0xc0200
mov rax, qword [rsp + 0x30]
movzx ecx, r15b
cmp byte [rax + 0x91], r15b
jne 0x18002025d
cmp byte [rax + 0x8e], r15b
je 0x18002025d
test dl, dl
je 0x18002027a
cmp byte [rax + 0xa8], r15b
jg 0x18002027a
cmp byte [rax + 0xa9], r15b
jg 0x18002027a
cmp byte [rax + 0xb1], r15b
cmovle ecx, r14d
mov byte [rax + 0x93], cl
mov rax, qword [rsp + 0x30]
lea r11, [rsp + 0x1b8]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
cmp byte [rax + 0x93], r15b
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
sete al
movaps xmm11, xmmword [r11 - 0x68]
movaps xmm12, xmmword [r11 - 0x78]
movaps xmm13, xmmword [r11 - 0x88]
movaps xmm14, xmmword [r11 - 0x98]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret