Function at 0x18000c2a8
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 - 0xe8]
sub rsp, 0x1b0
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
movaps xmmword [rax - 0x98], xmm11
mov rax, qword [0x180090040]
xor rax, rsp
mov qword [rbp + 0x40], rax
mov rsi, qword [0x180092d60]
mov r14d, r8d
mov qword [rbp - 0x58], rdx
xor r8d, r8d
xor edx, edx
mov qword [rbp - 0x50], rcx
mov rbx, rcx
call fcn.180002a54
mov ecx, eax
call fcn.180009bf0
xor r12d, r12d
mov qword [rsp + 0x60], rax
test rax, rax
mov qword [rsp + 0x78], rax
mov rdi, rax
mov rcx, rax
sete dl
mov dword [rsp + 0x44], edx
test rax, rax
jne 0x18000c35a
mov edx, r14d
mov rcx, rbx
call fcn.180009ecc
mov edx, dword [rsp + 0x44]
mov rdi, rax
mov qword [rsp + 0x78], rax
mov rcx, rax
mov ecx, dword [rcx + 0x10]
cmp dword [rsi + 0x409c], ecx
jne 0x18000c366
int3
mov eax, 0x30200
mov ecx, r14d
and ecx, eax
cmp ecx, eax
jne 0x18000c378
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 0x18000c3ae
mov al, r15b
cmp byte [rsi + 0x3ff5], r12b
jne 0x18000c3b1
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 0x18000c3ff
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 0x18000c41f
or byte [rdi + 0xf0], cl
or byte [rdi + 0xf1], cl
or byte [rdi + 0xf2], cl
cmp r9d, r13d
je 0x18000c48c
mov r8d, r14d
mov rcx, rdi
call fcn.180009c98
mov dword [rdi + 0x14], r14d
test dword [rsi + 0x4ac0], 0x100
je 0x18000c447
mov eax, dword [rsi + 0x4af8]
jmp 0x18000c44a
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 0x18000c490
mov r14d, dword [rdi + 0x14]
cmp dword [rbx], r12d
jne 0x18000c49a
mov r15, r12
jmp 0x18000c4ad
movsxd rax, dword [rbx]
imul rcx, rax, 0x70
mov rax, qword [rsi + 0x4078]
mov r15, qword [rcx + rax - 0x70]
cmp r9d, r13d
je 0x18000c4c4
mov eax, r14d
and eax, 0x5000000
neg eax
sbb rax, rax
and rax, r15
jmp 0x18000c4cb
mov rax, qword [rdi + 0x380]
lea rcx, [rdi + 0x108]
mov qword [rsp + 0x58], rax
cmp dword [rcx], r12d
jne 0x18000c4e5
lea rdx, [rdi + 0x10]
call fcn.180019914
mov edx, dword [rbx]
mov rcx, rbx
inc edx
mov qword [rsi + 0x40a0], rdi
call fcn.1800196b0
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 0x18000c567
test dword [rsi + 0x4a30], 0x400
je 0x18000c567
mov r9d, 1
mov al, r9b
jmp 0x18000c571
xor r10d, r10d
mov al, r10b
lea r9d, [r10 + 1]
lea rcx, [r13 - 0x18]
mov byte [r12 + r13 - 2], al
add rcx, r12
call fcn.180011b28
mov qword [rsi + 0x53d8], rcx
bt r14d, 0x1c
jae 0x18000c597
add dword [rsi + 0x515c], r9d
mov ebx, dword [rsp + 0x4c]
mov edx, 0x1000000
cmp ebx, dword [rsp + 0x54]
je 0x18000c667
mov rcx, qword [rsp + 0x58]
mov qword [rdi + 0x380], rcx
mov qword [rdi + 0x3a8], rdi
mov qword [rdi + 0x3a0], rdi
mov qword [rdi + 0x398], rdi
mov qword [rdi + 0x390], rdi
test rcx, rcx
je 0x18000c624
mov eax, r14d
and eax, 0x3000000
cmp eax, edx
jne 0x18000c5f1
mov rax, qword [rcx + 0x390]
mov qword [rdi + 0x390], rax
bt r14d, 0x1a
jae 0x18000c606
mov rax, qword [rcx + 0x398]
mov qword [rdi + 0x398], rax
bt r14d, 0x1b
jb 0x18000c624
test r14d, 0x5000000
je 0x18000c624
mov rax, qword [rcx + 0x3a0]
mov qword [rdi + 0x3a0], rax
mov r8d, 0x100
test dword [rdi + 0x18], r8d
je 0x18000c64a
mov rcx, rdi
mov rax, qword [rcx + 0x380]
mov qword [rdi + 0x3a8], rax
mov rcx, rax
test dword [rax + 0x18], r8d
jne 0x18000c633
mov eax, r14d
mov qword [rdi + 0x388], r15
and eax, edx
neg eax
sbb rax, rax
and rax, r15
mov qword [rdi + 0x3b0], rax
jmp 0x18000c66d
mov r8d, 0x100
test dword [rdi + 0x18], r8d
je 0x18000c67b
mov ecx, dword [rsi + 0x4a2c]
jmp 0x18000c67e
mov ecx, dword [rdi + 0x10]
call fcn.18000f038
mov eax, dword [rsi + 0x4a2c]
mov dword [rdi + 0x3f8], eax
bt r14d, 0x1a
jae 0x18000c6cd
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.180019358
mov eax, dword [rbx]
mov ebx, dword [rsp + 0x4c]
mov dword [rdi + 0x94], eax
xor r11d, r11d
mov byte [rsp + 0x43], r11b
mov byte [rsp + 0x42], r11b
mov byte [rsp + 0x41], r11b
lea r9d, [r11 + 1]
test byte [rsi + 0x4ac0], r9b
je 0x18000c789
movsx eax, byte [rdi + 0xf0]
mov r8d, dword [rsi + 0x4ac4]
test r8d, eax
setne cl
mov byte [rsp + 0x43], cl
test r8d, eax
je 0x18000c774
movss xmm0, dword [rsi + 0x4adc]
movss xmm1, dword [rsi + 0x4ad8]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
comiss xmm1, dword [0x1800874ac]
jbe 0x18000c774
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 0x18000c789
lea rdx, [rsi + 0x4ad0]
mov rcx, rdi
call fcn.18000ed80
mov r9d, 1
mov eax, 2
xorps xmm8, xmm8
test byte [rsi + 0x4ac0], al
je 0x18000c834
movsx ecx, byte [rdi + 0xf1]
mov eax, ecx
and eax, dword [rsi + 0x4ac8]
je 0x18000c7c7
lea rdx, [rsi + 0x4ae0]
movss xmm0, dword [rdx]
comiss xmm0, xmm8
jbe 0x18000c7c7
mov byte [rsp + 0x42], r9b
jmp 0x18000c7d7
mov byte [rsp + 0x42], r11b
lea rdx, [rsi + 0x4ae0]
test eax, eax
je 0x18000c7ec
movss xmm0, dword [rsi + 0x4ae4]
comiss xmm0, xmm8
jbe 0x18000c7f1
mov byte [rsp + 0x41], r9b
jmp 0x18000c7f6
mov byte [rsp + 0x42], r11b
mov byte [rsp + 0x41], r11b
test byte [rdi + 0x18], 4
je 0x18000c80d
test cl, 4
jne 0x18000c80d
mov eax, dword [rdi + 0x38]
lea rdx, [rsi + 0x4ae0]
mov dword [rdx], eax
test byte [rdi + 0x18], 8
je 0x18000c825
test byte [rdi + 0xf1], 4
jne 0x18000c825
mov eax, dword [rdi + 0x3c]
mov dword [rsi + 0x4ae4], eax
mov r8d, dword [rsi + 0x4ac8]
mov rcx, rdi
call fcn.18000eed8
test byte [rsi + 0x4ac0], 0x80
je 0x18000c877
movss xmm0, dword [rsi + 0x4af0]
comiss xmm0, xmm8
jb 0x18000c85a
movss dword [rdi + 0xa8], xmm0
mov dword [rdi + 0xb0], r11d
movss xmm0, dword [rsi + 0x4af4]
comiss xmm0, xmm8
jb 0x18000c877
movss dword [rdi + 0xac], xmm0
mov dword [rdi + 0xb4], r11d
test byte [rsi + 0x4ac0], 4
mov r15d, dword [rsp + 0x54]
je 0x18000c894
movsd xmm0, qword [rsi + 0x4ae8]
movsd qword [rdi + 0x50], xmm0
jmp 0x18000c89d
cmp ebx, r15d
je 0x18000c89d
mov qword [rdi + 0x50], r11
test byte [rsi + 0x4ac0], 8
je 0x18000c8bb
mov dl, byte [rsi + 0x4afc]
mov rcx, rdi
mov r8d, dword [rsi + 0x4acc]
call fcn.18000eff4
test byte [rsi + 0x4ac0], 0x20
je 0x18000c8d1
xor edx, edx
mov rcx, rdi
call fcn.18000e804
xor r11d, r11d
cmp byte [rdi + 0xd1], r11b
je 0x18000c8ee
mov cl, 0xf7
and byte [rdi + 0xf0], cl
and byte [rdi + 0xf1], cl
and byte [rdi + 0xf2], cl
mov rbx, qword [0x180092d60]
mov byte [rdi + 0xd0], r11b
test dword [rbx + 0x4ac0], 0x200
je 0x18000c9c2
mov eax, dword [rbx + 0x4b2c]
mov ecx, 1
test cl, al
je 0x18000c9c2
cmp byte [rdi + 0xd1], r11b
jne 0x18000c9c2
cmp byte [rdi + 0xd2], r11b
jne 0x18000c9c2
lea edx, [rcx + 1]
test dl, al
je 0x18000c976
mov rax, qword [rbx + 0x40a8]
test rax, rax
je 0x18000c976
mov rax, qword [rax + 0x390]
cmp qword [rdi + 0x390], rax
je 0x18000c9c2
cmp qword [rax + 0x390], rdi
je 0x18000c9c2
cmp rax, rdi
je 0x18000c9c2
mov rax, qword [rax + 0x388]
test rax, rax
jne 0x18000c965
test byte [rbx + 0x4b2c], 4
je 0x18000c9b5
mov rax, qword [rbx + 0x4bd8]
test rax, rax
je 0x18000c9b5
mov rax, qword [rax + 0x390]
cmp qword [rdi + 0x390], rax
je 0x18000c9c2
cmp qword [rax + 0x390], rdi
je 0x18000c9c2
cmp rax, rdi
je 0x18000c9c2
mov rax, qword [rax + 0x388]
test rax, rax
jne 0x18000c9a4
mov qword [rdi + 0x2b0], r11
mov byte [rdi + 0xd0], cl
cmp byte [r12 + r13 - 2], r11b
je 0x18000ca0b
cmp qword [rdi + 0x390], rdi
jne 0x18000ca0b
mov eax, dword [rbx + 0x51e8]
lea rdx, [rbx + 0x4a30]
btr dword [rdx], 0xa
lea rcx, [rbx + 0x4b78]
mov dword [rbx + 0x3928], eax
call fcn.180019914
mov ecx, 1
add word [rbx + 0x51ec], cx
mov rbx, qword [0x180092d60]
xor r11d, r11d
mov r13d, dword [rsp + 0x4c]
mov qword [rsi + 0x40a0], r11
cmp r13d, r15d
je 0x18000e19a
cmp byte [rdi + 0xd0], r11b
jne 0x18000e1a3
mov eax, r14d
mov r13d, 1
and eax, 0x3000000
mov edx, r13d
cmp qword [rbp - 0x58], r11
mov dword [rsp + 0x50], eax
mov al, byte [rdi + 0xed]
mov byte [rdi + 0xca], r13b
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
mov rbx, qword [rsp + 0x78]
lea rcx, [rbx + 0x108]
call fcn.1800199b4
mov rcx, qword [rbx + 0x2b0]
call fcn.18001fc54
or dword [rbx + 0x1c8], 0xffffffff
xor r15d, r15d
cmp byte [rbx + 0x404], r15b
je 0x18000caba
mov rcx, rbx
call fcn.1800065cc
mov r9, qword [rsp + 0x60]
cmp qword [rsi + 0x4dc8], r15
je 0x18000cb5c
test dword [rbx + 0x14], 0x20000
jne 0x18000cb5c
test r9, r9
je 0x18000cb5c
mov r12, qword [rbp - 0x50]
mov r9, qword [rbx + 8]
mov rax, r12
mov r8, r9
sub r8, r12
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x18000cb02
add rax, r13
test ecx, ecx
jne 0x18000caef
test edx, edx
je 0x18000cb57
movsxd r15, dword [rbx + 0x88]
or rdi, 0xffffffffffffffff
xor r10d, r10d
inc rdi
cmp byte [r12 + rdi], r10b
jne 0x18000cb14
add rdi, r13
cmp r15, rdi
jae 0x18000cb3b
mov rcx, r9
call fcn.180006e50
mov rcx, rdi
call fcn.180006e0c
mov r9, rax
mov r15, rdi
mov r8, rdi
mov rdx, r12
mov rcx, r9
call fcn.180071db0
mov qword [rbx + 8], rax
mov dword [rbx + 0x88], r15d
xor r15d, r15d
mov r9, qword [rsp + 0x60]
lea r8, [rbx + 0x48]
mov rcx, rbx
lea rdx, [rbx + 0x40]
call fcn.18000a27c
mov al, byte [rbx + 0xec]
test al, al
jle 0x18000cb7f
sub al, r13b
mov byte [rbx + 0xec], al
mov al, byte [rbx + 0xed]
test al, al
jle 0x18000cb92
sub al, r13b
mov byte [rbx + 0xed], al
mov al, byte [rbx + 0xee]
test al, al
jle 0x18000cba5
sub al, r13b
mov byte [rbx + 0xee], al
mov dil, byte [rsp + 0x42]
test r9, r9
jne 0x18000cbc2
test dil, dil
je 0x18000cbbb
cmp byte [rsp + 0x41], r15b
jne 0x18000cbc2
mov byte [rbx + 0xed], r13b
cmp byte [rsp + 0x40], r15b
je 0x18000cc0a
test r14d, 0x6000000
je 0x18000cc0a
mov byte [rbx + 0xed], r13b
test r14b, 0x40
je 0x18000cc0a
test dil, dil
jne 0x18000cbec
mov dword [rbx + 0x38], r15d
mov dword [rbx + 0x30], r15d
mov r13b, byte [rsp + 0x41]
test r13b, r13b
jne 0x18000cbfe
mov dword [rbx + 0x3c], r15d
mov dword [rbx + 0x34], r15d
and qword [rbx + 0x48], 0
and qword [rbx + 0x40], 0
jmp 0x18000cc0f
mov r13b, byte [rsp + 0x41]
mov r11, qword [0x180092d60]
mov rax, qword [r11 + 0x4bd0]
mov r12, qword [rax]
mov qword [rbx + 0x20], r12
call fcn.1800064dc
mov ecx, 0x1000000
test ecx, r14d
je 0x18000cc3e
mov eax, dword [rsi + 0x3958]
mov dword [rbx + 0x64], eax
jmp 0x18000cc65
test r14d, 0x6000000
je 0x18000cc58
bt r14d, 0x1b
jb 0x18000cc58
movss xmm0, dword [rsi + 0x3960]
jmp 0x18000cc60
movss xmm0, dword [rsi + 0x393c]
movss dword [rbx + 0x64], xmm0
movsd xmm0, qword [rsi + 0x3930]
mov eax, r14d
and eax, 0x5000000
movsd qword [rbx + 0x58], xmm0
cmp eax, ecx
jne 0x18000ccb3
mov eax, 2
test byte [rbx + 0x18], al
jne 0x18000ccb3
movss xmm0, dword [rbx + 0x64]
ucomiss xmm0, xmm8
jp 0x18000ccb3
jne 0x18000ccb3
bt r14d, 0xa
jae 0x18000cca6
movss xmm0, dword [rsi + 0x3934]
jmp 0x18000ccaa
movaps xmm0, xmm8
mov dword [rbx + 0x58], r15d
movss dword [rbx + 0x5c], xmm0
movss xmm0, dword [rbx + 0x58]
mov edx, 1
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 dl, r14b
je 0x18000ccec
movaps xmm0, xmm8
jmp 0x18000cd00
movss xmm0, dword [rsi + 0x3968]
addss xmm0, xmm0
addss xmm0, dword [rsi + 0x3db8]
movss dword [rbx + 0x68], xmm0
bt r14d, 0xa
jae 0x18000cd2e
movss xmm0, dword [rsi + 0x3968]
movss xmm1, dword [rsi + 0x3db8]
addss xmm0, xmm0
addss xmm1, dword [rbx + 0x180]
addss xmm1, xmm0
jmp 0x18000cd32
movaps xmm1, xmm8
mov eax, dword [rsp + 0x44]
xor r10d, r10d
movss dword [rbx + 0x6c], xmm1
mov r15b, al
test dil, dil
je 0x18000cd59
movss xmm0, dword [rbx + 0x50]
ucomiss xmm0, xmm8
jp 0x18000cd53
je 0x18000cd59
mov al, dl
mov dword [rsp + 0x44], eax
test r13b, r13b
je 0x18000cd6e
movss xmm0, dword [rbx + 0x54]
ucomiss xmm0, xmm8
jp 0x18000cd6b
je 0x18000cd6e
mov r15b, dl
test r14b, 0x21
jne 0x18000ce45
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 - 0x48], xmm0
movss xmm0, dword [rbx + 0x2c]
movss dword [rbp - 0x44], xmm0
movss dword [rbp - 0x40], xmm2
movss dword [rbp - 0x3c], xmm1
cmp qword [rsi + 0x40a8], rbx
jne 0x18000ce01
cmp dword [rsi + 0x40fc], r10d
jne 0x18000ce01
cmp dword [rsi + 0x4100], r10d
jne 0x18000ce01
cmp dword [rsi + 0x4114], r10d
jne 0x18000ce01
mov r8b, dl
lea rcx, [rbp - 0x48]
lea rdx, [rbp - 0x40]
call fcn.18000ffbc
mov edx, 1
test al, al
je 0x18000ce01
lea eax, [rdx + 1]
cmp word [rsi + 0x2b0a], ax
jne 0x18000ce01
cmp dword [r11 + 0x4840], 0xffffffff
jne 0x18000ce01
mov byte [rbx + 0xce], dl
cmp byte [rbx + 0xce], r10b
je 0x18000ce4c
mov cl, byte [rbx + 0xcd]
test cl, cl
movzx r15d, r15b
sete al
test cl, cl
mov byte [rbx + 0xcd], al
cmovne r15d, edx
test dword [rbx + 0x14], 0x100
jne 0x18000ce4c
comiss xmm8, dword [r11 + 0x52ac]
jb 0x18000ce4c
mov eax, dword [r11 + 0x1c]
mov dword [r11 + 0x52ac], eax
jmp 0x18000ce4c
mov byte [rbx + 0xcd], r10b
mov byte [rbx + 0xce], r10b
lea r8, [rbx + 0x48]
movss xmm9, dword [rbx + 0xc0]
lea rcx, [rbp]
movss xmm10, dword [rbx + 0xc4]
mov rdx, rbx
mov dword [rbx + 0x70], r10d
mov qword [rbx + 0x78], r10
movss xmm0, dword [rbx + 0x6c]
addss xmm0, dword [rbx + 0x68]
movss dword [rbx + 0x74], xmm0
mov qword [rbx + 0xc0], r10
call fcn.18000a388
xor ecx, ecx
test r14b, 0x40
je 0x18000ced6
cmp byte [rbx + 0xcd], cl
jne 0x18000ced6
lea edx, [rcx + 1]
test dil, dil
jne 0x18000cebb
movss xmm0, dword [rbp]
mov al, dl
movss dword [rbx + 0x38], xmm0
mov dword [rsp + 0x44], eax
test r13b, r13b
jne 0x18000cf7e
movss xmm0, dword [rbp + 4]
mov r15b, dl
movss dword [rbx + 0x3c], xmm0
jmp 0x18000cf7e
mov al, byte [rbx + 0xe2]
test al, al
jg 0x18000ceec
cmp byte [rbx + 0xe3], cl
jle 0x18000cf7e
test dil, dil
jne 0x18000cf20
test al, al
jle 0x18000cf20
cmp byte [rbx + 0xe4], cl
je 0x18000cf09
movss xmm0, dword [rbx + 0x38]
maxss xmm0, dword [rbp]
jmp 0x18000cf0e
movss xmm0, dword [rbp]
mov edx, 1
movss dword [rbx + 0x38], xmm0
mov al, dl
mov dword [rsp + 0x44], eax
jmp 0x18000cf25
mov edx, 1
test r13b, r13b
jne 0x18000cf53
cmp byte [rbx + 0xe3], cl
jle 0x18000cf53
cmp byte [rbx + 0xe4], cl
je 0x18000cf46
movss xmm0, dword [rbx + 0x3c]
maxss xmm0, dword [rbp + 4]
jmp 0x18000cf4b
movss xmm0, dword [rbp + 4]
movss dword [rbx + 0x3c], xmm0
mov r15b, dl
cmp byte [rbx + 0xcd], cl
jne 0x18000cf7e
test dword [rbx + 0x14], 0x100
mov rcx, qword [0x180092d60]
jne 0x18000cf7e
comiss xmm8, dword [rcx + 0x52ac]
jb 0x18000cf7e
mov eax, dword [rcx + 0x1c]
mov dword [rcx + 0x52ac], eax
lea rdi, [rbx + 0x38]
mov rdx, rbx
mov r8, rdi
lea rcx, [rbp - 0x28]
call fcn.18000a140
xor edx, edx
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rdi], xmm0
movss dword [rdi + 4], xmm1
cmp byte [rbx + 0xcd], dl
je 0x18000cfd3
bt r14d, 0x18
jb 0x18000cfd3
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 0x18000cfe5
unpcklps xmm0, xmm1
movsd qword [rbp - 0x80], xmm0
movss xmm1, dword [rbp - 0x7c]
movss xmm0, dword [rbp - 0x80]
mov dil, byte [rsp + 0x40]
mov r13b, byte [rsp + 0x43]
movss dword [rbx + 0x30], xmm0
movss dword [rbx + 0x34], xmm1
test dil, dil
je 0x18000d041
or dword [rbx + 0xe8], 0xffffffff
mov eax, r14d
and eax, 0xc000000
cmp eax, 0x4000000
jne 0x18000d041
test r13b, r13b
jne 0x18000d041
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 0x18000d0f7
mov rdi, qword [rsp + 0x58]
lea rdx, [rsp + 0x78]
lea rcx, [rdi + 0x1a8]
movzx eax, word [rcx]
mov word [rbx + 0xdc], ax
call fcn.1800194a8
mov eax, dword [rsp + 0x50]
xor edx, edx
bt r14d, 0x1a
jb 0x18000d092
test r13b, r13b
jne 0x18000d092
cmp eax, 0x3000000
je 0x18000d092
movsd xmm0, qword [rdi + 0x118]
movsd qword [rbx + 0x28], xmm0
mov dil, byte [rsp + 0x40]
movss xmm1, dword [rbx + 0xf4]
ucomiss xmm1, dword [0x1800875f8]
jp 0x18000d0aa
je 0x18000d0fd
cmp byte [rbx + 0xed], dl
jne 0x18000d0fd
movss xmm0, dword [rbx + 0x30]
lea rdx, [rbp - 0x60]
mulss xmm0, dword [rbx + 0xfc]
xor r8d, r8d
mov rcx, rbx
subss xmm1, xmm0
movss xmm0, dword [rbx + 0xf8]
movss dword [rbp - 0x60], xmm1
movss xmm1, dword [rbx + 0x34]
mulss xmm1, dword [rbx + 0x100]
subss xmm0, xmm1
movss dword [rbp - 0x5c], xmm0
call fcn.18000ed80
jmp 0x18000d154
mov eax, dword [rsp + 0x50]
jmp 0x18000d097
bt r14d, 0x1c
jae 0x18000d10a
lea rcx, [rbp - 0x20]
jmp 0x18000d139
bt r14d, 0x1a
jae 0x18000d122
test r13b, r13b
jne 0x18000d122
cmp byte [rsp + 0x48], dl
jle 0x18000d122
lea rcx, [rbp - 0x18]
jmp 0x18000d139
bt r14d, 0x19
jae 0x18000d154
test r13b, r13b
jne 0x18000d154
cmp eax, 0x3000000
je 0x18000d154
lea rcx, [rbp - 0x10]
mov rdx, rbx
call fcn.180013d88
movss xmm0, dword [rax]
movss xmm1, dword [rax + 4]
movss dword [rbx + 0x28], xmm0
movss dword [rbx + 0x2c], xmm1
movss xmm6, dword [r12 + 8]
xor edx, edx
movss xmm7, dword [r12 + 0xc]
movaps xmm3, xmm6
movss xmm5, dword [r12 + 0x18]
movaps xmm2, xmm7
movss xmm4, dword [r12 + 0x1c]
movss xmm1, dword [rsi + 0x39fc]
movss xmm0, dword [rsi + 0x39f8]
movss dword [rbp + 0x20], xmm6
movss dword [rbp + 0x24], xmm7
addss xmm5, dword [r12 + 0x20]
addss xmm4, dword [r12 + 0x24]
addss xmm3, dword [r12 + 0x10]
addss xmm2, dword [r12 + 0x14]
maxss xmm1, dword [rsi + 0x3a04]
maxss xmm0, dword [rsi + 0x3a00]
movss dword [rbp + 0x28], xmm3
movss dword [rbp + 0x2c], xmm2
subss xmm4, xmm1
subss xmm5, xmm0
addss xmm0, dword [r12 + 0x18]
addss xmm1, dword [r12 + 0x1c]
movss dword [rbp + 0x1c], xmm4
movss dword [rbp + 0x18], xmm5
movss dword [rbp + 0x10], xmm0
movss dword [rbp + 0x14], xmm1
test r13b, r13b
jne 0x18000d25f
bt r14d, 0x18
jb 0x18000d25f
subss xmm3, xmm6
comiss xmm3, xmm8
jbe 0x18000d25f
subss xmm2, xmm7
comiss xmm2, xmm8
jbe 0x18000d25f
mov rax, qword [0x180092d60]
movss xmm2, dword [rbx + 0x34]
cmp byte [rax + 0x60], dl
je 0x18000d230
lea ecx, [rdx + 1]
test byte [rbx + 0x14], cl
jne 0x18000d230
movss xmm2, dword [rbx + 0x68]
subss xmm0, dword [rbx + 0x30]
subss xmm1, xmm2
comiss xmm1, dword [rbx + 0x2c]
ja 0x18000d247
movaps xmm1, xmm4
minss xmm1, dword [rbx + 0x2c]
comiss xmm0, dword [rbx + 0x28]
ja 0x18000d255
movaps xmm0, xmm5
minss xmm0, dword [rbx + 0x28]
movss dword [rbx + 0x28], xmm0
movss dword [rbx + 0x2c], xmm1
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 0x18000d292
movss xmm0, dword [rsi + 0x3954]
jmp 0x18000d2b3
mov eax, r14d
and eax, 0xc000000
cmp eax, 0x4000000
jne 0x18000d2ab
movss xmm0, dword [rsi + 0x395c]
jmp 0x18000d2b3
movss xmm0, dword [rsi + 0x3938]
test dil, dil
movss dword [rbx + 0x60], xmm0
mov edi, 1
movzx r13d, dl
je 0x18000d2e4
bt r14d, 0xc
jb 0x18000d2e4
bt r14d, 0x1a
jae 0x18000d2d9
mov r13b, dil
jmp 0x18000d2e4
test r14d, 0x3000000
cmove r13d, edi
or dword [rbp + 8], 0xffffffff
mov eax, r14d
or dword [rbp + 0xc], 0xffffffff
and eax, 0x5000000
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
cmp eax, 0x1000000
jne 0x18000d307
mov r12d, edx
jmp 0x18000d315
mov al, byte [rsi + 0x5f]
neg al
sbb r12d, r12d
neg r12d
add r12d, edi
movss xmm1, dword [rsi + 0x3db8]
movaps xmm2, xmm1
movss xmm0, dword [rbx + 0x60]
addss xmm0, dword [0x180087534]
mulss xmm1, dword [0x1800874dc]
mulss xmm2, dword [0x180087538]
addss xmm0, xmm1
maxss xmm2, xmm0
cvttss2si eax, xmm2
movd xmm11, eax
cvtdq2ps xmm11, xmm11
cmp byte [rbx + 0xcd], dl
jne 0x18000d3a4
lea rax, [rbp + 0x10]
mov rcx, rbx
mov qword [rsp + 0x30], rax
lea r9, [rbp + 0xc]
lea rax, [rbp + 0x30]
mov qword [rsp + 0x28], rax
lea r8, [rbp + 8]
lea rdx, [rbp]
mov dword [rsp + 0x20], r12d
call fcn.18000a7b0
mov ecx, dword [rsp + 0x44]
xor edx, edx
test eax, eax
je 0x18000d3a8
test dil, al
movzx ecx, cl
movzx r15d, r15b
cmovne ecx, edi
test al, 2
cmovne r15d, edi
jmp 0x18000d3a8
mov ecx, dword [rsp + 0x44]
mov al, byte [rbp + 8]
mov byte [rbx + 0xd6], al
mov al, byte [rbp + 0xc]
mov byte [rbx + 0xd7], al
cmp byte [rbx + 0xcd], dl
jne 0x18000d52b
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], rdx
jne 0x18000d419
movaps xmm2, xmm8
movaps xmm0, xmm8
jmp 0x18000d435
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 0x18000d43c
movaps xmm5, xmm3
test r15b, r15b
jne 0x18000d444
movaps xmm1, xmm4
bt r14d, 0xe
jb 0x18000d45a
comiss xmm0, xmm1
jbe 0x18000d456
test r14b, 8
je 0x18000d45a
mov al, dl
jmp 0x18000d45d
mov al, dil
mov byte [rbx + 0xc9], al
bt r14d, 0xf
jb 0x18000d498
test al, al
je 0x18000d478
movss xmm3, dword [rsi + 0x399c]
jmp 0x18000d47c
movaps xmm3, xmm8
subss xmm5, xmm3
comiss xmm2, xmm5
jbe 0x18000d494
mov eax, r14d
and eax, 0x808
cmp eax, 0x800
je 0x18000d498
mov al, dl
jmp 0x18000d49b
mov al, dil
mov byte [rbx + 0xc8], al
test al, al
je 0x18000d4cb
cmp byte [rbx + 0xc9], dl
jne 0x18000d4cb
subss xmm1, dword [rsi + 0x399c]
comiss xmm0, xmm1
jbe 0x18000d4c3
mov al, dil
test r14b, 8
je 0x18000d4c5
mov al, dl
mov byte [rbx + 0xc9], al
cmp byte [rbx + 0xc8], dl
je 0x18000d4dd
movss xmm1, dword [rsi + 0x399c]
jmp 0x18000d4e1
movaps xmm1, xmm8
cmp byte [rbx + 0xc9], dl
je 0x18000d4f3
movss xmm0, dword [rsi + 0x399c]
jmp 0x18000d4f7
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 0x18000d552
cmp dword [rsp + 0x50], 0x3000000
je 0x18000d552
mov r15, qword [rsp + 0x58]
lea rax, [r15 + 0x250]
jmp 0x18000d55b
mov r15, qword [rsp + 0x58]
lea rax, [rbp + 0x20]
movss xmm5, dword [rbx + 0x28]
mov ecx, 1
movss xmm6, dword [rbx + 0x2c]
movaps xmm1, xmm5
addss xmm1, dword [rbx + 0x38]
movups xmm0, xmmword [rax]
mov eax, r14d
movss xmm4, dword [rbx + 0x34]
movaps xmm2, xmm6
addss xmm2, dword [rbx + 0x68]
movdqu xmmword [rbp - 0x80], xmm0
and eax, 0x401
movss dword [rsp + 0x68], xmm5
addss xmm4, xmm6
movaps xmm0, xmm6
movss dword [rsp + 0x6c], xmm0
unpcklps xmm1, xmm2
movsd qword [rsp + 0x70], xmm1
movss dword [rbx + 0x200], xmm5
movss dword [rbx + 0x204], xmm6
addss xmm5, dword [rbx + 0x30]
movss dword [rbx + 0x208], xmm5
movss dword [rbx + 0x20c], xmm4
mov rdi, qword [rsp + 0x78]
movss xmm4, dword [rbp - 0x80]
movss xmm5, dword [rbp - 0x7c]
movss xmm7, dword [rbp - 0x78]
movss xmm1, dword [rdi + 0x200]
movss xmm0, dword [rdi + 0x204]
maxss xmm1, xmm4
movss xmm6, dword [rbp - 0x74]
maxss xmm0, xmm5
movss dword [rdi + 0x200], xmm1
movss dword [rdi + 0x204], xmm0
movss xmm1, dword [rdi + 0x208]
movss xmm0, dword [rdi + 0x20c]
minss xmm1, xmm7
minss xmm0, xmm6
movss dword [rdi + 0x208], xmm1
movss dword [rdi + 0x20c], xmm0
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, ecx
jne 0x18000d696
movss xmm1, dword [rdi + 0x64]
jmp 0x18000d69e
movss xmm1, dword [rsi + 0x3970]
movss xmm3, dword [0x1800874fc]
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 0x18000d6d9
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm2
jp 0x18000d6d7
je 0x18000d6d9
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 0x18000d716
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
jp 0x18000d714
je 0x18000d716
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 0x18000d754
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm2
jp 0x18000d752
je 0x18000d754
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 0x18000d792
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm2
jp 0x18000d790
je 0x18000d792
dec eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rdi + 0x22c], xmm0
movss xmm0, dword [rdi + 0x224]
comiss xmm5, xmm0
jbe 0x18000d7b3
movaps xmm1, xmm5
jmp 0x18000d7ba
movaps xmm1, xmm6
minss xmm1, xmm0
movss xmm2, dword [rdi + 0x220]
comiss xmm4, xmm2
jbe 0x18000d7cc
movaps xmm0, xmm4
jmp 0x18000d7d3
movaps xmm0, xmm7
minss xmm0, xmm2
movss dword [rdi + 0x220], xmm0
movss dword [rdi + 0x224], xmm1
movss xmm0, dword [rdi + 0x22c]
comiss xmm5, xmm0
ja 0x18000d7f7
movaps xmm5, xmm6
minss xmm5, xmm0
movss xmm0, dword [rdi + 0x228]
comiss xmm4, xmm0
ja 0x18000d80b
movaps xmm4, xmm7
minss xmm4, xmm0
movss dword [rdi + 0x228], xmm4
movss dword [rdi + 0x22c], xmm5
movss xmm0, dword [rdi + 0x30]
comiss xmm0, xmm8
jbe 0x18000d839
test r14d, 0x2000040
jne 0x18000d839
mulss xmm0, dword [0x180087504]
jmp 0x18000d849
movss xmm0, dword [rsi + 0x3db8]
mulss xmm0, dword [0x1800875a0]
cvttss2si eax, xmm0
mov rdx, rdi
lea rcx, [rbp - 8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
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.180012c10
xor r10d, r10d
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
mov rcx, qword [rdi + 0x2b0]
mov qword [rdi + 0x80], r10
mov rax, qword [rsi + 0x3db0]
mov rdx, qword [rax + 0x40]
mov rdx, qword [rdx + 8]
call fcn.180020260
xor r8d, r8d
lea rdx, [rbp - 0x78]
lea rcx, [rbp - 0x80]
call fcn.180008ab8
xor r9d, r9d
mov eax, r14d
and eax, 0x5000000
mov bl, r9b
cmp eax, 0x1000000
jne 0x18000d9fc
cmp dword [rsp + 0x50], 0x3000000
je 0x18000d9fc
movsxd rax, dword [r15 + 0x1a8]
lea ecx, [r9 + 2]
cmp eax, ecx
jl 0x18000d9bb
mov rcx, rax
mov rax, qword [r15 + 0x1b0]
mov rdx, qword [rax + rcx*8 - 0x10]
test rdx, rdx
je 0x18000d9bb
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 0x18000d9bb
comiss xmm1, dword [rdx + 0x2c]
jbe 0x18000d9bb
comiss xmm2, dword [rdi + 0x28]
jbe 0x18000d9bb
comiss xmm3, dword [rdx + 0x28]
jbe 0x18000d9bb
lea r8d, [r9 + 1]
jmp 0x18000d9be
mov r8b, r9b
mov rdx, qword [rdi + 0x2b0]
movsxd rax, dword [rdx]
imul rcx, rax, 0x38
mov rax, qword [rdx + 8]
cmp dword [rcx + rax - 0x18], r9d
mov ecx, 1
jne 0x18000da01
mov rax, qword [r15 + 0x2b0]
xor r15d, r15d
cmp dword [rax + 0x20], r15d
je 0x18000da04
test r8b, r8b
jne 0x18000da04
mov bl, cl
mov qword [rdi + 0x2b0], rax
jmp 0x18000da04
mov ecx, 1
xor r15d, r15d
mov rax, qword [rsi + 0x4db8]
test rax, rax
jne 0x18000da17
mov rax, qword [rsi + 0x4bd8]
test r13b, r13b
jne 0x18000da36
test rax, rax
je 0x18000da31
mov rax, qword [rax + 0x3a0]
cmp qword [rdi + 0x3a0], rax
je 0x18000da36
mov r8b, r15b
jmp 0x18000da39
mov r8b, cl
movss dword [rsp + 0x30], xmm11
lea rax, [rbp + 0x30]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x68]
mov rcx, rdi
mov dword [rsp + 0x20], r12d
call fcn.18000b894
test bl, bl
je 0x18000da6d
lea rax, [rdi + 0x2b8]
mov qword [rdi + 0x2b0], rax
movss xmm3, dword [rdi + 0x50]
mov ecx, r14d
shr ecx, 3
mov r12d, 1
not cl
and cl, r12b
ucomiss xmm3, xmm8
jp 0x18000dac9
jne 0x18000dac9
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 0x18000dac1
movss xmm3, dword [rdi + 0x40]
jmp 0x18000dac5
movaps xmm3, xmm8
maxss xmm3, xmm1
movss xmm2, dword [rdi + 0x54]
ucomiss xmm2, xmm8
jp 0x18000db09
jne 0x18000db09
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 0x18000db01
movss xmm2, dword [rdi + 0x44]
jmp 0x18000db05
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 0x18000dc05
jne 0x18000dc05
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 0x18000dc42
jne 0x18000dc42
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]
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
and qword [rdi + 0x160], 0
movss xmm2, dword [rdi + 0x58]
movss xmm0, dword [rdi + 0x28]
movss xmm1, dword [rdi + 0x98]
movss xmm3, dword [rdi + 0x5c]
cvtps2pd xmm0, xmm0
cvtps2pd xmm2, xmm2
cvtps2pd xmm1, xmm1
addsd xmm2, xmm0
movss xmm0, dword [rdi + 0x70]
cvtps2pd xmm0, xmm0
subsd xmm2, xmm1
movss xmm1, dword [rdi + 0x9c]
cvtps2pd xmm3, xmm3
addsd xmm2, xmm0
movss xmm0, dword [rdi + 0x2c]
cvtps2pd xmm0, xmm0
addsd xmm2, qword [0x1800874a0]
addsd xmm3, xmm0
movss xmm0, dword [rdi + 0x74]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
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
and qword [rdi + 0x148], 0
and qword [rdi + 0x140], 0
and qword [rdi + 0x150], 0
and word [rdi + 0x158], 0
mov dword [rdi + 0x170], r15d
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], r15b
movss xmm0, dword [rsi + 0x3974]
cmp byte [rsp + 0x40], r15b
je 0x18000ddef
xor eax, eax
mov qword [rcx + 0x12], rax
cvttss2si eax, xmm0
mov dl, r12b
mov word [rcx + 8], ax
call fcn.18003272c
xor eax, eax
mov qword [rcx + 0x12], rax
mov eax, dword [rcx + 4]
mov dword [rcx], eax
mov dword [rcx + 4], r15d
lea rcx, [rdi + 0x1a8]
and qword [rdi + 0x1a0], 0
call fcn.180019740
lea rax, [rdi + 0x288]
mov qword [rdi + 0x1b8], rax
mov qword [rdi + 0x1c0], r15
mov dword [rdi + 0x1cc], r12d
mov r12, qword [rsp + 0x58]
test r12, r12
je 0x18000de52
mov eax, dword [r12 + 0x1cc]
jmp 0x18000de57
mov eax, 1
mov dword [rdi + 0x1d0], eax
mov eax, dword [rdi + 0x280]
mov dword [rdi + 0x1d8], eax
mov dword [rdi + 0x1dc], 0xbf800000
mov ecx, dword [rdi + 0x1e4]
test ecx, ecx
jns 0x18000dedc
mov eax, ecx
mov ebx, r15d
cdq
sub eax, edx
sar eax, 1
add eax, ecx
test eax, eax
cmovg ebx, eax
cmp ebx, ecx
jle 0x18000dedc
movsxd rcx, ebx
shl rcx, 2
call fcn.180006e0c
mov rdx, qword [rdi + 0x1e8]
mov r15, rax
test rdx, rdx
je 0x18000decc
movsxd r8, dword [rdi + 0x1e0]
mov rcx, rax
shl r8, 2
call fcn.180071db0
mov rcx, qword [rdi + 0x1e8]
call fcn.180006e50
mov qword [rdi + 0x1e8], r15
xor r15d, r15d
mov dword [rdi + 0x1e4], ebx
mov dword [rdi + 0x1e0], r15d
mov ecx, dword [rdi + 0x1f4]
test ecx, ecx
jns 0x18000df4c
mov eax, ecx
mov ebx, r15d
cdq
sub eax, edx
sar eax, 1
add eax, ecx
test eax, eax
cmovg ebx, eax
cmp ebx, ecx
jle 0x18000df4c
movsxd rcx, ebx
shl rcx, 2
call fcn.180006e0c
mov rdx, qword [rdi + 0x1f8]
mov r15, rax
test rdx, rdx
je 0x18000df3c
movsxd r8, dword [rdi + 0x1f0]
mov rcx, rax
shl r8, 2
call fcn.180071db0
mov rcx, qword [rdi + 0x1f8]
call fcn.180006e50
mov qword [rdi + 0x1f8], r15
xor r15d, r15d
mov dword [rdi + 0x1f4], ebx
mov dword [rdi + 0x1f0], r15d
bt r14d, 0x1b
jae 0x18000df73
mov rcx, qword [0x180092d60]
add rcx, 0x3d88
call fcn.180002ef0
mov dword [rdi + 0x1d4], eax
mov al, byte [rdi + 0xe2]
mov ebx, 1
test al, al
jle 0x18000df8a
sub al, bl
mov byte [rdi + 0xe2], al
mov al, byte [rdi + 0xe3]
test al, al
jle 0x18000df9c
sub al, bl
mov byte [rdi + 0xe3], al
test r13b, r13b
je 0x18000dfc1
mov edx, 2
mov rcx, rdi
call fcn.18000e804
cmp rdi, qword [rsi + 0x4bd8]
jne 0x18000dfc1
xor edx, edx
mov rcx, rdi
call fcn.180014e80
test bl, r14b
jne 0x18000e010
movss xmm0, dword [rsp + 0x68]
lea rdx, [rbp - 0x38]
addss xmm0, dword [rdi + 0x64]
movss xmm1, dword [rsp + 0x70]
mov rcx, rdi
subss xmm1, dword [rdi + 0x64]
mov r9, qword [rbp - 0x58]
mov r8, qword [rbp - 0x50]
movss dword [rbp - 0x38], xmm0
movss xmm0, dword [rsp + 0x6c]
movss dword [rbp - 0x34], xmm0
movss xmm0, dword [rsp + 0x74]
movss dword [rbp - 0x2c], xmm0
movss dword [rbp - 0x30], xmm1
call fcn.18000be2c
xor r11d, r11d
mov dword [rdi + 0x270], r11d
bt r14d, 0x19
jae 0x18000e028
mov qword [rsi + 0x51f8], rdi
xor r8d, r8d
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x68]
call fcn.18000ffbc
mov r8, qword [0x180092d60]
movups xmm0, xmmword [rsp + 0x68]
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
movdqu xmmword [r8 + 0x4a8c], xmm0
movdqu xmmword [r8 + 0x4a7c], xmm0
mov eax, dword [rsi + 0x4a34]
test eax, eax
je 0x18000e09c
cmp dword [rdi + 0x10], eax
je 0x18000e094
cmp dword [rdi + 0x8c], eax
jne 0x18000e09c
call fcn.180018d34
xor r11d, r11d
mov r15d, dword [rsp + 0x54]
mov r13d, dword [rsp + 0x4c]
cmp byte [rdi + 0xd0], r11b
jne 0x18000e0c8
lea rdx, [rdi + 0x228]
mov r8b, bl
lea rcx, [rdi + 0x220]
call fcn.180008ab8
xor r11d, r11d
mov byte [rdi + 0xcc], r11b
add word [rdi + 0xd8], bx
mov dword [rsi + 0x4ac0], r11d
cmp r13d, r15d
je 0x18000e30f
cmp byte [rdi + 0xd0], r11b
jne 0x18000e309
and r14d, 0x11000000
cmp r14d, 0x1000000
jne 0x18000e275
test dword [rdi + 0x18], 0x100
je 0x18000e137
cmp byte [rsi + 0x4c34], r11b
je 0x18000e137
mov rcx, qword [rsi + 0x4bd8]
test rcx, rcx
je 0x18000e137
mov rax, qword [rdi + 0x3a8]
cmp qword [rcx + 0x3a8], rax
mov al, bl
je 0x18000e13a
mov al, r11b
cmp byte [rsi + 0x5358], r11b
jne 0x18000e23c
test al, al
jne 0x18000e23c
movss xmm0, dword [rdi + 0x200]
comiss xmm0, dword [rdi + 0x208]
jae 0x18000e175
movss xmm0, dword [rdi + 0x204]
comiss xmm0, dword [rdi + 0x20c]
jb 0x18000e23c
cmp byte [rdi + 0xe2], r11b
jg 0x18000e236
cmp byte [rdi + 0xe3], r11b
jg 0x18000e236
mov byte [rdi + 0xec], bl
jmp 0x18000e23c
cmp byte [rdi + 0xd0], r11b
je 0x18000e1ab
mov rcx, rdi
call fcn.18000c250
mov rcx, rdi
call fcn.1800064dc
movss xmm1, dword [rdi + 0x28]
lea rdx, [rbp - 0x68]
movss xmm2, dword [rdi + 0x68]
lea rcx, [rbp - 0x70]
addss xmm2, dword [rdi + 0x2c]
movss xmm0, dword [rdi + 0x2c]
movaps xmm3, xmm1
addss xmm3, dword [rdi + 0x38]
xor r8d, r8d
movss dword [rbp - 0x70], xmm1
movss dword [rbp - 0x6c], xmm0
movss dword [rbp - 0x64], xmm2
movss dword [rbp - 0x68], xmm3
call fcn.18000ffbc
mov ecx, dword [rbx + 0x4a30]
movups xmm0, xmmword [rbp - 0x70]
mov r12, qword [rsp + 0x58]
movzx edx, al
mov eax, dword [rdi + 0x8c]
movdqu xmmword [rbx + 0x4a8c], xmm0
mov dword [rbx + 0x4a70], eax
movdqu xmmword [rbx + 0x4a7c], xmm0
mov dword [rbx + 0x4a74], ecx
mov dword [rbx + 0x4a78], edx
lea ebx, [r8 + 1]
jmp 0x18000e0a6
mov byte [rdi + 0xed], bl
test r12, r12
je 0x18000e275
cmp byte [r12 + 0xcd], r11b
jne 0x18000e255
cmp byte [r12 + 0xec], r11b
jle 0x18000e25b
mov byte [rdi + 0xec], bl
cmp byte [r12 + 0xcd], r11b
jne 0x18000e26f
cmp byte [r12 + 0xed], r11b
jle 0x18000e275
mov byte [rdi + 0xed], bl
comiss xmm8, dword [rsi + 0x3928]
jb 0x18000e285
mov byte [rdi + 0xec], bl
cmp byte [rdi + 0xec], r11b
jg 0x18000e2a8
cmp byte [rdi + 0xed], r11b
jg 0x18000e2a8
mov cl, r11b
cmp byte [rdi + 0xee], r11b
jg 0x18000e2aa
mov al, r11b
jmp 0x18000e2ac
mov cl, bl
mov al, bl
mov byte [rdi + 0xd2], al
mov al, byte [rdi + 0xef]
test al, al
jle 0x18000e2cb
sub al, bl
mov byte [rdi + 0xef], al
or dword [rdi + 0x14], 0x30200
movzx eax, r11b
cmp byte [rdi + 0xcd], r11b
jne 0x18000e2e5
cmp byte [rdi + 0xca], r11b
je 0x18000e2e5
test cl, cl
je 0x18000e301
cmp byte [rdi + 0xe2], r11b
jg 0x18000e301
cmp byte [rdi + 0xe3], r11b
jg 0x18000e301
cmp byte [rdi + 0xed], r11b
cmovle eax, ebx
mov byte [rdi + 0xcf], al
jmp 0x18000e30f
mov byte [rdi + 0xcf], bl
cmp byte [rdi + 0xd3], r11b
jne 0x18000e368
cmp byte [rsi + 0x82], r11b
je 0x18000e328
cmp qword [rsp + 0x60], r11
je 0x18000e340
cmp byte [rsi + 0x83], r11b
je 0x18000e368
movsx eax, byte [rsi + 0x5420]
cmp eax, dword [rsi + 0x4070]
jne 0x18000e368
mov al, byte [rdi + 0xe2]
test al, al
jle 0x18000e352
add al, bl
mov byte [rdi + 0xe2], al
mov al, byte [rdi + 0xe3]
test al, al
jle 0x18000e364
add al, bl
mov byte [rdi + 0xe3], al
xor al, al
jmp 0x18000e372
cmp byte [rdi + 0xcf], r11b
sete al
mov rcx, qword [rbp + 0x40]
xor rcx, rsp
call fcn.1800487d0
lea r11, [rsp + 0x1b0]
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]
movaps xmm11, xmmword [r11 - 0x60]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret