Function at 0x1800045ec
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 [0x180099380]
xor rax, rsp
mov qword [rbp + 0x48], rax
mov rsi, qword [0x18009a670]
mov r14d, r8d
mov qword [rbp - 0x60], rdx
xor r8d, r8d
xor edx, edx
mov qword [rbp - 0x58], rcx
mov rbx, rcx
call fcn.18000bd40
lea rcx, [rsi + 0x4080]
mov edx, eax
call fcn.18000b844
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 0x18000469b
mov edx, r14d
mov rcx, rbx
call fcn.180007ff0
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 0x1800046a7
int3
mov eax, 0x30200
mov ecx, r14d
and ecx, eax
cmp ecx, eax
jne 0x1800046b9
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 0x1800046ef
mov al, r15b
cmp byte [rsi + 0x3ff5], r12b
jne 0x1800046f2
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 0x180004740
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 0x180004760
or byte [rdi + 0xf0], cl
or byte [rdi + 0xf1], cl
or byte [rdi + 0xf2], cl
cmp r9d, r13d
je 0x1800047cd
mov r8d, r14d
mov rcx, rdi
call fcn.180018a7c
mov dword [rdi + 0x14], r14d
test dword [rsi + 0x4ac0], 0x100
je 0x180004788
mov eax, dword [rsi + 0x4af8]
jmp 0x18000478b
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 0x1800047d1
mov r14d, dword [rdi + 0x14]
cmp dword [rbx], r12d
jne 0x1800047db
mov r15, r12
jmp 0x1800047ee
movsxd rax, dword [rbx]
imul rcx, rax, 0x70
mov rax, qword [rsi + 0x4078]
mov r15, qword [rcx + rax - 0x70]
cmp r9d, r13d
je 0x180004805
mov eax, r14d
and eax, 0x5000000
neg eax
sbb rax, rax
and rax, r15
jmp 0x18000480c
mov rax, qword [rdi + 0x380]
lea rcx, [rdi + 0x108]
mov qword [rsp + 0x68], rax
cmp dword [rcx], r12d
jne 0x180004826
lea rdx, [rdi + 0x10]
call fcn.18001a810
mov edx, dword [rbx]
mov rcx, rbx
inc edx
mov qword [rsi + 0x40a0], rdi
call fcn.18001b3d0
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 0x1800048a1
test dword [rsi + 0x4a30], 0x400
je 0x1800048a1
mov al, 1
jmp 0x1800048a3
xor al, al
lea rbx, [r13 - 0x18]
mov byte [r12 + r13 - 2], al
add rbx, r12
mov rcx, rbx
call fcn.1800097a0
mov qword [rsi + 0x53d8], rbx
bt r14d, 0x1c
jae 0x1800048cb
inc dword [rsi + 0x515c]
mov ebx, dword [rsp + 0x54]
cmp dword [rsp + 0x4c], ebx
je 0x180004903
mov r8, qword [rsp + 0x68]
mov edx, r14d
mov rcx, rdi
call fcn.1800198a0
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 0x180004914
mov ecx, dword [rsi + 0x4a2c]
jmp 0x180004917
mov ecx, dword [rdi + 0x10]
call fcn.180012c94
mov eax, dword [rsi + 0x4a2c]
mov dword [rdi + 0x3f8], eax
bt r14d, 0x1a
jae 0x180004966
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.18001a950
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 0x180004a24
movsx eax, byte [rdi + 0xf0]
mov r8d, dword [rsi + 0x4ac4]
test r8d, eax
setne cl
mov byte [rsp + 0x42], cl
test r8d, eax
je 0x180004a0f
movss xmm0, dword [rsi + 0x4adc]
movss xmm1, dword [rsi + 0x4ad8]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
comiss xmm1, dword [0x18007abb8]
jbe 0x180004a0f
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 0x180004a1e
lea rdx, [rsi + 0x4ad0]
mov rcx, rdi
call fcn.180016788
mov r8d, 1
mov eax, 2
xorps xmm8, xmm8
test byte [rsi + 0x4ac0], al
je 0x180004ad2
movsx ecx, byte [rdi + 0xf1]
mov eax, ecx
and eax, dword [rsi + 0x4ac8]
je 0x180004a65
lea rdx, [rsi + 0x4ae0]
movss xmm0, dword [rdx]
comiss xmm0, xmm8
jbe 0x180004a65
mov r15b, r8b
mov byte [rsp + 0x43], r8b
jmp 0x180004a75
mov byte [rsp + 0x43], r15b
lea rdx, [rsi + 0x4ae0]
test eax, eax
je 0x180004a8a
movss xmm0, dword [rsi + 0x4ae4]
comiss xmm0, xmm8
jbe 0x180004a8f
mov byte [rsp + 0x41], r8b
jmp 0x180004a94
mov byte [rsp + 0x43], r15b
mov byte [rsp + 0x41], 0
test byte [rdi + 0x18], 4
je 0x180004aab
test cl, 4
jne 0x180004aab
mov eax, dword [rdi + 0x38]
lea rdx, [rsi + 0x4ae0]
mov dword [rdx], eax
test byte [rdi + 0x18], 8
je 0x180004ac3
test byte [rdi + 0xf1], 4
jne 0x180004ac3
mov eax, dword [rdi + 0x3c]
mov dword [rsi + 0x4ae4], eax
mov r8d, dword [rsi + 0x4ac8]
mov rcx, rdi
call fcn.1800168d0
test byte [rsi + 0x4ac0], 0x80
je 0x180004b15
movss xmm0, dword [rsi + 0x4af0]
comiss xmm0, xmm8
jb 0x180004af8
movss dword [rdi + 0xa8], xmm0
and dword [rdi + 0xb0], 0
movss xmm0, dword [rsi + 0x4af4]
comiss xmm0, xmm8
jb 0x180004b15
movss dword [rdi + 0xac], xmm0
and dword [rdi + 0xb4], 0
test byte [rsi + 0x4ac0], 4
je 0x180004b2d
movsd xmm0, qword [rsi + 0x4ae8]
movsd qword [rdi + 0x50], xmm0
jmp 0x180004b3b
cmp dword [rsp + 0x4c], ebx
je 0x180004b3b
and dword [rdi + 0x50], 0
and dword [rdi + 0x54], 0
test byte [rsi + 0x4ac0], 8
je 0x180004b59
mov r8d, dword [rsi + 0x4acc]
mov rcx, rdi
mov dl, byte [rsi + 0x4afc]
call fcn.180016744
test byte [rsi + 0x4ac0], 0x20
je 0x180004b6c
xor edx, edx
mov rcx, rdi
call fcn.18000a7b8
cmp byte [rdi + 0xd1], 0
je 0x180004b89
mov cl, 0xf7
and byte [rdi + 0xf0], cl
and byte [rdi + 0xf1], cl
and byte [rdi + 0xf2], cl
mov rcx, rdi
call fcn.180019934
cmp byte [r12 + r13 - 2], 0
je 0x180004ba7
cmp qword [rdi + 0x390], rdi
jne 0x180004ba7
call fcn.180006480
mov r12d, dword [rsp + 0x4c]
xor r13d, r13d
mov qword [rsi + 0x40a0], r13
cmp r12d, ebx
je 0x1800061f9
cmp byte [rdi + 0xd0], r13b
jne 0x180006202
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.18001af68
mov rcx, qword [rbx + 0x2b0]
call fcn.1800226ec
or dword [rbx + 0x1c8], 0xffffffff
cmp byte [rbx + 0x404], r13b
je 0x180004c52
mov rcx, rbx
call fcn.18000a95c
mov r9, qword [rsp + 0x60]
cmp qword [rsi + 0x4dc8], r13
je 0x180004cc5
test dword [rbx + 0x14], 0x20000
jne 0x180004cc5
test r9, r9
je 0x180004cc5
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 0x180004c94
add rax, rdi
test edx, edx
jne 0x180004c7f
test r8d, r8d
je 0x180004cc0
movsxd rax, dword [rbx + 0x88]
lea rdx, [rsp + 0x78]
mov r8, r10
mov qword [rsp + 0x78], rax
call fcn.18000be80
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.1800072dc
mov al, byte [rbx + 0xec]
test al, al
jle 0x180004ce8
sub al, dil
mov byte [rbx + 0xec], al
mov al, byte [rbx + 0xed]
test al, al
jle 0x180004cfb
sub al, dil
mov byte [rbx + 0xed], al
mov al, byte [rbx + 0xee]
test al, al
jle 0x180004d0e
sub al, dil
mov byte [rbx + 0xee], al
test r9, r9
jne 0x180004d26
test r15b, r15b
je 0x180004d1f
cmp byte [rsp + 0x41], r13b
jne 0x180004d26
mov byte [rbx + 0xed], dil
cmp byte [rsp + 0x40], r13b
je 0x180004d6c
test r14d, 0x6000000
je 0x180004d6c
mov byte [rbx + 0xed], dil
test r14b, 0x40
je 0x180004d6c
test r15b, r15b
jne 0x180004d50
mov dword [rbx + 0x38], r13d
mov dword [rbx + 0x30], r13d
mov r12b, byte [rsp + 0x41]
test r12b, r12b
jne 0x180004d62
mov dword [rbx + 0x3c], r13d
mov dword [rbx + 0x34], r13d
mov qword [rbx + 0x48], r13
mov qword [rbx + 0x40], r13
jmp 0x180004d71
mov r12b, byte [rsp + 0x41]
mov rax, qword [0x18009a670]
mov rcx, qword [rax + 0x4bd0]
mov r13, qword [rcx]
mov rcx, rbx
mov qword [rbx + 0x20], r13
call fcn.180015d14
mov ecx, r14d
and ecx, 0x1000000
je 0x180004da4
mov eax, dword [rsi + 0x3958]
mov dword [rbx + 0x64], eax
jmp 0x180004dcb
test r14d, 0x6000000
je 0x180004dbe
bt r14d, 0x1b
jb 0x180004dbe
movss xmm0, dword [rsi + 0x3960]
jmp 0x180004dc6
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 0x180004e17
bt r14d, 0x1a
jb 0x180004e17
lea eax, [rdx + 2]
test byte [rbx + 0x18], al
jne 0x180004e17
movss xmm0, dword [rbx + 0x64]
ucomiss xmm0, xmm8
jp 0x180004e17
jne 0x180004e17
bt r14d, 0xa
jae 0x180004e0b
movss xmm0, dword [rsi + 0x3934]
jmp 0x180004e0f
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 0x180004e4b
movaps xmm0, xmm8
jmp 0x180004e5f
movss xmm0, dword [rsi + 0x3968]
addss xmm0, xmm0
addss xmm0, dword [rsi + 0x3db8]
movss dword [rbx + 0x68], xmm0
bt r14d, 0xa
jae 0x180004e8d
movss xmm0, dword [rsi + 0x3968]
movss xmm1, dword [rsi + 0x3db8]
addss xmm0, xmm0
addss xmm1, dword [rbx + 0x180]
addss xmm1, xmm0
jmp 0x180004e91
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 0x180004ec1
movss xmm0, dword [rbx + 0x50]
ucomiss xmm0, xmm8
jp 0x180004eb4
je 0x180004ec1
mov ecx, 1
mov al, cl
mov dword [rsp + 0x44], eax
jmp 0x180004ec6
mov ecx, 1
test r12b, r12b
je 0x180004edb
movss xmm0, dword [rbx + 0x54]
ucomiss xmm0, xmm8
jp 0x180004ed8
je 0x180004edb
mov r15b, cl
test r14b, 0x21
jne 0x180004fad
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 0x180004f78
cmp dword [rsi + 0x40fc], edx
jne 0x180004f78
cmp dword [rsi + 0x4100], edx
jne 0x180004f78
cmp dword [rsi + 0x4114], edx
jne 0x180004f78
mov r8b, cl
lea rdx, [rbp - 0x48]
lea rcx, [rbp - 0x50]
call fcn.18000ca84
xor edx, edx
test al, al
je 0x180004f78
lea eax, [rdx + 2]
cmp word [rsi + 0x2b0a], ax
jne 0x180004f78
mov ecx, 0x28f
call fcn.18000b140
xor edx, edx
mov r8d, 1
cmp eax, 0xffffffff
jne 0x180004f7e
mov byte [rbx + 0xce], r8b
jmp 0x180004f7e
mov r8d, 1
cmp byte [rbx + 0xce], dl
je 0x180004fb3
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.18000db60
xor edx, edx
jmp 0x180004fb3
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.1800070b8
xor ecx, ecx
test r14b, 0x40
je 0x180005040
cmp byte [rbx + 0xcd], cl
jne 0x180005040
lea edx, [rcx + 1]
test dil, dil
jne 0x180005024
movss xmm0, dword [rsp + 0x58]
mov al, dl
movss dword [rbx + 0x38], xmm0
mov dword [rsp + 0x44], eax
test r12b, r12b
jne 0x1800050cd
movss xmm0, dword [rsp + 0x5c]
mov r15b, dl
movss dword [rbx + 0x3c], xmm0
jmp 0x1800050cd
mov al, byte [rbx + 0xe2]
test al, al
jg 0x180005052
cmp byte [rbx + 0xe3], cl
jle 0x1800050cd
test dil, dil
jne 0x180005088
test al, al
jle 0x180005088
cmp byte [rbx + 0xe4], cl
je 0x180005070
movss xmm0, dword [rbx + 0x38]
maxss xmm0, dword [rsp + 0x58]
jmp 0x180005076
movss xmm0, dword [rsp + 0x58]
mov edx, 1
movss dword [rbx + 0x38], xmm0
mov al, dl
mov dword [rsp + 0x44], eax
jmp 0x18000508d
mov edx, 1
test r12b, r12b
jne 0x1800050bd
cmp byte [rbx + 0xe3], cl
jle 0x1800050bd
cmp byte [rbx + 0xe4], cl
je 0x1800050af
movss xmm0, dword [rbx + 0x3c]
maxss xmm0, dword [rsp + 0x5c]
jmp 0x1800050b5
movss xmm0, dword [rsp + 0x5c]
movss dword [rbx + 0x3c], xmm0
mov r15b, dl
cmp byte [rbx + 0xcd], cl
jne 0x1800050cd
mov rcx, rbx
call fcn.18000db60
lea rdi, [rbx + 0x38]
mov rdx, rbx
mov r8, rdi
lea rcx, [rbp - 0x20]
call fcn.1800074e0
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rdi], xmm0
movss dword [rdi + 4], xmm1
cmp byte [rbx + 0xcd], 0
je 0x180005121
bt r14d, 0x18
jb 0x180005121
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 0x180005136
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 0x180005191
or dword [rbx + 0xe8], 0xffffffff
bt r14d, 0x1a
jae 0x180005191
bt r14d, 0x1b
jb 0x180005191
test dil, dil
jne 0x180005191
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 0x180005248
mov r12, qword [rsp + 0x68]
lea rdx, [rbp - 0x80]
lea rcx, [r12 + 0x1a8]
movzx eax, word [rcx]
mov word [rbx + 0xdc], ax
call fcn.18001a8b0
mov eax, dword [rsp + 0x50]
bt r14d, 0x1a
jb 0x1800051e2
test dil, dil
jne 0x1800051e2
cmp eax, 0x3000000
je 0x1800051e2
movsd xmm0, qword [r12 + 0x118]
movsd qword [rbx + 0x28], xmm0
mov r12b, byte [rsp + 0x40]
movss xmm1, dword [rbx + 0xf4]
ucomiss xmm1, dword [0x18007ac6c]
jp 0x1800051fa
je 0x18000524e
cmp byte [rbx + 0xed], 0
jne 0x18000524e
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.180016788
jmp 0x1800052a6
mov eax, dword [rsp + 0x50]
jmp 0x1800051e7
bt r14d, 0x1c
jae 0x18000525b
lea rcx, [rbp - 0x18]
jmp 0x18000528b
bt r14d, 0x1a
jae 0x180005274
test dil, dil
jne 0x180005274
cmp byte [rsp + 0x48], dil
jle 0x180005274
lea rcx, [rbp - 0x10]
jmp 0x18000528b
bt r14d, 0x19
jae 0x1800052a6
test dil, dil
jne 0x1800052a6
cmp eax, 0x3000000
je 0x1800052a6
lea rcx, [rbp - 8]
mov rdx, rbx
call fcn.180009c20
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 0x1800053aa
bt r14d, 0x18
jb 0x1800053aa
subss xmm3, xmm6
comiss xmm3, xmm8
jbe 0x1800053aa
subss xmm2, xmm7
xor edi, edi
comiss xmm2, xmm8
jbe 0x1800053ac
mov rax, qword [0x18009a670]
movss xmm2, dword [rbx + 0x34]
cmp byte [rax + 0x60], dil
je 0x180005379
lea eax, [rdi + 1]
test byte [rbx + 0x14], al
jne 0x180005379
movss xmm2, dword [rbx + 0x68]
subss xmm0, dword [rbx + 0x30]
subss xmm1, xmm2
comiss xmm1, dword [rbx + 0x2c]
ja 0x180005390
movaps xmm1, xmm4
minss xmm1, dword [rbx + 0x2c]
comiss xmm0, dword [rbx + 0x28]
ja 0x18000539e
movaps xmm0, xmm5
minss xmm0, dword [rbx + 0x28]
movss dword [rbx + 0x28], xmm0
movss dword [rbx + 0x2c], xmm1
jmp 0x1800053ac
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 0x1800053df
movss xmm2, dword [rsi + 0x3954]
jmp 0x180005400
mov eax, r14d
and eax, 0xc000000
cmp eax, 0x4000000
jne 0x1800053f8
movss xmm2, dword [rsi + 0x395c]
jmp 0x180005400
movss xmm2, dword [rsi + 0x3938]
movss dword [rbx + 0x60], xmm2
mov ecx, 1
movzx r13d, dil
test r12b, r12b
je 0x180005431
bt r14d, 0xc
jb 0x180005431
bt r14d, 0x1a
jae 0x180005426
mov r13b, cl
jmp 0x180005431
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 0x180005457
mov r12d, edi
jmp 0x180005465
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 [0x18007abd0]
addss xmm2, dword [0x18007ac10]
mulss xmm1, dword [0x18007ac14]
addss xmm2, xmm0
maxss xmm1, xmm2
cvttss2si eax, xmm1
movd xmm7, eax
cvtdq2ps xmm7, xmm7
cmp byte [rbx + 0xcd], dil
jne 0x1800054f3
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.180018bb8
mov ecx, dword [rsp + 0x44]
mov edx, 1
test eax, eax
je 0x1800054fc
test dl, al
movzx ecx, cl
movzx r15d, r15b
cmovne ecx, edx
test al, 2
cmovne r15d, edx
jmp 0x1800054fc
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 0x180005685
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 0x180005570
movaps xmm2, xmm8
movaps xmm0, xmm8
jmp 0x18000558c
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 0x180005593
movaps xmm5, xmm3
test r15b, r15b
jne 0x18000559b
movaps xmm1, xmm4
bt r14d, 0xe
jb 0x1800055b2
comiss xmm0, xmm1
jbe 0x1800055ad
test r14b, 8
je 0x1800055b2
mov al, dil
jmp 0x1800055b4
mov al, dl
mov byte [rbx + 0xc9], al
bt r14d, 0xf
jb 0x1800055f0
test al, al
je 0x1800055cf
movss xmm3, dword [rsi + 0x399c]
jmp 0x1800055d3
movaps xmm3, xmm8
subss xmm5, xmm3
comiss xmm2, xmm5
jbe 0x1800055eb
mov eax, r14d
and eax, 0x808
cmp eax, 0x800
je 0x1800055f0
mov al, dil
jmp 0x1800055f2
mov al, dl
mov byte [rbx + 0xc8], al
test al, al
je 0x180005623
cmp byte [rbx + 0xc9], dil
jne 0x180005623
subss xmm1, dword [rsi + 0x399c]
comiss xmm0, xmm1
jbe 0x18000561a
mov al, dl
test r14b, 8
je 0x18000561d
mov al, dil
mov byte [rbx + 0xc9], al
cmp byte [rbx + 0xc8], dil
je 0x180005636
movss xmm1, dword [rsi + 0x399c]
jmp 0x18000563a
movaps xmm1, xmm8
cmp byte [rbx + 0xc9], dil
je 0x18000564d
movss xmm0, dword [rsi + 0x399c]
jmp 0x180005651
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 0x1800056ac
cmp dword [rsp + 0x50], 0x3000000
je 0x1800056ac
mov r15, qword [rsp + 0x68]
lea rax, [r15 + 0x250]
jmp 0x1800056b5
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 0x1800057dd
movss xmm1, dword [rdi + 0x64]
jmp 0x1800057e5
movss xmm1, dword [rsi + 0x3970]
movss xmm3, dword [0x18007abe8]
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 0x180005820
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm2
jp 0x18000581e
je 0x180005820
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 0x18000585d
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
jp 0x18000585b
je 0x18000585d
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 0x18000589b
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm2
jp 0x180005899
je 0x18000589b
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 0x1800058d9
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm2
jp 0x1800058d7
je 0x1800058d9
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 0x180005903
movss xmm1, dword [rbp + 0x24]
minss xmm1, xmm0
movss xmm2, dword [rdi + 0x220]
movss xmm0, dword [rbp + 0x18]
comiss xmm0, xmm2
ja 0x18000591e
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 0x180005949
movss xmm1, dword [rbp + 0x24]
minss xmm1, xmm0
movss xmm2, dword [rdi + 0x228]
movss xmm0, dword [rbp + 0x18]
comiss xmm0, xmm2
ja 0x180005964
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 0x180005996
test r14d, 0x2000040
jne 0x180005996
mulss xmm2, dword [0x18007abf0]
cvttss2si eax, xmm2
jmp 0x1800059aa
movss xmm0, dword [rsi + 0x3db8]
mulss xmm0, dword [0x18007ac40]
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.180006c80
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.180020ce8
xor r8d, r8d
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x18]
call fcn.180012c08
xor bl, bl
bt r14d, 0x18
jae 0x180005b58
bt r14d, 0x1a
jb 0x180005b58
cmp dword [rsp + 0x50], 0x3000000
je 0x180005b58
movsxd rax, dword [r15 + 0x1a8]
cmp eax, 2
jl 0x180005b1a
mov rcx, rax
mov rax, qword [r15 + 0x1b0]
mov rdx, qword [rax + rcx*8 - 0x10]
test rdx, rdx
je 0x180005b1a
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 0x180005b1a
comiss xmm1, dword [rdx + 0x2c]
jbe 0x180005b1a
comiss xmm2, dword [rdi + 0x28]
jbe 0x180005b1a
comiss xmm3, dword [rdx + 0x28]
jbe 0x180005b1a
mov r8d, 1
jmp 0x180005b1d
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 0x180005b5d
mov rax, qword [r15 + 0x2b0]
cmp dword [rax + 0x20], 0
je 0x180005b5d
test r8b, r8b
jne 0x180005b5d
mov bl, cl
mov qword [rdi + 0x2b0], rax
jmp 0x180005b5d
mov ecx, 1
mov rax, qword [rsi + 0x4db8]
test rax, rax
jne 0x180005b70
mov rax, qword [rsi + 0x4bd8]
test r13b, r13b
jne 0x180005b8f
test rax, rax
je 0x180005b8a
mov rax, qword [rax + 0x3a0]
cmp qword [rdi + 0x3a0], rax
je 0x180005b8f
xor r8b, r8b
jmp 0x180005b92
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.1800146f8
xor r12d, r12d
test bl, bl
je 0x180005bca
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 0x180005c24
jne 0x180005c24
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 0x180005c1c
movss xmm3, dword [rdi + 0x40]
jmp 0x180005c20
movaps xmm3, xmm8
maxss xmm3, xmm1
movss xmm2, dword [rdi + 0x54]
ucomiss xmm2, xmm8
jp 0x180005c64
jne 0x180005c64
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 0x180005c5c
movss xmm2, dword [rdi + 0x44]
jmp 0x180005c60
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 0x180005d60
jne 0x180005d60
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 0x180005d9d
jne 0x180005d9d
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 [0x18007abb0]
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.180035c3c
lea rcx, [rdi + 0x1a8]
mov qword [rdi + 0x1a0], r12
xor edx, edx
call fcn.18001aff8
lea rax, [rdi + 0x288]
mov qword [rdi + 0x1b8], rax
mov qword [rdi + 0x1c0], r12
mov dword [rdi + 0x1cc], ebx
test r15, r15
je 0x180005f81
mov eax, dword [r15 + 0x1cc]
jmp 0x180005f83
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.18001af68
lea rcx, [rdi + 0x1f0]
xor edx, edx
call fcn.18001af68
bt r14d, 0x1b
jae 0x180005fdb
mov rcx, qword [0x18009a670]
add rcx, 0x3d88
call fcn.180007d94
mov dword [rdi + 0x1d4], eax
mov al, byte [rdi + 0xe2]
test al, al
jle 0x180005fed
sub al, bl
mov byte [rdi + 0xe2], al
mov al, byte [rdi + 0xe3]
test al, al
jle 0x180005fff
sub al, bl
mov byte [rdi + 0xe3], al
test r13b, r13b
je 0x180006024
mov edx, 2
mov rcx, rdi
call fcn.18000a7b8
cmp rdi, qword [rsi + 0x4bd8]
jne 0x180006024
xor edx, edx
mov rcx, rdi
call fcn.18000e084
test bl, r14b
jne 0x18000606f
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.1800150b4
xor r13d, r13d
mov dword [rdi + 0x270], r13d
bt r14d, 0x19
jae 0x180006087
mov qword [rsi + 0x51f8], rdi
xor r8d, r8d
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 8]
call fcn.18000ca84
mov r8, qword [0x18009a670]
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 0x1800060f5
cmp dword [rdi + 0x10], eax
je 0x1800060f0
cmp dword [rdi + 0x8c], eax
jne 0x1800060f5
call fcn.180008468
mov ebx, dword [rsp + 0x54]
mov r12d, dword [rsp + 0x4c]
cmp byte [rdi + 0xd0], r13b
jne 0x180006120
lea rdx, [rdi + 0x228]
mov r8d, 1
lea rcx, [rdi + 0x220]
call fcn.180012c08
mov byte [rdi + 0xcc], r13b
mov edx, 1
add word [rdi + 0xd8], dx
mov dword [rsi + 0x4ac0], r13d
cmp r12d, ebx
je 0x180006373
cmp byte [rdi + 0xd0], r13b
jne 0x18000636d
bt r14d, 0x18
jae 0x1800062d9
bt r14d, 0x1c
jb 0x1800062d9
test dword [rdi + 0x18], 0x100
je 0x180006196
cmp byte [rsi + 0x4c34], r13b
je 0x180006196
mov rcx, qword [rsi + 0x4bd8]
test rcx, rcx
je 0x180006196
mov rax, qword [rdi + 0x3a8]
cmp qword [rcx + 0x3a8], rax
mov al, dl
je 0x180006199
mov al, r13b
cmp byte [rsi + 0x5358], r13b
jne 0x1800062a4
test al, al
jne 0x1800062a4
movss xmm0, dword [rdi + 0x200]
comiss xmm0, dword [rdi + 0x208]
jae 0x1800061d4
movss xmm0, dword [rdi + 0x204]
comiss xmm0, dword [rdi + 0x20c]
jb 0x1800062a4
cmp byte [rdi + 0xe2], r13b
jg 0x18000629e
cmp byte [rdi + 0xe3], r13b
jg 0x18000629e
mov byte [rdi + 0xec], dl
jmp 0x1800062a4
cmp byte [rdi + 0xd0], r13b
je 0x18000620a
mov rcx, rdi
call fcn.1800166ec
mov rcx, rdi
call fcn.180015d14
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.18000ca84
mov r8, qword [0x18009a670]
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 0x1800060fe
mov byte [rdi + 0xed], dl
test r15, r15
je 0x1800062d9
cmp byte [r15 + 0xcd], r13b
jne 0x1800062bb
cmp byte [r15 + 0xec], r13b
jle 0x1800062c1
mov byte [rdi + 0xec], dl
cmp byte [r15 + 0xcd], r13b
jne 0x1800062d3
cmp byte [r15 + 0xed], r13b
jle 0x1800062d9
mov byte [rdi + 0xed], dl
comiss xmm8, dword [rsi + 0x3928]
jb 0x1800062e9
mov byte [rdi + 0xec], dl
cmp byte [rdi + 0xec], r13b
jg 0x18000630c
cmp byte [rdi + 0xed], r13b
jg 0x18000630c
mov cl, r13b
cmp byte [rdi + 0xee], r13b
jg 0x18000630e
mov al, r13b
jmp 0x180006310
mov cl, dl
mov al, dl
mov byte [rdi + 0xd2], al
mov al, byte [rdi + 0xef]
test al, al
jle 0x18000632f
sub al, dl
mov byte [rdi + 0xef], al
or dword [rdi + 0x14], 0x30200
movzx eax, r13b
cmp byte [rdi + 0xcd], r13b
jne 0x180006349
cmp byte [rdi + 0xca], r13b
je 0x180006349
test cl, cl
je 0x180006365
cmp byte [rdi + 0xe2], r13b
jg 0x180006365
cmp byte [rdi + 0xe3], r13b
jg 0x180006365
cmp byte [rdi + 0xed], r13b
cmovle eax, edx
mov byte [rdi + 0xcf], al
jmp 0x180006373
mov byte [rdi + 0xcf], dl
cmp byte [rdi + 0xd3], r13b
jne 0x1800063cc
cmp byte [rsi + 0x82], r13b
je 0x18000638c
cmp qword [rsp + 0x60], r13
je 0x1800063a4
cmp byte [rsi + 0x83], r13b
je 0x1800063cc
movsx eax, byte [rsi + 0x5420]
cmp eax, dword [rsi + 0x4070]
jne 0x1800063cc
mov al, byte [rdi + 0xe2]
test al, al
jle 0x1800063b6
add al, dl
mov byte [rdi + 0xe2], al
mov al, byte [rdi + 0xe3]
test al, al
jle 0x1800063c8
add al, dl
mov byte [rdi + 0xe3], al
xor al, al
jmp 0x1800063d6
cmp byte [rdi + 0xcf], r13b
sete al
mov rcx, qword [rbp + 0x48]
xor rcx, rsp
call fcn.18004b080
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