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

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xd8]
sub rsp, 0x1a0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
mov rax, qword [0x1800993c0]
xor rax, rsp
mov qword [rbp + 0x48], rax
mov rsi, qword [0x18009a6e0]
mov r14d, r8d
mov qword [rbp - 0x60], rdx
xor r8d, r8d
xor edx, edx
mov qword [rbp - 0x58], rcx
mov rbx, rcx
call fcn.18000c06c
lea rcx, [rsi + 0x4080]
mov edx, eax
call fcn.18000bb70
xor r12d, r12d
mov qword [rsp + 0x60], rax
test rax, rax
mov qword [rbp - 0x80], rax
mov rdi, rax
mov rcx, rax
sete dl
mov dword [rsp + 0x44], edx
test rax, rax
jne 0x1800049c7
mov edx, r14d
mov rcx, rbx
call fcn.18000831c
mov edx, dword [rsp + 0x44]
mov rdi, rax
mov qword [rbp - 0x80], rax
mov rcx, rax
mov ecx, dword [rcx + 0x10]
cmp dword [rsi + 0x409c], ecx
jne 0x1800049d3
int3
mov eax, 0x30200
mov ecx, r14d
and ecx, eax
cmp ecx, eax
jne 0x1800049e5
or r14d, 6
mov r13d, dword [rsi + 0x3fe8]
lea rbx, [rsi + 0x4070]
mov r15d, 1
mov r9d, dword [rdi + 0x278]
mov dword [rsp + 0x54], r13d
mov dword [rsp + 0x4c], r9d
cmp dword [rbx], r12d
jne 0x180004a1b
mov al, r15b
cmp byte [rsi + 0x3ff5], r12b
jne 0x180004a1e
mov al, r12b
mov byte [rdi + 0xd3], al
lea eax, [r13 - 1]
cmp dword [rdi + 0x278], eax
setl r8b
mov byte [rsp + 0x40], r8b
bt r14d, 0x1a
jae 0x180004a6c
movsxd rax, dword [rsi + 0x4ba8]
imul rax, rax, 0x38
add rax, qword [rsi + 0x4ba0]
cmp rdi, qword [rax + 8]
mov eax, dword [rax]
setne cl
cmp dword [rdi + 0x94], eax
setne al
or cl, al
or r8b, cl
mov byte [rsp + 0x40], r8b
mov byte [rdi + 0xd1], r8b
mov cl, 8
test r8b, r8b
je 0x180004a8c
or byte [rdi + 0xf0], cl
or byte [rdi + 0xf1], cl
or byte [rdi + 0xf2], cl
cmp r9d, r13d
je 0x180004af9
mov r8d, r14d
mov rcx, rdi
call fcn.180018d6c
mov dword [rdi + 0x14], r14d
test dword [rsi + 0x4ac0], 0x100
je 0x180004ab4
mov eax, dword [rsi + 0x4af8]
jmp 0x180004ab7
mov eax, r12d
mov r9d, dword [rsp + 0x4c]
mov dword [rdi + 0x18], eax
mov dword [rdi + 0x278], r13d
movsd xmm0, qword [rsi + 0x3fe0]
cvtpd2ps xmm0, xmm0
movss dword [rdi + 0x27c], xmm0
mov word [rdi + 0xdc], r12w
movzx eax, word [rsi + 0x4090]
add dword [rsi + 0x4090], r15d
mov word [rdi + 0xde], ax
jmp 0x180004afd
mov r14d, dword [rdi + 0x14]
cmp dword [rbx], r12d
jne 0x180004b07
mov r15, r12
jmp 0x180004b1a
movsxd rax, dword [rbx]
imul rcx, rax, 0x70
mov rax, qword [rsi + 0x4078]
mov r15, qword [rcx + rax - 0x70]
cmp r9d, r13d
je 0x180004b31
mov eax, r14d
and eax, 0x5000000
neg eax
sbb rax, rax
and rax, r15
jmp 0x180004b38
mov rax, qword [rdi + 0x380]
lea rcx, [rdi + 0x108]
mov qword [rsp + 0x68], rax
cmp dword [rcx], r12d
jne 0x180004b52
lea rdx, [rdi + 0x10]
call fcn.18001ab04
mov edx, dword [rbx]
mov rcx, rbx
inc edx
mov qword [rsi + 0x40a0], rdi
call fcn.18001b6c4
movsxd rax, dword [rbx]
mov r13, qword [rbx + 8]
imul r12, rax, 0x70
mov qword [r12 + r13 - 0x70], rdi
movups xmm0, xmmword [rsi + 0x4a70]
movups xmmword [r12 + r13 - 0x68], xmm0
movups xmm1, xmmword [rsi + 0x4a80]
movups xmmword [r12 + r13 - 0x58], xmm1
movups xmm0, xmmword [rsi + 0x4a90]
movups xmmword [r12 + r13 - 0x48], xmm0
movups xmm1, xmmword [rsi + 0x4aa0]
movups xmmword [r12 + r13 - 0x38], xmm1
movups xmm0, xmmword [rsi + 0x4ab0]
movups xmmword [r12 + r13 - 0x28], xmm0
bt r14d, 0x19
jae 0x180004bcd
test dword [rsi + 0x4a30], 0x400
je 0x180004bcd
mov al, 1
jmp 0x180004bcf
xor al, al
lea rbx, [r13 - 0x18]
mov byte [r12 + r13 - 2], al
add rbx, r12
mov rcx, rbx
call fcn.180009acc
mov qword [rsi + 0x53d8], rbx
bt r14d, 0x1c
jae 0x180004bf7
inc dword [rsi + 0x515c]
mov ebx, dword [rsp + 0x54]
cmp dword [rsp + 0x4c], ebx
je 0x180004c2f
mov r8, qword [rsp + 0x68]
mov edx, r14d
mov rcx, rdi
call fcn.180019b94
mov eax, r14d
mov qword [rdi + 0x388], r15
and eax, 0x1000000
neg eax
sbb rax, rax
and rax, r15
mov qword [rdi + 0x3b0], rax
test dword [rdi + 0x18], 0x100
je 0x180004c40
mov ecx, dword [rsi + 0x4a2c]
jmp 0x180004c43
mov ecx, dword [rdi + 0x10]
call fcn.180012f84
mov eax, dword [rsi + 0x4a2c]
mov dword [rdi + 0x3f8], eax
bt r14d, 0x1a
jae 0x180004c92
lea rcx, [rsi + 0x4ba8]
movsxd rax, dword [rcx]
imul rbx, rax, 0x38
add rbx, qword [rsi + 0x4ba0]
mov rdx, rbx
mov qword [rbx + 8], rdi
mov eax, dword [r15 + 0x170]
mov dword [rbx + 0x18], eax
call fcn.18001ac44
mov eax, dword [rbx]
mov ebx, dword [rsp + 0x54]
mov dword [rdi + 0x94], eax
xor cl, cl
xor r15b, r15b
mov r8d, 1
mov byte [rsp + 0x42], cl
mov byte [rsp + 0x43], r15b
mov byte [rsp + 0x41], cl
test byte [rsi + 0x4ac0], r8b
je 0x180004d50
movsx eax, byte [rdi + 0xf0]
mov r8d, dword [rsi + 0x4ac4]
test r8d, eax
setne cl
mov byte [rsp + 0x42], cl
test r8d, eax
je 0x180004d3b
movss xmm0, dword [rsi + 0x4adc]
movss xmm1, dword [rsi + 0x4ad8]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
comiss xmm1, dword [0x18007abd8]
jbe 0x180004d3b
movsd xmm0, qword [rsi + 0x4ad0]
movsd qword [rdi + 0xf4], xmm0
movsd xmm1, qword [rsi + 0x4ad8]
movsd qword [rdi + 0xfc], xmm1
movzx ecx, byte [rdi + 0xf0]
mov eax, dword [rdi + 0xf0]
and ecx, 0xf1
and eax, 0xffffff00
or ecx, eax
mov dword [rdi + 0xf0], ecx
jmp 0x180004d4a
lea rdx, [rsi + 0x4ad0]
mov rcx, rdi
call fcn.180016a78
mov r8d, 1
mov eax, 2
xorps xmm8, xmm8
test byte [rsi + 0x4ac0], al
je 0x180004dfe
movsx ecx, byte [rdi + 0xf1]
mov eax, ecx
and eax, dword [rsi + 0x4ac8]
je 0x180004d91
lea rdx, [rsi + 0x4ae0]
movss xmm0, dword [rdx]
comiss xmm0, xmm8
jbe 0x180004d91
mov r15b, r8b
mov byte [rsp + 0x43], r8b
jmp 0x180004da1
mov byte [rsp + 0x43], r15b
lea rdx, [rsi + 0x4ae0]
test eax, eax
je 0x180004db6
movss xmm0, dword [rsi + 0x4ae4]
comiss xmm0, xmm8
jbe 0x180004dbb
mov byte [rsp + 0x41], r8b
jmp 0x180004dc0
mov byte [rsp + 0x43], r15b
mov byte [rsp + 0x41], 0
test byte [rdi + 0x18], 4
je 0x180004dd7
test cl, 4
jne 0x180004dd7
mov eax, dword [rdi + 0x38]
lea rdx, [rsi + 0x4ae0]
mov dword [rdx], eax
test byte [rdi + 0x18], 8
je 0x180004def
test byte [rdi + 0xf1], 4
jne 0x180004def
mov eax, dword [rdi + 0x3c]
mov dword [rsi + 0x4ae4], eax
mov r8d, dword [rsi + 0x4ac8]
mov rcx, rdi
call fcn.180016bc0
test byte [rsi + 0x4ac0], 0x80
je 0x180004e41
movss xmm0, dword [rsi + 0x4af0]
comiss xmm0, xmm8
jb 0x180004e24
movss dword [rdi + 0xa8], xmm0
and dword [rdi + 0xb0], 0
movss xmm0, dword [rsi + 0x4af4]
comiss xmm0, xmm8
jb 0x180004e41
movss dword [rdi + 0xac], xmm0
and dword [rdi + 0xb4], 0
test byte [rsi + 0x4ac0], 4
je 0x180004e59
movsd xmm0, qword [rsi + 0x4ae8]
movsd qword [rdi + 0x50], xmm0
jmp 0x180004e67
cmp dword [rsp + 0x4c], ebx
je 0x180004e67
and dword [rdi + 0x50], 0
and dword [rdi + 0x54], 0
test byte [rsi + 0x4ac0], 8
je 0x180004e85
mov r8d, dword [rsi + 0x4acc]
mov rcx, rdi
mov dl, byte [rsi + 0x4afc]
call fcn.180016a34
test byte [rsi + 0x4ac0], 0x20
je 0x180004e98
xor edx, edx
mov rcx, rdi
call fcn.18000aae4
cmp byte [rdi + 0xd1], 0
je 0x180004eb5
mov cl, 0xf7
and byte [rdi + 0xf0], cl
and byte [rdi + 0xf1], cl
and byte [rdi + 0xf2], cl
mov rcx, rdi
call fcn.180019c28
cmp byte [r12 + r13 - 2], 0
je 0x180004ed3
cmp qword [rdi + 0x390], rdi
jne 0x180004ed3
call fcn.1800067ac
mov r12d, dword [rsp + 0x4c]
xor r13d, r13d
mov qword [rsi + 0x40a0], r13
cmp r12d, ebx
je 0x180006525
cmp byte [rdi + 0xd0], r13b
jne 0x18000652e
mov eax, r14d
and eax, 0x3000000
cmp qword [rbp - 0x60], r13
mov dword [rsp + 0x50], eax
mov al, byte [rdi + 0xed]
mov byte [rdi + 0xca], 1
mov byte [rsp + 0x48], al
setne al
mov byte [rdi + 0xd5], al
mov eax, 0xff7fffff
mov dword [rdi + 0x250], eax
mov dword [rdi + 0x254], eax
mov eax, 0x7f7fffff
mov dword [rdi + 0x258], eax
mov dword [rdi + 0x25c], eax
lea edi, [r13 + 1]
mov rbx, qword [rbp - 0x80]
mov edx, edi
lea rcx, [rbx + 0x108]
call fcn.18001b25c
mov rcx, qword [rbx + 0x2b0]
call fcn.180022a24
or dword [rbx + 0x1c8], 0xffffffff
cmp byte [rbx + 0x404], r13b
je 0x180004f7e
mov rcx, rbx
call fcn.18000ac88
mov r9, qword [rsp + 0x60]
cmp qword [rsi + 0x4dc8], r13
je 0x180004ff1
test dword [rbx + 0x14], 0x20000
jne 0x180004ff1
test r9, r9
je 0x180004ff1
mov r10, qword [rbp - 0x58]
mov rcx, qword [rbx + 8]
mov rax, r10
mov r9, rcx
sub r9, r10
movzx r8d, byte [rax]
movzx edx, byte [rax + r9]
sub r8d, edx
jne 0x180004fc0
add rax, rdi
test edx, edx
jne 0x180004fab
test r8d, r8d
je 0x180004fec
movsxd rax, dword [rbx + 0x88]
lea rdx, [rsp + 0x78]
mov r8, r10
mov qword [rsp + 0x78], rax
call fcn.18000c1ac
mov qword [rbx + 8], rax
mov eax, dword [rsp + 0x78]
mov dword [rbx + 0x88], eax
mov r9, qword [rsp + 0x60]
lea r8, [rbx + 0x48]
mov rcx, rbx
lea rdx, [rbx + 0x40]
call fcn.180007608
mov al, byte [rbx + 0xec]
test al, al
jle 0x180005014
sub al, dil
mov byte [rbx + 0xec], al
mov al, byte [rbx + 0xed]
test al, al
jle 0x180005027
sub al, dil
mov byte [rbx + 0xed], al
mov al, byte [rbx + 0xee]
test al, al
jle 0x18000503a
sub al, dil
mov byte [rbx + 0xee], al
test r9, r9
jne 0x180005052
test r15b, r15b
je 0x18000504b
cmp byte [rsp + 0x41], r13b
jne 0x180005052
mov byte [rbx + 0xed], dil
cmp byte [rsp + 0x40], r13b
je 0x180005098
test r14d, 0x6000000
je 0x180005098
mov byte [rbx + 0xed], dil
test r14b, 0x40
je 0x180005098
test r15b, r15b
jne 0x18000507c
mov dword [rbx + 0x38], r13d
mov dword [rbx + 0x30], r13d
mov r12b, byte [rsp + 0x41]
test r12b, r12b
jne 0x18000508e
mov dword [rbx + 0x3c], r13d
mov dword [rbx + 0x34], r13d
mov qword [rbx + 0x48], r13
mov qword [rbx + 0x40], r13
jmp 0x18000509d
mov r12b, byte [rsp + 0x41]
mov rax, qword [0x18009a6e0]
mov rcx, qword [rax + 0x4bd0]
mov r13, qword [rcx]
mov rcx, rbx
mov qword [rbx + 0x20], r13
call fcn.180016004
mov ecx, r14d
and ecx, 0x1000000
je 0x1800050d0
mov eax, dword [rsi + 0x3958]
mov dword [rbx + 0x64], eax
jmp 0x1800050f7
test r14d, 0x6000000
je 0x1800050ea
bt r14d, 0x1b
jb 0x1800050ea
movss xmm0, dword [rsi + 0x3960]
jmp 0x1800050f2
movss xmm0, dword [rsi + 0x393c]
movss dword [rbx + 0x64], xmm0
movsd xmm0, qword [rsi + 0x3930]
xor edx, edx
movsd qword [rbx + 0x58], xmm0
test ecx, ecx
je 0x180005143
bt r14d, 0x1a
jb 0x180005143
lea eax, [rdx + 2]
test byte [rbx + 0x18], al
jne 0x180005143
movss xmm0, dword [rbx + 0x64]
ucomiss xmm0, xmm8
jp 0x180005143
jne 0x180005143
bt r14d, 0xa
jae 0x180005137
movss xmm0, dword [rsi + 0x3934]
jmp 0x18000513b
movaps xmm0, xmm8
mov dword [rbx + 0x58], edx
movss dword [rbx + 0x5c], xmm0
movss xmm0, dword [rbx + 0x58]
maxss xmm0, dword [rsi + 0x3974]
maxss xmm0, dword [rsi + 0x4b24]
movss dword [rbx + 0x17c], xmm0
mov eax, dword [rsi + 0x4b28]
mov dword [rbx + 0x180], eax
test dil, r14b
je 0x180005177
movaps xmm0, xmm8
jmp 0x18000518b
movss xmm0, dword [rsi + 0x3968]
addss xmm0, xmm0
addss xmm0, dword [rsi + 0x3db8]
movss dword [rbx + 0x68], xmm0
bt r14d, 0xa
jae 0x1800051b9
movss xmm0, dword [rsi + 0x3968]
movss xmm1, dword [rsi + 0x3db8]
addss xmm0, xmm0
addss xmm1, dword [rbx + 0x180]
addss xmm1, xmm0
jmp 0x1800051bd
movaps xmm1, xmm8
mov dil, byte [rsp + 0x43]
mov eax, dword [rsp + 0x44]
mov r15b, al
movss dword [rbx + 0x6c], xmm1
test dil, dil
je 0x1800051ed
movss xmm0, dword [rbx + 0x50]
ucomiss xmm0, xmm8
jp 0x1800051e0
je 0x1800051ed
mov ecx, 1
mov al, cl
mov dword [rsp + 0x44], eax
jmp 0x1800051f2
mov ecx, 1
test r12b, r12b
je 0x180005207
movss xmm0, dword [rbx + 0x54]
ucomiss xmm0, xmm8
jp 0x180005204
je 0x180005207
mov r15b, cl
test r14b, 0x21
jne 0x1800052d9
movss xmm0, dword [rbx + 0x28]
movaps xmm2, xmm0
movss xmm1, dword [rbx + 0x68]
addss xmm2, dword [rbx + 0x38]
addss xmm1, dword [rbx + 0x2c]
movss dword [rbp - 0x50], xmm0
movss xmm0, dword [rbx + 0x2c]
movss dword [rbp - 0x4c], xmm0
movss dword [rbp - 0x48], xmm2
movss dword [rbp - 0x44], xmm1
cmp qword [rsi + 0x40a8], rbx
jne 0x1800052a4
cmp dword [rsi + 0x40fc], edx
jne 0x1800052a4
cmp dword [rsi + 0x4100], edx
jne 0x1800052a4
cmp dword [rsi + 0x4114], edx
jne 0x1800052a4
mov r8b, cl
lea rdx, [rbp - 0x48]
lea rcx, [rbp - 0x50]
call fcn.18000cdb0
xor edx, edx
test al, al
je 0x1800052a4
lea eax, [rdx + 2]
cmp word [rsi + 0x2b0a], ax
jne 0x1800052a4
mov ecx, 0x28f
call fcn.18000b46c
xor edx, edx
mov r8d, 1
cmp eax, 0xffffffff
jne 0x1800052aa
mov byte [rbx + 0xce], r8b
jmp 0x1800052aa
mov r8d, 1
cmp byte [rbx + 0xce], dl
je 0x1800052df
mov cl, byte [rbx + 0xcd]
test cl, cl
movzx r15d, r15b
sete al
test cl, cl
mov rcx, rbx
mov byte [rbx + 0xcd], al
cmovne r15d, r8d
call fcn.18000de8c
xor edx, edx
jmp 0x1800052df
mov byte [rbx + 0xcd], dl
mov byte [rbx + 0xce], dl
lea r8, [rbx + 0x48]
movss xmm9, dword [rbx + 0xc0]
lea rcx, [rsp + 0x58]
movss xmm10, dword [rbx + 0xc4]
mov dword [rbx + 0x70], edx
mov rdx, rbx
and qword [rbx + 0x78], 0
movss xmm0, dword [rbx + 0x6c]
addss xmm0, dword [rbx + 0x68]
movss dword [rbx + 0x74], xmm0
and qword [rbx + 0xc0], 0
call fcn.1800073e4
xor ecx, ecx
test r14b, 0x40
je 0x18000536c
cmp byte [rbx + 0xcd], cl
jne 0x18000536c
lea edx, [rcx + 1]
test dil, dil
jne 0x180005350
movss xmm0, dword [rsp + 0x58]
mov al, dl
movss dword [rbx + 0x38], xmm0
mov dword [rsp + 0x44], eax
test r12b, r12b
jne 0x1800053f9
movss xmm0, dword [rsp + 0x5c]
mov r15b, dl
movss dword [rbx + 0x3c], xmm0
jmp 0x1800053f9
mov al, byte [rbx + 0xe2]
test al, al
jg 0x18000537e
cmp byte [rbx + 0xe3], cl
jle 0x1800053f9
test dil, dil
jne 0x1800053b4
test al, al
jle 0x1800053b4
cmp byte [rbx + 0xe4], cl
je 0x18000539c
movss xmm0, dword [rbx + 0x38]
maxss xmm0, dword [rsp + 0x58]
jmp 0x1800053a2
movss xmm0, dword [rsp + 0x58]
mov edx, 1
movss dword [rbx + 0x38], xmm0
mov al, dl
mov dword [rsp + 0x44], eax
jmp 0x1800053b9
mov edx, 1
test r12b, r12b
jne 0x1800053e9
cmp byte [rbx + 0xe3], cl
jle 0x1800053e9
cmp byte [rbx + 0xe4], cl
je 0x1800053db
movss xmm0, dword [rbx + 0x3c]
maxss xmm0, dword [rsp + 0x5c]
jmp 0x1800053e1
movss xmm0, dword [rsp + 0x5c]
movss dword [rbx + 0x3c], xmm0
mov r15b, dl
cmp byte [rbx + 0xcd], cl
jne 0x1800053f9
mov rcx, rbx
call fcn.18000de8c
lea rdi, [rbx + 0x38]
mov rdx, rbx
mov r8, rdi
lea rcx, [rbp - 0x20]
call fcn.18000780c
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rdi], xmm0
movss dword [rdi + 4], xmm1
cmp byte [rbx + 0xcd], 0
je 0x18000544d
bt r14d, 0x18
jb 0x18000544d
movss xmm0, dword [rbx + 0x28]
movss xmm1, dword [rbx + 0x68]
addss xmm0, dword [rdi]
addss xmm1, dword [rbx + 0x2c]
subss xmm0, dword [rbx + 0x28]
subss xmm1, dword [rbx + 0x2c]
jmp 0x180005462
unpcklps xmm0, xmm1
movsd qword [rsp + 0x78], xmm0
movss xmm1, dword [rsp + 0x7c]
movss xmm0, dword [rsp + 0x78]
mov r12b, byte [rsp + 0x40]
mov dil, byte [rsp + 0x42]
movss dword [rbx + 0x30], xmm0
movss dword [rbx + 0x34], xmm1
test r12b, r12b
je 0x1800054bd
or dword [rbx + 0xe8], 0xffffffff
bt r14d, 0x1a
jae 0x1800054bd
bt r14d, 0x1b
jb 0x1800054bd
test dil, dil
jne 0x1800054bd
movsxd rax, dword [rsi + 0x4ba8]
imul rcx, rax, 0x38
mov rax, qword [rsi + 0x4bb0]
movss xmm0, dword [rcx + rax - 0x14]
movss xmm1, dword [rcx + rax - 0x10]
movss dword [rbx + 0x28], xmm0
movss dword [rbx + 0x2c], xmm1
bt r14d, 0x18
jae 0x180005574
mov r12, qword [rsp + 0x68]
lea rdx, [rbp - 0x80]
lea rcx, [r12 + 0x1a8]
movzx eax, word [rcx]
mov word [rbx + 0xdc], ax
call fcn.18001aba4
mov eax, dword [rsp + 0x50]
bt r14d, 0x1a
jb 0x18000550e
test dil, dil
jne 0x18000550e
cmp eax, 0x3000000
je 0x18000550e
movsd xmm0, qword [r12 + 0x118]
movsd qword [rbx + 0x28], xmm0
mov r12b, byte [rsp + 0x40]
movss xmm1, dword [rbx + 0xf4]
ucomiss xmm1, dword [0x18007ac8c]
jp 0x180005526
je 0x18000557a
cmp byte [rbx + 0xed], 0
jne 0x18000557a
movss xmm0, dword [rbx + 0x30]
lea rdx, [rbp - 0x68]
mulss xmm0, dword [rbx + 0xfc]
xor r8d, r8d
mov rcx, rbx
subss xmm1, xmm0
movss xmm0, dword [rbx + 0xf8]
movss dword [rbp - 0x68], xmm1
movss xmm1, dword [rbx + 0x34]
mulss xmm1, dword [rbx + 0x100]
subss xmm0, xmm1
movss dword [rbp - 0x64], xmm0
call fcn.180016a78
jmp 0x1800055d2
mov eax, dword [rsp + 0x50]
jmp 0x180005513
bt r14d, 0x1c
jae 0x180005587
lea rcx, [rbp - 0x18]
jmp 0x1800055b7
bt r14d, 0x1a
jae 0x1800055a0
test dil, dil
jne 0x1800055a0
cmp byte [rsp + 0x48], dil
jle 0x1800055a0
lea rcx, [rbp - 0x10]
jmp 0x1800055b7
bt r14d, 0x19
jae 0x1800055d2
test dil, dil
jne 0x1800055d2
cmp eax, 0x3000000
je 0x1800055d2
lea rcx, [rbp - 8]
mov rdx, rbx
call fcn.180009f4c
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rbx + 0x28], xmm0
movss dword [rbx + 0x2c], xmm1
movss xmm6, dword [r13 + 8]
movss xmm7, dword [r13 + 0xc]
movaps xmm3, xmm6
movss xmm1, dword [rsi + 0x39fc]
movaps xmm2, xmm7
movss xmm0, dword [rsi + 0x39f8]
movss xmm5, dword [r13 + 0x18]
movss xmm4, dword [r13 + 0x1c]
movss dword [rbp + 0x28], xmm6
movss dword [rbp + 0x2c], xmm7
maxss xmm1, dword [rsi + 0x3a04]
maxss xmm0, dword [rsi + 0x3a00]
addss xmm5, dword [r13 + 0x20]
addss xmm4, dword [r13 + 0x24]
addss xmm3, dword [r13 + 0x10]
addss xmm2, dword [r13 + 0x14]
subss xmm5, xmm0
subss xmm4, xmm1
movss dword [rbp + 0x30], xmm3
movss dword [rbp + 0x34], xmm2
addss xmm0, dword [r13 + 0x18]
movss dword [rbp - 0x38], xmm5
movss dword [rbp - 0x34], xmm4
addss xmm1, dword [r13 + 0x1c]
movss dword [rbp - 0x40], xmm0
movss dword [rbp - 0x3c], xmm1
test dil, dil
jne 0x1800056d6
bt r14d, 0x18
jb 0x1800056d6
subss xmm3, xmm6
comiss xmm3, xmm8
jbe 0x1800056d6
subss xmm2, xmm7
xor edi, edi
comiss xmm2, xmm8
jbe 0x1800056d8
mov rax, qword [0x18009a6e0]
movss xmm2, dword [rbx + 0x34]
cmp byte [rax + 0x60], dil
je 0x1800056a5
lea eax, [rdi + 1]
test byte [rbx + 0x14], al
jne 0x1800056a5
movss xmm2, dword [rbx + 0x68]
subss xmm0, dword [rbx + 0x30]
subss xmm1, xmm2
comiss xmm1, dword [rbx + 0x2c]
ja 0x1800056bc
movaps xmm1, xmm4
minss xmm1, dword [rbx + 0x2c]
comiss xmm0, dword [rbx + 0x28]
ja 0x1800056ca
movaps xmm0, xmm5
minss xmm0, dword [rbx + 0x28]
movss dword [rbx + 0x28], xmm0
movss dword [rbx + 0x2c], xmm1
jmp 0x1800056d8
xor edi, edi
cvttss2si eax, dword [rbx + 0x28]
movd xmm1, eax
cvttss2si eax, dword [rbx + 0x2c]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
movss dword [rbx + 0x28], xmm1
cvtdq2ps xmm0, xmm0
movss dword [rbx + 0x2c], xmm0
bt r14d, 0x18
jae 0x18000570b
movss xmm2, dword [rsi + 0x3954]
jmp 0x18000572c
mov eax, r14d
and eax, 0xc000000
cmp eax, 0x4000000
jne 0x180005724
movss xmm2, dword [rsi + 0x395c]
jmp 0x18000572c
movss xmm2, dword [rsi + 0x3938]
movss dword [rbx + 0x60], xmm2
mov ecx, 1
movzx r13d, dil
test r12b, r12b
je 0x18000575d
bt r14d, 0xc
jb 0x18000575d
bt r14d, 0x1a
jae 0x180005752
mov r13b, cl
jmp 0x18000575d
test r14d, 0x3000000
cmove r13d, ecx
or eax, 0xffffffff
xorps xmm0, xmm0
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x74], eax
mov eax, r14d
and eax, 0x5000000
movups xmmword [rbp + 0x38], xmm0
cmp eax, 0x1000000
jne 0x180005783
mov r12d, edi
jmp 0x180005791
mov al, byte [rsi + 0x5f]
neg al
sbb r12d, r12d
neg r12d
add r12d, ecx
movss xmm0, dword [rsi + 0x3db8]
movaps xmm1, xmm0
mulss xmm0, dword [0x18007abf0]
addss xmm2, dword [0x18007ac30]
mulss xmm1, dword [0x18007ac34]
addss xmm2, xmm0
maxss xmm1, xmm2
cvttss2si eax, xmm1
movd xmm7, eax
cvtdq2ps xmm7, xmm7
cmp byte [rbx + 0xcd], dil
jne 0x18000581f
lea rax, [rbp - 0x40]
mov rcx, rbx
mov qword [rsp + 0x30], rax
lea r9, [rsp + 0x74]
lea rax, [rbp + 0x38]
mov qword [rsp + 0x28], rax
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x58]
mov dword [rsp + 0x20], r12d
call fcn.180018ea8
mov ecx, dword [rsp + 0x44]
mov edx, 1
test eax, eax
je 0x180005828
test dl, al
movzx ecx, cl
movzx r15d, r15b
cmovne ecx, edx
test al, 2
cmovne r15d, edx
jmp 0x180005828
mov ecx, dword [rsp + 0x44]
mov edx, 1
mov al, byte [rsp + 0x70]
mov byte [rbx + 0xd6], al
mov al, byte [rsp + 0x74]
mov byte [rbx + 0xd7], al
cmp byte [rbx + 0xcd], dil
jne 0x1800059b1
movss xmm0, dword [rbx + 0x7c]
movss xmm3, dword [rbx + 0x218]
movss xmm4, dword [rbx + 0x21c]
addss xmm0, dword [rbx + 0x74]
subss xmm3, dword [rbx + 0x210]
subss xmm4, dword [rbx + 0x214]
movss xmm1, dword [rbx + 0x3c]
movss xmm5, dword [rbx + 0x38]
subss xmm1, xmm0
addss xmm3, xmm9
addss xmm4, xmm10
cmp qword [rsp + 0x60], rdi
jne 0x18000589c
movaps xmm2, xmm8
movaps xmm0, xmm8
jmp 0x1800058b8
movss xmm2, dword [rbx + 0x58]
movss xmm0, dword [rbx + 0x5c]
addss xmm2, xmm2
addss xmm0, xmm0
addss xmm2, dword [rbx + 0x40]
addss xmm0, dword [rbx + 0x44]
test cl, cl
jne 0x1800058bf
movaps xmm5, xmm3
test r15b, r15b
jne 0x1800058c7
movaps xmm1, xmm4
bt r14d, 0xe
jb 0x1800058de
comiss xmm0, xmm1
jbe 0x1800058d9
test r14b, 8
je 0x1800058de
mov al, dil
jmp 0x1800058e0
mov al, dl
mov byte [rbx + 0xc9], al
bt r14d, 0xf
jb 0x18000591c
test al, al
je 0x1800058fb
movss xmm3, dword [rsi + 0x399c]
jmp 0x1800058ff
movaps xmm3, xmm8
subss xmm5, xmm3
comiss xmm2, xmm5
jbe 0x180005917
mov eax, r14d
and eax, 0x808
cmp eax, 0x800
je 0x18000591c
mov al, dil
jmp 0x18000591e
mov al, dl
mov byte [rbx + 0xc8], al
test al, al
je 0x18000594f
cmp byte [rbx + 0xc9], dil
jne 0x18000594f
subss xmm1, dword [rsi + 0x399c]
comiss xmm0, xmm1
jbe 0x180005946
mov al, dl
test r14b, 8
je 0x180005949
mov al, dil
mov byte [rbx + 0xc9], al
cmp byte [rbx + 0xc8], dil
je 0x180005962
movss xmm1, dword [rsi + 0x399c]
jmp 0x180005966
movaps xmm1, xmm8
cmp byte [rbx + 0xc9], dil
je 0x180005979
movss xmm0, dword [rsi + 0x399c]
jmp 0x18000597d
movaps xmm0, xmm8
movss dword [rbx + 0xc0], xmm0
movss dword [rbx + 0xc4], xmm1
movss xmm0, dword [rbx + 0xc0]
addss xmm0, dword [rbx + 0x78]
movss dword [rbx + 0x78], xmm0
movss xmm1, dword [rbx + 0xc4]
addss xmm1, dword [rbx + 0x7c]
movss dword [rbx + 0x7c], xmm1
mov eax, r14d
and eax, 0x5000000
cmp eax, 0x1000000
jne 0x1800059d8
cmp dword [rsp + 0x50], 0x3000000
je 0x1800059d8
mov r15, qword [rsp + 0x68]
lea rax, [r15 + 0x250]
jmp 0x1800059e1
mov r15, qword [rsp + 0x68]
lea rax, [rbp + 0x28]
movups xmm0, xmmword [rax]
mov eax, r14d
and eax, 0x401
movdqu xmmword [rbp + 0x18], xmm0
movss xmm5, dword [rbx + 0x28]
movss xmm6, dword [rbx + 0x2c]
movaps xmm1, xmm5
movss xmm3, dword [rbx + 0x30]
movaps xmm2, xmm6
movss xmm4, dword [rbx + 0x34]
addss xmm3, xmm5
addss xmm4, xmm6
addss xmm1, dword [rbx + 0x38]
addss xmm2, dword [rbx + 0x68]
movss dword [rbp + 8], xmm5
movss xmm0, dword [rbx + 0x2c]
movss dword [rbp + 0xc], xmm0
unpcklps xmm1, xmm2
movsd qword [rbp + 0x10], xmm1
movss dword [rbx + 0x200], xmm5
movss dword [rbx + 0x204], xmm6
movss dword [rbx + 0x208], xmm3
movss dword [rbx + 0x20c], xmm4
mov rdi, qword [rbp - 0x80]
movss xmm1, dword [rdi + 0x200]
movss xmm0, dword [rdi + 0x204]
maxss xmm0, dword [rbp + 0x1c]
maxss xmm1, dword [rbp + 0x18]
movss dword [rdi + 0x204], xmm0
movss dword [rdi + 0x200], xmm1
movss xmm1, dword [rdi + 0x208]
movss xmm0, dword [rdi + 0x20c]
minss xmm0, dword [rbp + 0x24]
minss xmm1, dword [rbp + 0x20]
movss dword [rdi + 0x20c], xmm0
movss dword [rdi + 0x208], xmm1
movss xmm0, dword [rdi + 0x70]
addss xmm0, dword [rdi + 0x28]
movss dword [rdi + 0x210], xmm0
movss xmm0, dword [rdi + 0x74]
addss xmm0, dword [rdi + 0x2c]
movss dword [rdi + 0x214], xmm0
movss xmm1, dword [rdi + 0x30]
addss xmm1, dword [rdi + 0x28]
subss xmm1, dword [rdi + 0x78]
movss dword [rdi + 0x218], xmm1
movss xmm0, dword [rdi + 0x34]
addss xmm0, dword [rdi + 0x2c]
subss xmm0, dword [rdi + 0x7c]
movss dword [rdi + 0x21c], xmm0
cmp eax, edx
jne 0x180005b09
movss xmm1, dword [rdi + 0x64]
jmp 0x180005b11
movss xmm1, dword [rsi + 0x3970]
movss xmm3, dword [0x18007ac08]
movss xmm2, dword [rdi + 0x210]
movss xmm0, dword [rdi + 0x64]
addss xmm2, xmm3
mulss xmm0, xmm3
addss xmm2, xmm0
comiss xmm2, xmm8
cvttss2si eax, xmm2
jae 0x180005b4c
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm2
jp 0x180005b4a
je 0x180005b4c
dec eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm3
movss dword [rdi + 0x220], xmm0
movss xmm0, dword [rdi + 0x214]
addss xmm0, xmm3
addss xmm1, xmm0
comiss xmm1, xmm8
cvttss2si eax, xmm1
jae 0x180005b89
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
jp 0x180005b87
je 0x180005b89
dec eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rdi + 0x224], xmm0
movss xmm1, dword [rdi + 0x64]
movss xmm2, dword [rdi + 0x218]
mulss xmm1, xmm3
subss xmm2, xmm1
comiss xmm2, xmm8
cvttss2si eax, xmm2
jae 0x180005bc7
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm2
jp 0x180005bc5
je 0x180005bc7
dec eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rdi + 0x228], xmm0
movss xmm1, dword [rdi + 0x64]
movss xmm2, dword [rdi + 0x21c]
mulss xmm1, xmm3
subss xmm2, xmm1
comiss xmm2, xmm8
cvttss2si eax, xmm2
jae 0x180005c05
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm2
jp 0x180005c03
je 0x180005c05
dec eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rdi + 0x22c], xmm0
movss xmm0, dword [rdi + 0x224]
movss xmm1, dword [rbp + 0x1c]
comiss xmm1, xmm0
ja 0x180005c2f
movss xmm1, dword [rbp + 0x24]
minss xmm1, xmm0
movss xmm2, dword [rdi + 0x220]
movss xmm0, dword [rbp + 0x18]
comiss xmm0, xmm2
ja 0x180005c4a
movss xmm0, dword [rbp + 0x20]
minss xmm0, xmm2
movss dword [rdi + 0x220], xmm0
movss dword [rdi + 0x224], xmm1
movss xmm0, dword [rdi + 0x22c]
movss xmm1, dword [rbp + 0x1c]
comiss xmm1, xmm0
ja 0x180005c75
movss xmm1, dword [rbp + 0x24]
minss xmm1, xmm0
movss xmm2, dword [rdi + 0x228]
movss xmm0, dword [rbp + 0x18]
comiss xmm0, xmm2
ja 0x180005c90
movss xmm0, dword [rbp + 0x20]
minss xmm0, xmm2
movss dword [rdi + 0x228], xmm0
movss dword [rdi + 0x22c], xmm1
movss xmm2, dword [rdi + 0x30]
comiss xmm2, xmm8
jbe 0x180005cc2
test r14d, 0x2000040
jne 0x180005cc2
mulss xmm2, dword [0x18007ac10]
cvttss2si eax, xmm2
jmp 0x180005cd6
movss xmm0, dword [rsi + 0x3db8]
mulss xmm0, dword [0x18007ac60]
cvttss2si eax, xmm0
movd xmm0, eax
lea rcx, [rbp]
cvtdq2ps xmm0, xmm0
mov rdx, rdi
movss dword [rdi + 0x280], xmm0
movss xmm1, dword [rdi + 0x58]
movss xmm0, dword [rdi + 0x218]
addss xmm1, xmm1
subss xmm0, dword [rdi + 0x210]
addss xmm1, dword [rdi + 0x40]
subss xmm1, xmm0
movaps xmm0, xmm8
maxss xmm0, xmm1
movss dword [rdi + 0xa0], xmm0
movss xmm0, dword [rdi + 0x21c]
subss xmm0, dword [rdi + 0x214]
movss xmm1, dword [rdi + 0x5c]
addss xmm1, xmm1
addss xmm1, dword [rdi + 0x44]
subss xmm1, xmm0
movaps xmm0, xmm8
maxss xmm0, xmm1
movss dword [rdi + 0xa4], xmm0
call fcn.180006fac
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
mov eax, 0x7f7fffff
movss dword [rdi + 0x98], xmm0
movss dword [rdi + 0x9c], xmm1
mov dword [rdi + 0xa8], eax
mov dword [rdi + 0xac], eax
and dword [rdi + 0x84], 0
and dword [rdi + 0x80], 0
mov rax, qword [rsi + 0x3db0]
mov rcx, qword [rdi + 0x2b0]
mov rdx, qword [rax + 0x40]
mov rdx, qword [rdx + 8]
call fcn.180020fdc
xor r8d, r8d
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x18]
call fcn.180012ef8
xor bl, bl
bt r14d, 0x18
jae 0x180005e84
bt r14d, 0x1a
jb 0x180005e84
cmp dword [rsp + 0x50], 0x3000000
je 0x180005e84
movsxd rax, dword [r15 + 0x1a8]
cmp eax, 2
jl 0x180005e46
mov rcx, rax
mov rax, qword [r15 + 0x1b0]
mov rdx, qword [rax + rcx*8 - 0x10]
test rdx, rdx
je 0x180005e46
movss xmm0, dword [rdx + 0x2c]
addss xmm0, dword [rdx + 0x34]
movss xmm2, dword [rdx + 0x28]
movss xmm3, dword [rdi + 0x28]
movss xmm1, dword [rdi + 0x2c]
addss xmm2, dword [rdx + 0x30]
comiss xmm0, dword [rdi + 0x2c]
addss xmm3, dword [rdi + 0x30]
addss xmm1, dword [rdi + 0x34]
jbe 0x180005e46
comiss xmm1, dword [rdx + 0x2c]
jbe 0x180005e46
comiss xmm2, dword [rdi + 0x28]
jbe 0x180005e46
comiss xmm3, dword [rdx + 0x28]
jbe 0x180005e46
mov r8d, 1
jmp 0x180005e49
xor r8b, r8b
mov rdx, qword [rdi + 0x2b0]
movsxd rax, dword [rdx]
imul rcx, rax, 0x38
mov rax, qword [rdx + 8]
cmp dword [rcx + rax - 0x18], 0
mov ecx, 1
jne 0x180005e89
mov rax, qword [r15 + 0x2b0]
cmp dword [rax + 0x20], 0
je 0x180005e89
test r8b, r8b
jne 0x180005e89
mov bl, cl
mov qword [rdi + 0x2b0], rax
jmp 0x180005e89
mov ecx, 1
mov rax, qword [rsi + 0x4db8]
test rax, rax
jne 0x180005e9c
mov rax, qword [rsi + 0x4bd8]
test r13b, r13b
jne 0x180005ebb
test rax, rax
je 0x180005eb6
mov rax, qword [rax + 0x3a0]
cmp qword [rdi + 0x3a0], rax
je 0x180005ebb
xor r8b, r8b
jmp 0x180005ebe
mov r8b, cl
movss dword [rsp + 0x30], xmm7
lea rax, [rbp + 0x38]
mov r9b, cl
mov qword [rsp + 0x28], rax
lea rdx, [rbp + 8]
mov dword [rsp + 0x20], r12d
mov rcx, rdi
call fcn.1800149e8
xor r12d, r12d
test bl, bl
je 0x180005ef6
lea rax, [rdi + 0x2b8]
mov qword [rdi + 0x2b0], rax
movss xmm3, dword [rdi + 0x50]
mov ecx, r14d
shr ecx, 3
mov ebx, 1
not cl
and cl, bl
ucomiss xmm3, xmm8
jp 0x180005f50
jne 0x180005f50
movss xmm0, dword [rdi + 0x58]
mov eax, r14d
movss xmm1, dword [rdi + 0x30]
addss xmm0, xmm0
and eax, 0x808
subss xmm1, xmm0
movss xmm0, dword [rdi + 0x78]
addss xmm0, dword [rdi + 0x70]
subss xmm1, xmm0
cmp eax, 0x800
jne 0x180005f48
movss xmm3, dword [rdi + 0x40]
jmp 0x180005f4c
movaps xmm3, xmm8
maxss xmm3, xmm1
movss xmm2, dword [rdi + 0x54]
ucomiss xmm2, xmm8
jp 0x180005f90
jne 0x180005f90
movss xmm0, dword [rdi + 0x5c]
movss xmm1, dword [rdi + 0x34]
addss xmm0, xmm0
subss xmm1, xmm0
movss xmm0, dword [rdi + 0x7c]
addss xmm0, dword [rdi + 0x74]
subss xmm1, xmm0
test cl, cl
je 0x180005f88
movss xmm2, dword [rdi + 0x44]
jmp 0x180005f8c
movaps xmm2, xmm8
maxss xmm2, xmm1
movss xmm1, dword [rdi + 0x58]
maxss xmm1, dword [rdi + 0x64]
movss xmm0, dword [rdi + 0x210]
subss xmm0, dword [rdi + 0x98]
addss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rdi + 0x230], xmm0
movss xmm1, dword [rdi + 0x5c]
movss xmm0, dword [rdi + 0x214]
subss xmm0, dword [rdi + 0x9c]
maxss xmm1, dword [rdi + 0x64]
addss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rdi + 0x234], xmm0
addss xmm3, dword [rdi + 0x230]
movss dword [rdi + 0x238], xmm3
addss xmm2, dword [rdi + 0x234]
movss dword [rdi + 0x23c], xmm2
movups xmm0, xmmword [rdi + 0x230]
movdqu xmmword [rdi + 0x240], xmm0
movss xmm0, dword [rdi + 0x28]
subss xmm0, dword [rdi + 0x98]
addss xmm0, dword [rdi + 0x58]
addss xmm0, dword [rdi + 0x70]
movss dword [rdi + 0x260], xmm0
movss xmm0, dword [rdi + 0x2c]
subss xmm0, dword [rdi + 0x9c]
addss xmm0, dword [rdi + 0x5c]
addss xmm0, dword [rdi + 0x74]
movss dword [rdi + 0x264], xmm0
movss xmm1, dword [rdi + 0x50]
ucomiss xmm1, xmm8
jp 0x18000608c
jne 0x18000608c
movss xmm0, dword [rdi + 0x58]
movss xmm1, dword [rdi + 0x30]
addss xmm0, xmm0
subss xmm1, xmm0
movss xmm0, dword [rdi + 0x78]
addss xmm0, dword [rdi + 0x70]
subss xmm1, xmm0
addss xmm1, dword [rdi + 0x260]
movss dword [rdi + 0x268], xmm1
movss xmm2, dword [rdi + 0x54]
ucomiss xmm2, xmm8
jp 0x1800060c9
jne 0x1800060c9
movss xmm0, dword [rdi + 0x5c]
movss xmm2, dword [rdi + 0x34]
addss xmm0, xmm0
subss xmm2, xmm0
movss xmm0, dword [rdi + 0x7c]
addss xmm0, dword [rdi + 0x74]
subss xmm2, xmm0
addss xmm2, dword [rdi + 0x264]
mov r8b, byte [rsp + 0x40]
lea rcx, [rdi + 0x184]
movss dword [rdi + 0x26c], xmm2
movss xmm0, dword [rdi + 0x70]
addss xmm0, dword [rdi + 0x58]
subss xmm0, dword [rdi + 0x98]
movss dword [rdi + 0x15c], xmm0
mov qword [rdi + 0x160], r12
movss xmm2, dword [rdi + 0x58]
movss xmm0, dword [rdi + 0x28]
movss xmm1, dword [rdi + 0x98]
movss xmm3, dword [rdi + 0x5c]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
cvtps2pd xmm2, xmm2
cvtps2pd xmm3, xmm3
addsd xmm2, xmm0
movss xmm0, dword [rdi + 0x70]
cvtps2pd xmm0, xmm0
subsd xmm2, xmm1
movss xmm1, dword [rdi + 0x9c]
cvtps2pd xmm1, xmm1
addsd xmm2, xmm0
movss xmm0, dword [rdi + 0x2c]
cvtps2pd xmm0, xmm0
addsd xmm2, qword [0x18007abd0]
addsd xmm3, xmm0
movss xmm0, dword [rdi + 0x74]
cvtps2pd xmm0, xmm0
subsd xmm3, xmm1
cvtpd2ps xmm1, xmm2
addsd xmm3, xmm0
movss dword [rdi + 0x128], xmm1
cvtpd2ps xmm0, xmm3
movss dword [rdi + 0x12c], xmm0
movss xmm0, dword [rdi + 0x128]
movss xmm1, dword [rdi + 0x12c]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
subsd xmm2, xmm0
subsd xmm3, xmm1
cvtpd2ps xmm2, xmm2
cvtpd2ps xmm0, xmm3
movss dword [rdi + 0x168], xmm2
movss dword [rdi + 0x16c], xmm0
movss xmm1, dword [rdi + 0x128]
movss xmm2, dword [rdi + 0x12c]
movss dword [rdi + 0x118], xmm1
movss dword [rdi + 0x11c], xmm2
movss dword [rdi + 0x120], xmm1
movss dword [rdi + 0x124], xmm2
movsd xmm0, qword [rdi + 0x128]
movsd qword [rdi + 0x130], xmm0
movsd xmm1, qword [rdi + 0x128]
movsd qword [rdi + 0x138], xmm1
mov qword [rdi + 0x148], r12
mov qword [rdi + 0x140], r12
mov qword [rdi + 0x150], r12
mov word [rdi + 0x158], r12w
mov dword [rdi + 0x170], r12d
movzx eax, word [rdi + 0x176]
mov word [rdi + 0x174], ax
mov dword [rdi + 0x176], 0x10000
movss xmm0, dword [rdi + 0xa4]
comiss xmm0, xmm8
seta al
mov byte [rdi + 0x17a], al
mov byte [rdi + 0x17b], r12b
movss xmm1, dword [rsi + 0x3974]
call fcn.180035f80
lea rcx, [rdi + 0x1a8]
mov qword [rdi + 0x1a0], r12
xor edx, edx
call fcn.18001b2ec
lea rax, [rdi + 0x288]
mov qword [rdi + 0x1b8], rax
mov qword [rdi + 0x1c0], r12
mov dword [rdi + 0x1cc], ebx
test r15, r15
je 0x1800062ad
mov eax, dword [r15 + 0x1cc]
jmp 0x1800062af
mov eax, ebx
mov dword [rdi + 0x1d0], eax
lea rcx, [rdi + 0x1e0]
mov eax, dword [rdi + 0x280]
xor edx, edx
mov dword [rdi + 0x1d8], eax
mov dword [rdi + 0x1dc], 0xbf800000
call fcn.18001b25c
lea rcx, [rdi + 0x1f0]
xor edx, edx
call fcn.18001b25c
bt r14d, 0x1b
jae 0x180006307
mov rcx, qword [0x18009a6e0]
add rcx, 0x3d88
call fcn.1800080c0
mov dword [rdi + 0x1d4], eax
mov al, byte [rdi + 0xe2]
test al, al
jle 0x180006319
sub al, bl
mov byte [rdi + 0xe2], al
mov al, byte [rdi + 0xe3]
test al, al
jle 0x18000632b
sub al, bl
mov byte [rdi + 0xe3], al
test r13b, r13b
je 0x180006350
mov edx, 2
mov rcx, rdi
call fcn.18000aae4
cmp rdi, qword [rsi + 0x4bd8]
jne 0x180006350
xor edx, edx
mov rcx, rdi
call fcn.18000e390
test bl, r14b
jne 0x18000639b
movss xmm0, dword [rbp + 8]
lea rdx, [rbp - 0x30]
addss xmm0, dword [rdi + 0x64]
movss xmm1, dword [rbp + 0x10]
mov rcx, rdi
subss xmm1, dword [rdi + 0x64]
mov r9, qword [rbp - 0x60]
mov r8, qword [rbp - 0x58]
movss dword [rbp - 0x30], xmm0
movss xmm0, dword [rbp + 0xc]
movss dword [rbp - 0x2c], xmm0
movss xmm0, dword [rbp + 0x14]
movss dword [rbp - 0x24], xmm0
movss dword [rbp - 0x28], xmm1
call fcn.1800153a4
xor r13d, r13d
mov dword [rdi + 0x270], r13d
bt r14d, 0x19
jae 0x1800063b3
mov qword [rsi + 0x51f8], rdi
xor r8d, r8d
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 8]
call fcn.18000cdb0
mov r8, qword [0x18009a6e0]
movzx edx, al
mov eax, dword [rdi + 0x8c]
mov ecx, dword [r8 + 0x4a30]
mov dword [r8 + 0x4a70], eax
mov dword [r8 + 0x4a74], ecx
mov dword [r8 + 0x4a78], edx
movups xmm0, xmmword [rbp + 8]
movdqu xmmword [r8 + 0x4a8c], xmm0
movdqu xmmword [r8 + 0x4a7c], xmm0
mov eax, dword [rsi + 0x4a34]
test eax, eax
je 0x180006421
cmp dword [rdi + 0x10], eax
je 0x18000641c
cmp dword [rdi + 0x8c], eax
jne 0x180006421
call fcn.180008794
mov ebx, dword [rsp + 0x54]
mov r12d, dword [rsp + 0x4c]
cmp byte [rdi + 0xd0], r13b
jne 0x18000644c
lea rdx, [rdi + 0x228]
mov r8d, 1
lea rcx, [rdi + 0x220]
call fcn.180012ef8
mov byte [rdi + 0xcc], r13b
mov edx, 1
add word [rdi + 0xd8], dx
mov dword [rsi + 0x4ac0], r13d
cmp r12d, ebx
je 0x18000669f
cmp byte [rdi + 0xd0], r13b
jne 0x180006699
bt r14d, 0x18
jae 0x180006605
bt r14d, 0x1c
jb 0x180006605
test dword [rdi + 0x18], 0x100
je 0x1800064c2
cmp byte [rsi + 0x4c34], r13b
je 0x1800064c2
mov rcx, qword [rsi + 0x4bd8]
test rcx, rcx
je 0x1800064c2
mov rax, qword [rdi + 0x3a8]
cmp qword [rcx + 0x3a8], rax
mov al, dl
je 0x1800064c5
mov al, r13b
cmp byte [rsi + 0x5358], r13b
jne 0x1800065d0
test al, al
jne 0x1800065d0
movss xmm0, dword [rdi + 0x200]
comiss xmm0, dword [rdi + 0x208]
jae 0x180006500
movss xmm0, dword [rdi + 0x204]
comiss xmm0, dword [rdi + 0x20c]
jb 0x1800065d0
cmp byte [rdi + 0xe2], r13b
jg 0x1800065ca
cmp byte [rdi + 0xe3], r13b
jg 0x1800065ca
mov byte [rdi + 0xec], dl
jmp 0x1800065d0
cmp byte [rdi + 0xd0], r13b
je 0x180006536
mov rcx, rdi
call fcn.1800169dc
mov rcx, rdi
call fcn.180016004
movss xmm0, dword [rdi + 0x28]
lea rdx, [rbp - 0x70]
movss xmm1, dword [rdi + 0x68]
lea rcx, [rbp - 0x78]
addss xmm1, dword [rdi + 0x2c]
movaps xmm2, xmm0
movss dword [rbp - 0x78], xmm0
addss xmm2, dword [rdi + 0x38]
movss xmm0, dword [rdi + 0x2c]
xor r8d, r8d
movss dword [rbp - 0x74], xmm0
movss dword [rbp - 0x6c], xmm1
movss dword [rbp - 0x70], xmm2
call fcn.18000cdb0
mov r8, qword [0x18009a6e0]
movups xmm0, xmmword [rbp - 0x78]
mov r15, qword [rsp + 0x68]
movzx edx, al
mov ecx, dword [r8 + 0x4a30]
mov eax, dword [rdi + 0x8c]
mov dword [r8 + 0x4a70], eax
mov dword [r8 + 0x4a74], ecx
mov dword [r8 + 0x4a78], edx
movdqu xmmword [r8 + 0x4a8c], xmm0
movdqu xmmword [r8 + 0x4a7c], xmm0
jmp 0x18000642a
mov byte [rdi + 0xed], dl
test r15, r15
je 0x180006605
cmp byte [r15 + 0xcd], r13b
jne 0x1800065e7
cmp byte [r15 + 0xec], r13b
jle 0x1800065ed
mov byte [rdi + 0xec], dl
cmp byte [r15 + 0xcd], r13b
jne 0x1800065ff
cmp byte [r15 + 0xed], r13b
jle 0x180006605
mov byte [rdi + 0xed], dl
comiss xmm8, dword [rsi + 0x3928]
jb 0x180006615
mov byte [rdi + 0xec], dl
cmp byte [rdi + 0xec], r13b
jg 0x180006638
cmp byte [rdi + 0xed], r13b
jg 0x180006638
mov cl, r13b
cmp byte [rdi + 0xee], r13b
jg 0x18000663a
mov al, r13b
jmp 0x18000663c
mov cl, dl
mov al, dl
mov byte [rdi + 0xd2], al
mov al, byte [rdi + 0xef]
test al, al
jle 0x18000665b
sub al, dl
mov byte [rdi + 0xef], al
or dword [rdi + 0x14], 0x30200
movzx eax, r13b
cmp byte [rdi + 0xcd], r13b
jne 0x180006675
cmp byte [rdi + 0xca], r13b
je 0x180006675
test cl, cl
je 0x180006691
cmp byte [rdi + 0xe2], r13b
jg 0x180006691
cmp byte [rdi + 0xe3], r13b
jg 0x180006691
cmp byte [rdi + 0xed], r13b
cmovle eax, edx
mov byte [rdi + 0xcf], al
jmp 0x18000669f
mov byte [rdi + 0xcf], dl
cmp byte [rdi + 0xd3], r13b
jne 0x1800066f8
cmp byte [rsi + 0x82], r13b
je 0x1800066b8
cmp qword [rsp + 0x60], r13
je 0x1800066d0
cmp byte [rsi + 0x83], r13b
je 0x1800066f8
movsx eax, byte [rsi + 0x5420]
cmp eax, dword [rsi + 0x4070]
jne 0x1800066f8
mov al, byte [rdi + 0xe2]
test al, al
jle 0x1800066e2
add al, dl
mov byte [rdi + 0xe2], al
mov al, byte [rdi + 0xe3]
test al, al
jle 0x1800066f4
add al, dl
mov byte [rdi + 0xe3], al
xor al, al
jmp 0x180006702
cmp byte [rdi + 0xcf], r13b
sete al
mov rcx, qword [rbp + 0x48]
xor rcx, rsp
call fcn.18004b680
lea r11, [rsp + 0x1a0]
mov rbx, qword [r11 + 0x58]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret