Function at 0x1400c8460
Capabilities:
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x258
vmovaps xmmword [rsp + 0x240], xmm15
vmovaps xmmword [rsp + 0x230], xmm14
vmovaps xmmword [rsp + 0x220], xmm13
vmovaps xmmword [rsp + 0x210], xmm12
vmovaps xmmword [rsp + 0x200], xmm11
vmovaps xmmword [rsp + 0x1f0], xmm10
vmovaps xmmword [rsp + 0x1e0], xmm9
vmovaps xmmword [rsp + 0x1d0], xmm8
vmovaps xmmword [rsp + 0x1c0], xmm7
vmovaps xmmword [rsp + 0x1b0], xmm6
mov rsi, rcx
vmovsd xmm7, qword [rcx + 0x28]
vmovss xmm6, dword [rcx + 0x30]
call fcn.1400ca360
test al, al
je 0x1400c86a1
vmovsd xmm0, qword [rsi + 0x28]
vcmpneqps xmm0, xmm0, xmm7
vshufps xmm0, xmm0, xmm0, 0x50
vmovmskpd eax, xmm0
test al, 1
jne 0x1400c850f
shr al, 1
jne 0x1400c850f
vmovss xmm0, dword [rsi + 0x30]
vucomiss xmm0, xmm6
jne 0x1400c850f
jnp 0x1400c8528
movzx eax, byte [0x140120a40]
lea rcx, [0x140120720]
mov rax, qword [rcx + rax*8]
mov qword [rsi + 0x290], rax
mov al, 1
cmp byte [rsi + 0x97], 0
jne 0x1400c86a3
mov rax, qword [rsi + 0x288]
mov qword [rsp + 0x110], rax
mov rax, qword [rsi + 0x60]
mov byte [rsi + 0x250], 0
mov qword [rsi + 0x228], 0
mov qword [rsp + 0x28], rsi
mov qword [rsi + 0x240], 0
lea rbp, [rax + 0x1bc]
mov rdx, qword [0x140120500]
mov qword [rsp + 0x60], rax
lea r14, [rax + 0x1be]
mov rbx, qword [0x1401204b8]
mov r15d, dword [0x1401204c0]
mov rax, qword [0x1401204d0]
mov qword [rsp + 0x38], rax
lea rax, [r15*8]
lea rax, [rax + rax*2]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x9a]
mov qword [rsp + 0xa0], rax
lea rax, [rsp + 0x48]
lea rcx, [0x140120428]
lea r9, [rsp + 0x68]
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x20], rax
mov rsi, rcx
mov r8, rbp
mov rdi, r9
call fcn.14000c5d0
test al, al
mov r8, qword [rsp + 0x30]
je 0x1400c86a1
mov r13, qword [rsp + 0x48]
cmp r13, r14
mov r12, r14
cmovb r12, r13
sub r12, rbp
mov rdx, qword [rsp + 0x68]
mov rax, r12
add rax, rdx
jb 0x1400c86a1
test r15d, r15d
je 0x1400c86a1
xor ecx, ecx
jmp 0x1400c8639
add rcx, 0x18
cmp r8, rcx
je 0x1400c86a1
cmp qword [rbx + rcx], rdx
ja 0x1400c8630
cmp rax, qword [rbx + rcx + 8]
ja 0x1400c8630
add rdx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0xa0]
mov rcx, rbp
mov r8, r12
call fcn.14001fd00
cmp r14, r13
jbe 0x1400c8686
add rbp, r12
mov qword [rsp + 0xa0], rbp
mov rbp, r13
lea rax, [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
mov rcx, rsi
mov r9, rdi
jmp 0x1400c85d7
movzx ecx, word [rsp + 0x9a]
test rcx, rcx
je 0x1400c9b4e
movzx eax, cx
cmp eax, 0x1000
jbe 0x1400c8714
xor eax, eax
vmovaps xmm6, xmmword [rsp + 0x1b0]
vmovaps xmm7, xmmword [rsp + 0x1c0]
vmovaps xmm8, xmmword [rsp + 0x1d0]
vmovaps xmm9, xmmword [rsp + 0x1e0]
vmovaps xmm10, xmmword [rsp + 0x1f0]
vmovaps xmm11, xmmword [rsp + 0x200]
vmovaps xmm12, xmmword [rsp + 0x210]
vmovaps xmm13, xmmword [rsp + 0x220]
vmovaps xmm14, xmmword [rsp + 0x230]
vmovaps xmm15, xmmword [rsp + 0x240]
add rsp, 0x258
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
vzeroupper
ret
mov qword [rsp + 0xa0], rcx
mov rax, qword [rsp + 0x60]
lea rdi, [rax + 0x1e0]
lea r15, [rax + 0x1e8]
lea r14, [rsp + 0x178]
lea rsi, [0x140120428]
lea r12, [rsp + 0x68]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov rcx, rsi
mov rdx, qword [rsp + 0x40]
mov r8, rdi
mov r9, r12
call fcn.14000c5d0
test al, al
mov r8, qword [rsp + 0x30]
je 0x1400c86a1
mov rbp, qword [rsp + 0x48]
cmp rbp, r15
mov r13, r15
cmovb r13, rbp
sub r13, rdi
mov rdx, qword [rsp + 0x68]
mov rax, r13
add rax, rdx
jb 0x1400c86a1
xor ecx, ecx
jmp 0x1400c87a1
add rcx, 0x18
cmp r8, rcx
je 0x1400c86a1
cmp qword [rbx + rcx], rdx
ja 0x1400c8794
cmp rax, qword [rbx + rcx + 8]
ja 0x1400c8794
add rdx, qword [rsp + 0x38]
mov rcx, r14
mov r8, r13
call fcn.14001fd00
cmp r15, rbp
jbe 0x1400c87ce
add r14, r13
mov rdi, rbp
jmp 0x1400c8743
movzx eax, word [0x140120b46]
mov rcx, qword [rsp + 0x60]
add rcx, rax
movzx eax, word [0x140120b66]
lea r15, [rcx + rax]
lea rbp, [rax + rcx]
add rbp, 8
lea r14, [rsp + 0x170]
lea rsi, [0x140120428]
lea r12, [rsp + 0x68]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov rcx, rsi
mov rdx, qword [rsp + 0x40]
mov r8, r15
mov r9, r12
call fcn.14000c5d0
test al, al
mov r8, qword [rsp + 0x30]
je 0x1400c86a1
mov rdi, qword [rsp + 0x48]
cmp rdi, rbp
mov r13, rbp
cmovb r13, rdi
sub r13, r15
mov rdx, qword [rsp + 0x68]
mov rax, r13
add rax, rdx
jb 0x1400c86a1
xor ecx, ecx
jmp 0x1400c8862
add rcx, 0x18
cmp r8, rcx
je 0x1400c86a1
cmp qword [rbx + rcx], rdx
ja 0x1400c8855
cmp rax, qword [rbx + rcx + 8]
ja 0x1400c8855
add rdx, qword [rsp + 0x38]
mov rcx, r14
mov r8, r13
call fcn.14001fd00
cmp rbp, rdi
jbe 0x1400c888f
add r14, r13
mov r15, rdi
jmp 0x1400c8804
mov r15, qword [rsp + 0x170]
lea rdi, [r15 + 8]
lea r14, [rsp + 0x168]
lea rsi, [0x140120428]
lea r12, [rsp + 0x68]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov rcx, rsi
mov rdx, qword [rsp + 0x40]
mov r8, r15
mov r9, r12
call fcn.14000c5d0
test al, al
je 0x1400c86a1
mov rbp, qword [rsp + 0x48]
cmp rbp, rdi
mov r13, rdi
cmovb r13, rbp
sub r13, r15
mov rdx, qword [rsp + 0x68]
mov rax, r13
add rax, rdx
jb 0x1400c86a1
xor ecx, ecx
jmp 0x1400c890a
add rcx, 0x18
cmp qword [rsp + 0x30], rcx
je 0x1400c86a1
cmp qword [rbx + rcx], rdx
ja 0x1400c88fb
cmp rax, qword [rbx + rcx + 8]
ja 0x1400c88fb
add rdx, qword [rsp + 0x38]
mov rcx, r14
mov r8, r13
call fcn.14001fd00
cmp rdi, rbp
jbe 0x1400c8937
add r14, r13
mov r15, rbp
jmp 0x1400c88af
mov rax, qword [rsp + 0x168]
lea r15, [rax + 0x78]
mov qword [rsp + 0x60], rax
lea rdi, [rax + 0x80]
lea r14, [rsp + 0x160]
lea rsi, [0x140120428]
lea r12, [rsp + 0x68]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov rcx, rsi
mov rdx, qword [rsp + 0x40]
mov r8, r15
mov r9, r12
call fcn.14000c5d0
test al, al
je 0x1400c86a1
mov rbp, qword [rsp + 0x48]
cmp rbp, rdi
mov r13, rdi
cmovb r13, rbp
sub r13, r15
mov rdx, qword [rsp + 0x68]
mov rax, r13
add rax, rdx
jb 0x1400c86a1
xor ecx, ecx
jmp 0x1400c89be
add rcx, 0x18
cmp qword [rsp + 0x30], rcx
je 0x1400c86a1
cmp qword [rbx + rcx], rdx
ja 0x1400c89af
cmp rax, qword [rbx + rcx + 8]
ja 0x1400c89af
add rdx, qword [rsp + 0x38]
mov rcx, r14
mov r8, r13
call fcn.14001fd00
cmp rdi, rbp
jbe 0x1400c89eb
add r14, r13
mov r15, rbp
jmp 0x1400c8963
mov rax, qword [rsp + 0x60]
lea r15, [rax + 0x238]
lea rdi, [rax + 0x240]
lea r14, [rsp + 0x140]
lea rsi, [0x140120428]
lea r12, [rsp + 0x68]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov rcx, rsi
mov rdx, qword [rsp + 0x40]
mov r8, r15
mov r9, r12
call fcn.14000c5d0
test al, al
je 0x1400c86a1
mov rbp, qword [rsp + 0x48]
cmp rbp, rdi
mov r13, rdi
cmovb r13, rbp
sub r13, r15
mov rdx, qword [rsp + 0x68]
mov rax, r13
add rax, rdx
jb 0x1400c86a1
xor ecx, ecx
jmp 0x1400c8a6d
add rcx, 0x18
cmp qword [rsp + 0x30], rcx
je 0x1400c86a1
cmp qword [rbx + rcx], rdx
ja 0x1400c8a5e
cmp rax, qword [rbx + rcx + 8]
ja 0x1400c8a5e
add rdx, qword [rsp + 0x38]
mov rcx, r14
mov r8, r13
call fcn.14001fd00
cmp rdi, rbp
jbe 0x1400c8a9a
add r14, r13
mov r15, rbp
jmp 0x1400c8a12
mov rax, qword [rsp + 0x60]
lea r15, [rax + 0x220]
lea rdi, [rax + 0x228]
lea r14, [rsp + 0x138]
lea rsi, [0x140120428]
lea r12, [rsp + 0x68]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov rcx, rsi
mov rdx, qword [rsp + 0x40]
mov r8, r15
mov r9, r12
call fcn.14000c5d0
test al, al
je 0x1400c86a1
mov rbp, qword [rsp + 0x48]
cmp rbp, rdi
mov r13, rdi
cmovb r13, rbp
sub r13, r15
mov rdx, qword [rsp + 0x68]
mov rax, r13
add rax, rdx
jb 0x1400c86a1
xor ecx, ecx
jmp 0x1400c8b1c
add rcx, 0x18
cmp qword [rsp + 0x30], rcx
je 0x1400c86a1
cmp qword [rbx + rcx], rdx
ja 0x1400c8b0d
cmp rax, qword [rbx + rcx + 8]
ja 0x1400c8b0d
add rdx, qword [rsp + 0x38]
mov rcx, r14
mov r8, r13
call fcn.14001fd00
cmp rdi, rbp
jbe 0x1400c8b49
add r14, r13
mov r15, rbp
jmp 0x1400c8ac1
mov rax, qword [rsp + 0x60]
lea r15, [rax + 0x2e8]
lea rdi, [rax + 0x2f0]
lea r14, [rsp + 0x130]
lea rsi, [0x140120428]
lea r12, [rsp + 0x68]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov rcx, rsi
mov rdx, qword [rsp + 0x40]
mov r8, r15
mov r9, r12
call fcn.14000c5d0
test al, al
je 0x1400c86a1
mov rbp, qword [rsp + 0x48]
cmp rbp, rdi
mov r13, rdi
cmovb r13, rbp
sub r13, r15
mov rdx, qword [rsp + 0x68]
mov rax, r13
add rax, rdx
jb 0x1400c86a1
xor ecx, ecx
jmp 0x1400c8bcb
add rcx, 0x18
cmp qword [rsp + 0x30], rcx
je 0x1400c86a1
cmp qword [rbx + rcx], rdx
ja 0x1400c8bbc
cmp rax, qword [rbx + rcx + 8]
ja 0x1400c8bbc
add rdx, qword [rsp + 0x38]
mov rcx, r14
mov r8, r13
call fcn.14001fd00
cmp rdi, rbp
jbe 0x1400c8bf8
add r14, r13
mov r15, rbp
jmp 0x1400c8b70
mov rax, qword [rsp + 0x60]
lea r15, [rax + 0x230]
lea rdi, [rax + 0x234]
lea r14, [rsp + 0xd8]
lea rsi, [0x140120428]
lea r12, [rsp + 0x68]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov rcx, rsi
mov rdx, qword [rsp + 0x40]
mov r8, r15
mov r9, r12
call fcn.14000c5d0
test al, al
je 0x1400c86a1
mov rbp, qword [rsp + 0x48]
cmp rbp, rdi
mov r13, rdi
cmovb r13, rbp
sub r13, r15
mov rdx, qword [rsp + 0x68]
mov rax, r13
add rax, rdx
jb 0x1400c86a1
xor ecx, ecx
jmp 0x1400c8c7a
add rcx, 0x18
cmp qword [rsp + 0x30], rcx
je 0x1400c86a1
cmp qword [rbx + rcx], rdx
ja 0x1400c8c6b
cmp rax, qword [rbx + rcx + 8]
ja 0x1400c8c6b
add rdx, qword [rsp + 0x38]
mov rcx, r14
mov r8, r13
call fcn.14001fd00
cmp rdi, rbp
jbe 0x1400c8ca7
add r14, r13
mov r15, rbp
jmp 0x1400c8c1f
mov r14d, dword [rsp + 0xd8]
lea eax, [r14 - 0x1001]
cmp eax, 0xfffff000
jb 0x1400c86a1
mov rax, qword [rsp + 0x60]
lea r13, [rax + 0x218]
lea rdi, [rax + 0x21c]
lea r15, [rsp + 0x9c]
lea rsi, [0x140120428]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov rcx, rsi
mov rdx, qword [rsp + 0x40]
mov r8, r13
lea r9, [rsp + 0x68]
call fcn.14000c5d0
test al, al
je 0x1400c86a1
mov r12, qword [rsp + 0x48]
cmp r12, rdi
mov rbp, rdi
cmovb rbp, r12
sub rbp, r13
mov rdx, qword [rsp + 0x68]
mov rax, rbp
add rax, rdx
jb 0x1400c86a1
xor ecx, ecx
jmp 0x1400c8d40
add rcx, 0x18
cmp qword [rsp + 0x30], rcx
je 0x1400c86a1
cmp qword [rbx + rcx], rdx
ja 0x1400c8d31
cmp rax, qword [rbx + rcx + 8]
ja 0x1400c8d31
add rdx, qword [rsp + 0x38]
mov rcx, r15
mov r8, rbp
call fcn.14001fd00
cmp rdi, r12
jbe 0x1400c8d6d
add r15, rbp
mov r13, r12
jmp 0x1400c8ce3
mov eax, dword [rsp + 0x9c]
mov qword [rsp + 0xb0], rax
add eax, 0xffffefff
cmp eax, 0xfffff000
jb 0x1400c86a1
mov r15, qword [rsp + 0x60]
lea rbp, [r15 + 0x2e0]
add r15, 0x2e4
lea r12, [rsp + 0xd4]
lea rsi, [0x140120428]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov rcx, rsi
mov rdx, qword [rsp + 0x40]
mov r8, rbp
lea r9, [rsp + 0x68]
call fcn.14000c5d0
test al, al
je 0x1400c86a1
mov rdi, qword [rsp + 0x48]
mov r13, r15
cmp rdi, r15
cmovb r13, rdi
sub r13, rbp
mov rdx, qword [rsp + 0x68]
mov rax, r13
add rax, rdx
jb 0x1400c86a1
xor ecx, ecx
jmp 0x1400c8e0b
add rcx, 0x18
cmp qword [rsp + 0x30], rcx
je 0x1400c86a1
cmp qword [rbx + rcx], rdx
ja 0x1400c8dfc
cmp rax, qword [rbx + rcx + 8]
ja 0x1400c8dfc
add rdx, qword [rsp + 0x38]
mov rcx, r12
mov r8, r13
call fcn.14001fd00
cmp r15, rdi
jbe 0x1400c8e38
add r12, r13
mov rbp, rdi
jmp 0x1400c8dae
mov r12d, dword [rsp + 0xd4]
lea eax, [r12 - 0x1001]
cmp eax, 0xfffff000
jb 0x1400c86a1
mov r8, qword [rsp + 0x140]
lea rcx, [rsp + 0xf8]
mov rdx, qword [rsp + 0x40]
mov r9, r14
call fcn.14000c9b0
movzx eax, byte [rsp + 0x108]
mov byte [rsp + 0x40], al
cmp al, 2
je 0x1400c86a1
mov r8, qword [rsp + 0x138]
mov rdx, qword [0x140120500]
lea rcx, [rsp + 0x198]
mov r9, qword [rsp + 0xb0]
call fcn.14000c9b0
movzx eax, byte [rsp + 0x1a8]
mov byte [rsp + 0x60], al
cmp al, 2
jne 0x1400c8ee1
cmp byte [rsp + 0x40], 1
jne 0x1400c86a1
mov byte [rsp + 0x108], 2
mov rcx, qword [rsp + 0xf8]
add rcx, 0xfffffffffffffff0
call fcn.140009440
jmp 0x1400c86a1
mov r8, qword [rsp + 0x130]
mov rdx, qword [0x140120500]
lea rcx, [rsp + 0x180]
mov r9, r12
call fcn.14000c9b0
movzx eax, byte [rsp + 0x190]
mov byte [rsp + 0xb0], al
cmp al, 2
jne 0x1400c8f25
xor esi, esi
cmp byte [rsp + 0x60], 1
jne 0x1400c9280
jmp 0x1400c9b1e
mov r12, qword [rsp + 0x160]
mov rax, qword [0x140120500]
mov qword [rsp + 0x30], rax
lea rdi, [r12 + 8]
mov rsi, qword [0x1401204b8]
mov r15d, dword [0x1401204c0]
mov rax, qword [0x1401204d0]
mov qword [rsp + 0x38], rax
lea rax, [r15*8]
lea rbx, [rax + rax*2]
lea r14, [rsp + 0x158]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
lea rcx, [0x140120428]
mov rdx, qword [rsp + 0x30]
mov r8, r12
lea r9, [rsp + 0x68]
call fcn.14000c5d0
test al, al
je 0x1400c9249
mov rbp, qword [rsp + 0x48]
cmp rbp, rdi
mov r13, rdi
cmovb r13, rbp
sub r13, r12
mov rdx, qword [rsp + 0x68]
mov rax, r13
add rax, rdx
jb 0x1400c9249
test r15d, r15d
je 0x1400c9249
xor ecx, ecx
jmp 0x1400c8fd4
add rcx, 0x18
cmp rbx, rcx
je 0x1400c9249
cmp qword [rsi + rcx], rdx
ja 0x1400c8fc7
cmp rax, qword [rsi + rcx + 8]
ja 0x1400c8fc7
add rdx, qword [rsp + 0x38]
mov rcx, r14
mov r8, r13
call fcn.14001fd00
cmp rdi, rbp
jbe 0x1400c9001
add r14, r13
mov r12, rbp
jmp 0x1400c8f6c
mov rdi, qword [rsp + 0x158]
lea r15, [rdi + 0x138]
add rdi, 0x140
lea r14, [rsp + 0x150]
lea r12, [rsp + 0x68]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
lea rcx, [0x140120428]
mov rdx, qword [rsp + 0x30]
mov r8, r15
mov r9, r12
call fcn.14000c5d0
test al, al
je 0x1400c9249
mov rbp, qword [rsp + 0x48]
cmp rbp, rdi
mov r13, rdi
cmovb r13, rbp
sub r13, r15
mov rdx, qword [rsp + 0x68]
mov rax, r13
add rax, rdx
jb 0x1400c9249
xor ecx, ecx
jmp 0x1400c9081
add rcx, 0x18
cmp rbx, rcx
je 0x1400c9249
cmp qword [rsi + rcx], rdx
ja 0x1400c9074
cmp rax, qword [rsi + rcx + 8]
ja 0x1400c9074
add rdx, qword [rsp + 0x38]
mov rcx, r14
mov r8, r13
call fcn.14001fd00
cmp rdi, rbp
jbe 0x1400c90ae
add r14, r13
mov r15, rbp
jmp 0x1400c9024
mov rdi, qword [rsp + 0x150]
lea r12, [rdi + 0x28]
lea r15, [rdi + 0x2c]
lea r14, [rsp + 0xdc]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
lea rcx, [0x140120428]
mov rdx, qword [rsp + 0x30]
mov r8, r12
lea r9, [rsp + 0x68]
call fcn.14000c5d0
test al, al
je 0x1400c9249
mov rbp, qword [rsp + 0x48]
cmp rbp, r15
mov r13, r15
cmovb r13, rbp
sub r13, r12
mov rdx, qword [rsp + 0x68]
mov rax, r13
add rax, rdx
jb 0x1400c9249
xor ecx, ecx
jmp 0x1400c9125
add rcx, 0x18
cmp rbx, rcx
je 0x1400c9249
cmp qword [rsi + rcx], rdx
ja 0x1400c9118
cmp rax, qword [rsi + rcx + 8]
ja 0x1400c9118
add rdx, qword [rsp + 0x38]
mov rcx, r14
mov r8, r13
call fcn.14001fd00
cmp r15, rbp
jbe 0x1400c9152
add r14, r13
mov r12, rbp
jmp 0x1400c90c6
mov r14d, dword [rsp + 0xdc]
test r14, r14
je 0x1400c9204
cmp r14d, 0x1000
ja 0x1400c9249
lea r13, [rdi + 0x30]
add rdi, 0x38
lea r15, [rsp + 0x148]
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
lea rcx, [0x140120428]
mov rdx, qword [rsp + 0x30]
mov r8, r13
lea r9, [rsp + 0x68]
call fcn.14000c5d0
test al, al
je 0x1400c9249
mov r12, qword [rsp + 0x48]
cmp r12, rdi
mov rbp, rdi
cmovb rbp, r12
sub rbp, r13
mov rdx, qword [rsp + 0x68]
mov rax, rbp
add rax, rdx
jb 0x1400c9249
xor ecx, ecx
jmp 0x1400c91d7
add rcx, 0x18
cmp rbx, rcx
je 0x1400c9249
cmp qword [rsi + rcx], rdx
ja 0x1400c91ce
cmp rax, qword [rsi + rcx + 8]
ja 0x1400c91ce
add rdx, qword [rsp + 0x38]
mov rcx, r15
mov r8, rbp
call fcn.14001fd00
cmp rdi, r12
jbe 0x1400c9217
add r15, rbp
mov r13, r12
jmp 0x1400c9180
mov sil, 1
cmp byte [rsp + 0xb0], 1
jne 0x1400c9b13
jmp 0x1400c9259
mov r8, qword [rsp + 0x178]
lea rcx, [rsp + 0xe0]
mov rdx, qword [rsp + 0x30]
mov r9, qword [rsp + 0xa0]
call fcn.1400c2150
movzx eax, byte [rsp + 0xf0]
mov byte [rsp + 0x30], al
cmp al, 2
jne 0x1400c92b5
xor esi, esi
cmp byte [rsp + 0xb0], 1
jne 0x1400c9b13
mov byte [rsp + 0x190], 2
mov rcx, qword [rsp + 0x180]
add rcx, 0xfffffffffffffff0
vzeroupper
call fcn.140009440
cmp byte [rsp + 0x60], 1
je 0x1400c9b1e
cmp byte [rsp + 0x40], 1
jne 0x1400c9b45
mov byte [rsp + 0x108], 2
mov rcx, qword [rsp + 0xf8]
add rcx, 0xfffffffffffffff0
vzeroupper
call fcn.140009440
test sil, sil
je 0x1400c86a1
jmp 0x1400c9b4e
mov r8, qword [rsp + 0x148]
mov rdx, qword [0x140120500]
lea rcx, [rsp + 0x118]
mov r9, r14
call fcn.1400c2370
movzx ebp, byte [rsp + 0x128]
cmp bpl, 2
jne 0x1400c92f4
xor esi, esi
cmp byte [rsp + 0x30], 1
jne 0x1400c9b05
jmp 0x1400ca325
mov rax, qword [rsp + 0x120]
test rax, rax
je 0x1400c9a19
mov r12, qword [rsp + 0x118]
imul r13, rax, 0x70
add r13, r12
mov r14d, 0x7fffffff
jmp 0x1400c9329
add r12, 0x70
cmp r12, r13
je 0x1400c9a19
movzx eax, word [r12 + 0x48]
mov rcx, qword [rsp + 0xf8]
movzx ecx, word [rcx]
add rcx, rax
mov rax, qword [rsp + 0x180]
movzx eax, word [rax]
add rax, rcx
cmp eax, dword [rsp + 0x9c]
jae 0x1400c931c
mov rcx, qword [rsp + 0x198]
movzx eax, word [rcx + rax*2]
cmp ax, word [rsp + 0xa0]
jae 0x1400c931c
mov rcx, qword [rsp + 0xe0]
shl rax, 5
vmovss xmm9, dword [rcx + rax + 0xc]
vmovss xmm1, dword [rcx + rax + 0x10]
vmovss xmm2, dword [rcx + rax + 0x14]
vaddss xmm3, xmm1, xmm1
vaddss xmm4, xmm2, xmm2
vmovss xmm5, dword [rcx + rax + 0x18]
vaddss xmm6, xmm5, xmm5
vmulss xmm0, xmm1, xmm3
vmulss xmm7, xmm1, xmm4
vmulss xmm10, xmm1, xmm6
vmulss xmm1, xmm2, xmm4
vmulss xmm2, xmm2, xmm6
vmulss xmm5, xmm5, xmm6
vmovss xmm8, dword [rcx + rax + 0x1c]
vmulss xmm3, xmm8, xmm3
vmulss xmm4, xmm8, xmm4
vmulss xmm6, xmm8, xmm6
vaddss xmm8, xmm1, xmm5
vmovss xmm11, dword [0x1400e8e00]
vsubss xmm8, xmm11, xmm8
vmulss xmm8, xmm8, xmm9
vmovaps xmm14, xmm8
vmovss dword [rsp + 0x68], xmm8
vaddss xmm8, xmm7, xmm6
vmulss xmm8, xmm8, xmm9
vmovss dword [rsp + 0xd0], xmm8
vmovss dword [rsp + 0x78], xmm8
vsubss xmm8, xmm10, xmm4
vmulss xmm8, xmm8, xmm9
vmovss dword [rsp + 0x38], xmm8
vmovss dword [rsp + 0x88], xmm8
vsubss xmm6, xmm7, xmm6
vmulss xmm6, xmm9, xmm6
vmovss dword [rsp + 0x6c], xmm6
vaddss xmm5, xmm0, xmm5
vsubss xmm5, xmm11, xmm5
vmulss xmm5, xmm9, xmm5
vmovaps xmm8, xmm5
vmovss dword [rsp + 0x7c], xmm5
vaddss xmm5, xmm2, xmm3
vmulss xmm5, xmm9, xmm5
vmovss dword [rsp + 0xcc], xmm5
vmovss dword [rsp + 0x8c], xmm5
vaddss xmm4, xmm10, xmm4
vmulss xmm4, xmm9, xmm4
vmovss dword [rsp + 0x70], xmm4
vsubss xmm2, xmm2, xmm3
vmulss xmm2, xmm9, xmm2
vmovss dword [rsp + 0x80], xmm2
vaddss xmm0, xmm0, xmm1
vsubss xmm0, xmm11, xmm0
vmovss dword [rsp + 0xc0], xmm9
vmulss xmm0, xmm9, xmm0
vmovss dword [rsp + 0xc8], xmm0
vmovss dword [rsp + 0x90], xmm0
vmovss xmm0, dword [rcx + rax]
vmovaps xmm9, xmm0
vmovss dword [rsp + 0x74], xmm0
vmovss xmm0, dword [rcx + rax + 4]
vmovaps xmm11, xmm0
vmovss dword [rsp + 0x84], xmm0
vmovss xmm0, dword [rcx + rax + 8]
vmovss dword [rsp + 0xc4], xmm0
vmovss dword [rsp + 0x94], xmm0
movzx eax, word [r12 + 0x3c]
test eax, eax
je 0x1400c9575
cmp eax, 2
jne 0x1400c9ab7
vmovaps xmm7, xmm6
vmovaps xmm12, xmm4
vmovaps xmm15, xmm2
mov rax, qword [rsp + 0x28]
mov rbx, qword [rax + 0x228]
mov rdi, qword [rax + 0x230]
lea rsi, [rbx + 1]
cmp rsi, rdi
jbe 0x1400c9632
add rdi, rdi
cmp rdi, rsi
cmovbe rdi, rsi
mov rcx, rdi
shl rcx, 5
vzeroupper
call fcn.14000abb0
mov r15, rax
mov rax, qword [rsp + 0x28]
cmp qword [rax + 0x228], 0
je 0x1400c9643
xor ecx, ecx
xor eax, eax
mov r8, qword [rsp + 0x28]
mov rdx, qword [r8 + 0x220]
vmovups ymm0, ymmword [rdx + rcx]
vmovups ymmword [r15 + rcx], ymm0
inc rax
add rcx, 0x20
cmp rax, qword [r8 + 0x228]
jne 0x1400c9549
jmp 0x1400c9645
mov rax, qword [rsp + 0x28]
mov rdi, qword [rax + 0x240]
mov rbx, qword [rax + 0x248]
lea rsi, [rdi + 1]
cmp rsi, rbx
jbe 0x1400c98e8
add rbx, rbx
cmp rbx, rsi
cmovbe rbx, rsi
mov rax, rbx
shl rax, 7
lea rcx, [rax + rbx*8]
vzeroupper
call fcn.14000abb0
mov r15, rax
mov rax, qword [rsp + 0x28]
cmp qword [rax + 0x240], 0
je 0x1400c98f9
xor ecx, ecx
xor eax, eax
mov r9, qword [rsp + 0x28]
mov rdx, qword [r9 + 0x238]
mov r8, qword [rdx + rcx + 0x80]
mov qword [r15 + rcx + 0x80], r8
vmovups ymm0, ymmword [rdx + rcx]
vmovups ymm1, ymmword [rdx + rcx + 0x20]
vmovups ymm2, ymmword [rdx + rcx + 0x40]
vmovups ymm3, ymmword [rdx + rcx + 0x60]
vmovups ymmword [r15 + rcx + 0x60], ymm3
vmovups ymmword [r15 + rcx + 0x40], ymm2
vmovups ymmword [r15 + rcx + 0x20], ymm1
vmovups ymmword [r15 + rcx], ymm0
inc rax
add rcx, 0x88
cmp rax, qword [r9 + 0x240]
jne 0x1400c95cc
jmp 0x1400c98fb
mov rax, qword [rsp + 0x28]
mov r15, qword [rax + 0x220]
mov rax, rbx
jmp 0x1400c9681
xor eax, eax
mov rcx, qword [rsp + 0x28]
mov rcx, qword [rcx + 0x220]
test rcx, rcx
je 0x1400c966e
add rcx, 0xfffffffffffffff0
vzeroupper
call fcn.140009440
mov rax, qword [rsp + 0x28]
mov rax, qword [rax + 0x228]
mov rcx, qword [rsp + 0x28]
mov qword [rcx + 0x220], r15
mov qword [rcx + 0x230], rdi
vmovss xmm0, dword [r12 + 0x18]
vmovss xmm1, dword [r12 + 0x1c]
vmovaps xmm6, xmm7
vmulss xmm2, xmm7, xmm1
vmulss xmm3, xmm14, xmm0
vaddss xmm2, xmm3, xmm2
vmovss xmm3, dword [r12 + 0x20]
vmulss xmm4, xmm12, xmm3
vaddss xmm2, xmm4, xmm2
shl rax, 5
vaddss xmm2, xmm9, xmm2
vmovss dword [r15 + rax], xmm2
vmulss xmm2, xmm8, xmm1
vmovss xmm13, dword [rsp + 0xd0]
vmulss xmm4, xmm13, xmm0
vaddss xmm2, xmm4, xmm2
vmovaps xmm10, xmm15
vmulss xmm4, xmm15, xmm3
vaddss xmm2, xmm4, xmm2
vmovss dword [rsp + 0xbc], xmm11
vaddss xmm2, xmm11, xmm2
vmovss dword [r15 + rax + 4], xmm2
vmovss xmm15, dword [rsp + 0xcc]
vmulss xmm1, xmm15, xmm1
vmovss xmm5, dword [rsp + 0x38]
vmulss xmm0, xmm5, xmm0
vaddss xmm0, xmm0, xmm1
vmovss xmm7, dword [rsp + 0xc8]
vmulss xmm1, xmm7, xmm3
vaddss xmm0, xmm1, xmm0
vmovss xmm11, dword [rsp + 0xc4]
vaddss xmm0, xmm11, xmm0
vmovss dword [r15 + rax + 8], xmm0
vmovss xmm0, dword [r12 + 0x24]
vmovss xmm1, dword [r12 + 0x28]
vmulss xmm2, xmm6, xmm1
vmulss xmm3, xmm14, xmm0
vaddss xmm2, xmm3, xmm2
vmovss xmm3, dword [r12 + 0x2c]
vmulss xmm4, xmm12, xmm3
vaddss xmm2, xmm4, xmm2
vaddss xmm2, xmm9, xmm2
vmovss dword [r15 + rax + 0xc], xmm2
vmulss xmm2, xmm8, xmm1
vmulss xmm4, xmm13, xmm0
vaddss xmm2, xmm4, xmm2
vmulss xmm4, xmm10, xmm3
vaddss xmm2, xmm4, xmm2
vaddss xmm2, xmm2, dword [rsp + 0xbc]
vmovss dword [r15 + rax + 0x10], xmm2
vmulss xmm1, xmm15, xmm1
vmulss xmm0, xmm5, xmm0
vaddss xmm0, xmm0, xmm1
vmulss xmm1, xmm7, xmm3
vaddss xmm0, xmm1, xmm0
vaddss xmm0, xmm11, xmm0
vmovss dword [r15 + rax + 0x14], xmm0
vmovss xmm0, dword [rsp + 0xc0]
vmulss xmm0, xmm0, dword [r12 + 0x30]
vmovss dword [r15 + rax + 0x18], xmm0
mov ecx, dword [r12 + 0x38]
mov dword [r15 + rax + 0x1c], ecx
mov rax, qword [rsp + 0x28]
mov qword [rax + 0x228], rsi
mov rax, qword [rax + 0x220]
shl rbx, 5
mov ecx, dword [rax + rbx]
and ecx, r14d
cmp ecx, 0x7f7fffff
jg 0x1400c9ab7
mov ecx, dword [rax + rbx + 4]
and ecx, r14d
cmp ecx, 0x7f7fffff
jg 0x1400c9ab7
vmovd xmm0, dword [rax + rbx + 8]
vmovd ecx, xmm0
and ecx, 0x7fffffff
cmp ecx, 0x7f7fffff
jg 0x1400c9ab7
mov ecx, dword [rax + rbx + 0xc]
and ecx, r14d
cmp ecx, 0x7f7fffff
jg 0x1400c9ab7
mov ecx, dword [rax + rbx + 0x10]
and ecx, r14d
cmp ecx, 0x7f7fffff
jg 0x1400c9ab7
vmovd xmm1, dword [rax + rbx + 0x14]
vmovd ecx, xmm1
and ecx, 0x7fffffff
cmp ecx, 0x7f7fffff
jg 0x1400c9ab7
mov ecx, dword [rax + rbx + 0x18]
lea edx, [rcx - 1]
cmp edx, 0x7fffff
setb dl
mov r8d, ecx
and r8d, 0x7fffffff
sete r9b
or r9b, dl
test ecx, ecx
setns cl
add r8d, 0xff800000
cmp r8d, 0x7f000000
setb dl
and dl, cl
or dl, r9b
cmp dl, 1
jne 0x1400c9ab7
shl rsi, 5
add rsi, rax
add rbx, rax
vaddss xmm0, xmm1, xmm0
vmulss xmm0, xmm0, dword [0x1400e8e04]
mov rax, qword [rsp + 0x28]
vsubss xmm0, xmm0, dword [rax + 0x30]
vmovsd xmm1, qword [rsi - 0x14]
vmovsd xmm2, qword [rbx]
vaddps xmm1, xmm1, xmm2
vbroadcastss xmm2, dword [0x1400e8e04]
vmulps xmm1, xmm1, xmm2
jmp 0x1400c99dd
mov rax, qword [rsp + 0x28]
mov r15, qword [rax + 0x238]
mov rax, rdi
jmp 0x1400c9937
xor eax, eax
mov rcx, qword [rsp + 0x28]
mov rcx, qword [rcx + 0x238]
test rcx, rcx
je 0x1400c9924
add rcx, 0xfffffffffffffff0
vzeroupper
call fcn.140009440
mov rax, qword [rsp + 0x28]
mov rax, qword [rax + 0x240]
mov rcx, qword [rsp + 0x28]
mov qword [rcx + 0x238], r15
mov qword [rcx + 0x248], rbx
mov rcx, rax
shl rcx, 7
lea rbx, [rcx + rax*8]
lea rcx, [r15 + rbx]
mov eax, dword [r12 + 0x20]
mov dword [rsp + 0x50], eax
mov rax, qword [r12 + 0x18]
mov qword [rsp + 0x48], rax
mov eax, dword [r12 + 0x2c]
lea rdx, [rsp + 0x54]
mov dword [rdx + 8], eax
mov rax, qword [r12 + 0x24]
mov qword [rdx], rax
lea rdx, [rsp + 0x48]
lea r8, [rsp + 0x68]
vzeroupper
call fcn.1400c2cf0
mov eax, dword [r12 + 0x38]
mov dword [r15 + rbx + 0x84], eax
mov rax, qword [rsp + 0x28]
mov qword [rax + 0x240], rsi
mov rbx, qword [rax + 0x238]
mov rax, rdi
shl rax, 7
lea rdi, [rax + rdi*8]
lea rcx, [rbx + rdi]
call fcn.1400c2a60
test al, al
je 0x1400c9ab7
mov rax, rsi
shl rax, 7
lea rax, [rax + rsi*8]
vmovss xmm0, dword [rbx + rax - 0x38]
mov rax, qword [rsp + 0x28]
vsubss xmm0, xmm0, dword [rax + 0x30]
vmovsd xmm1, qword [rbx + rdi + 0x48]
vmovsd xmm2, qword [rax + 0x28]
vsubps xmm1, xmm1, xmm2
vmulps xmm1, xmm1, xmm1
vmulss xmm0, xmm0, xmm0
vmovshdup xmm2, xmm1
vaddss xmm0, xmm2, xmm0
vaddss xmm0, xmm1, xmm0
vucomiss xmm0, dword [0x1400ea638]
jbe 0x1400c931c
mov rax, qword [rsp + 0x28]
mov byte [rax + 0x250], 1
jmp 0x1400c931c
mov rax, qword [rsp + 0xe8]
test rax, rax
je 0x1400c9abb
mov rdx, qword [rsp + 0xe0]
shl rax, 5
add rax, rdx
movabs rcx, 0xcbf29ce484222325
movabs r8, 0x100000001b3
movzx r9d, byte [rdx]
imul rcx, r8
xor rcx, r9
movzx r9d, byte [rdx + 1]
imul rcx, r8
xor rcx, r9
movzx r9d, byte [rdx + 2]
imul rcx, r8
xor rcx, r9
movzx r9d, byte [rdx + 3]
imul rcx, r8
xor rcx, r9
movzx r9d, byte [rdx + 4]
imul rcx, r8
xor rcx, r9
movzx r9d, byte [rdx + 5]
imul rcx, r8
xor rcx, r9
movzx r9d, byte [rdx + 6]
imul rcx, r8
xor rcx, r9
movzx r9d, byte [rdx + 7]
imul rcx, r8
xor rcx, r9
add rdx, 8
cmp rdx, rax
jne 0x1400c9a4d
jmp 0x1400c9ac5
xor esi, esi
jmp 0x1400c9ad4
movabs rcx, 0xcbf29ce484222325
mov rax, qword [rsp + 0x28]
mov qword [rax + 0x288], rcx
mov sil, 1
cmp bpl, 1
jne 0x1400ca31a
mov byte [rsp + 0x128], 2
mov rcx, qword [rsp + 0x118]
add rcx, 0xfffffffffffffff0
vzeroupper
call fcn.140009440
cmp byte [rsp + 0x30], 1
je 0x1400ca325
cmp byte [rsp + 0xb0], 1
je 0x1400c9259
cmp byte [rsp + 0x60], 1
jne 0x1400c9280
mov byte [rsp + 0x1a8], 2
mov rcx, qword [rsp + 0x198]
add rcx, 0xfffffffffffffff0
vzeroupper
call fcn.140009440
cmp byte [rsp + 0x40], 1
je 0x1400c928b
test sil, sil
je 0x1400c86a1
mov rsi, qword [rsp + 0x28]
mov rax, qword [rsi + 0x240]
test rax, rax
je 0x1400c9e78
mov rcx, qword [rsi + 0x238]
mov rdx, rax
shl rdx, 7
lea rdx, [rdx + rax*8]
mov al, 1
xor r8d, r8d
jmp 0x1400c9b9e
vmovups xmmword [rsi + 0x258], xmm1
vmovlps qword [rsi + 0x268], xmm0
xor eax, eax
add r8, 0x88
cmp rdx, r8
je 0x1400c9e7a
vmovss xmm2, dword [rcx + r8 + 0x5c]
vmulss xmm0, xmm2, dword [rcx + r8 + 0x78]
vmovss xmm5, dword [rcx + r8 + 0x58]
vmulss xmm1, xmm5, dword [rcx + r8 + 0x6c]
vmovups xmm6, xmmword [rcx + r8 + 0x70]
vmovss xmm7, dword [rcx + r8 + 0x54]
vmulss xmm8, xmm7, dword [rcx + r8 + 0x60]
vmovups xmm9, xmmword [rcx + r8 + 0x64]
vmovss xmm10, dword [rcx + r8 + 0x48]
vsubss xmm3, xmm10, xmm8
vsubss xmm4, xmm3, xmm1
vsubss xmm12, xmm4, xmm0
vaddss xmm13, xmm0, xmm4
vaddss xmm4, xmm1, xmm3
vsubss xmm3, xmm4, xmm0
vaddss xmm10, xmm8, xmm10
vsubss xmm8, xmm10, xmm1
vaddss xmm1, xmm10, xmm1
vmovss dword [rsp + 0x30], xmm1
vminss xmm11, xmm12, xmm13
vmaxss xmm10, xmm12, xmm13
vmovss xmm12, dword [rcx + r8 + 0x7c]
vinsertps xmm13, xmm2, dword [rcx + r8 + 0x80], 0x10
vinsertps xmm2, xmm12, xmm2, 0x10
vmulps xmm2, xmm13, xmm2
vinsertps xmm12, xmm6, xmm5, 0x10
vblendps xmm5, xmm6, xmm5, 1
vmulps xmm13, xmm12, xmm5
vinsertps xmm5, xmm9, xmm7, 0x10
vblendps xmm6, xmm9, xmm7, 1
vmulps xmm5, xmm5, xmm6
vmovsd xmm6, qword [rcx + r8 + 0x4c]
vaddps xmm7, xmm5, xmm6
vsubps xmm12, xmm7, xmm13
vaddps xmm7, xmm13, xmm7
vsubps xmm9, xmm6, xmm5
vsubps xmm6, xmm9, xmm13
vsubps xmm1, xmm6, xmm2
vmovaps xmmword [rsp + 0xa0], xmm1
vaddps xmm6, xmm2, xmm6
vaddps xmm13, xmm13, xmm9
vsubps xmm9, xmm13, xmm2
vminps xmm14, xmm1, xmm6
vshufps xmm15, xmm9, xmm9, 0xd0
vblendps xmm15, xmm15, xmm3, 1
vmovaps xmm5, xmm3
vshufps xmm15, xmm15, xmm15, 0x24
vshufps xmm1, xmm14, xmm14, 0xd0
vblendps xmm1, xmm1, xmm11, 1
vinsertps xmm1, xmm1, xmm10, 0x30
vcmpltps xmm3, xmm15, xmm1
vcmpltps xmm1, xmm1, xmm15
vblendps xmm1, xmm3, xmm1, 8
vmovlhps xmm3, xmm11, xmm14
vshufps xmm3, xmm3, xmm14, 0xd8
vaddss xmm4, xmm0, xmm4
vinsertps xmm3, xmm3, xmm10, 0x30
vsubss xmm10, xmm8, xmm0
vaddss xmm8, xmm8, xmm0
vaddps xmm11, xmm13, xmm2
vshufps xmm13, xmm5, xmm9, 0x40
vshufps xmm13, xmm13, xmm13, 0x78
vblendvps xmm1, xmm3, xmm13, xmm1
vshufps xmm3, xmm4, xmm11, 0x40
vshufps xmm3, xmm3, xmm3, 0x78
vcmpltps xmm4, xmm3, xmm1
vcmpltps xmm13, xmm1, xmm3
vblendps xmm4, xmm4, xmm13, 8
vsubps xmm13, xmm12, xmm2
vblendvps xmm1, xmm1, xmm3, xmm4
vshufps xmm3, xmm10, xmm13, 0x40
vshufps xmm3, xmm3, xmm3, 0x78
vcmpltps xmm4, xmm3, xmm1
vcmpltps xmm10, xmm1, xmm3
vblendps xmm4, xmm4, xmm10, 8
vmovss xmm14, dword [rsp + 0x30]
vsubss xmm10, xmm14, xmm0
vaddps xmm12, xmm12, xmm2
vblendvps xmm1, xmm1, xmm3, xmm4
vshufps xmm3, xmm8, xmm12, 0x40
vshufps xmm3, xmm3, xmm3, 0x78
vcmpltps xmm4, xmm3, xmm1
vcmpltps xmm8, xmm1, xmm3
vblendps xmm4, xmm4, xmm8, 8
vsubps xmm8, xmm7, xmm2
vblendvps xmm1, xmm1, xmm3, xmm4
vshufps xmm3, xmm10, xmm8, 0x40
vshufps xmm3, xmm3, xmm3, 0x78
vcmpltps xmm4, xmm3, xmm1
vcmpltps xmm10, xmm1, xmm3
vblendps xmm4, xmm4, xmm10, 8
vblendvps xmm1, xmm1, xmm3, xmm4
vaddss xmm0, xmm14, xmm0
vaddps xmm2, xmm2, xmm7
vshufps xmm0, xmm0, xmm2, 0x40
vshufps xmm0, xmm0, xmm0, 0x78
vcmpltps xmm3, xmm0, xmm1
vcmpltps xmm4, xmm1, xmm0
vblendps xmm3, xmm3, xmm4, 8
vblendvps xmm1, xmm1, xmm0, xmm3
vmovaps xmm0, xmmword [rsp + 0xa0]
vmaxps xmm0, xmm0, xmm6
vmaxps xmm0, xmm9, xmm0
vmaxps xmm0, xmm11, xmm0
vmaxps xmm0, xmm13, xmm0
vmaxps xmm0, xmm12, xmm0
vmaxps xmm0, xmm8, xmm0
vmaxps xmm0, xmm2, xmm0
test al, 1
jne 0x1400c9b7c
vmovss xmm2, dword [rsi + 0x258]
vucomiss xmm2, xmm1
jbe 0x1400c9dfb
vmovss dword [rsi + 0x258], xmm1
vmovshdup xmm2, xmm1
vmovss xmm3, dword [rsi + 0x25c]
vucomiss xmm3, xmm2
jbe 0x1400c9e15
vmovss dword [rsi + 0x25c], xmm2
vshufpd xmm2, xmm1, xmm1, 1
vmovss xmm3, dword [rsi + 0x260]
vucomiss xmm3, xmm2
jbe 0x1400c9e30
vmovss dword [rsi + 0x260], xmm2
vshufps xmm1, xmm1, xmm1, 0xff
vucomiss xmm1, dword [rsi + 0x264]
jbe 0x1400c9e47
vmovss dword [rsi + 0x264], xmm1
vucomiss xmm0, dword [rsi + 0x268]
jbe 0x1400c9e59
vmovss dword [rsi + 0x268], xmm0
vmovshdup xmm0, xmm0
vucomiss xmm0, dword [rsi + 0x26c]
jbe 0x1400c9b8e
vmovss dword [rsi + 0x26c], xmm0
jmp 0x1400c9b8e
mov al, 1
mov rcx, qword [rsi + 0x228]
test rcx, rcx
je 0x1400ca0c5
mov rdx, qword [rsi + 0x220]
shl rcx, 5
xor r8d, r8d
vxorps xmm0, xmm0, xmm0
vxorps xmm1, xmm1, xmm1
jmp 0x1400c9ec1
vmovups xmmword [rsi + 0x258], xmm4
vmovlps qword [rsi + 0x268], xmm2
xor eax, eax
add r8, 0x20
cmp rcx, r8
je 0x1400ca0c5
vmovsd xmm5, qword [rdx + r8]
vmovss xmm8, dword [rdx + r8 + 8]
vbroadcastss xmm4, dword [rdx + r8 + 0x18]
vsubss xmm2, xmm8, xmm4
vmovshdup xmm6, xmm5
vaddss xmm9, xmm4, xmm6
vaddss xmm3, xmm8, xmm0
vsubss xmm10, xmm6, xmm4
vsubss xmm11, xmm5, xmm4
vmovss xmm6, dword [rdx + r8 + 0xc]
vaddss xmm12, xmm6, xmm0
vaddss xmm7, xmm4, xmm6
vsubss xmm6, xmm6, xmm4
vinsertps xmm5, xmm5, xmm8, 0x20
vshufps xmm5, xmm5, xmm5, 0x24
vblendps xmm8, xmm4, xmm1, 0xa
vaddps xmm5, xmm8, xmm5
vmovshdup xmm8, xmm5
vminss xmm13, xmm9, xmm8
vminss xmm13, xmm10, xmm13
vshufps xmm14, xmm5, xmm5, 0x27
vinsertps xmm13, xmm14, xmm13, 0x10
vinsertps xmm13, xmm13, xmm2, 0x20
vcmpltps xmm14, xmm5, xmm13
vshufps xmm15, xmm5, xmm5, 0x24
vshufps xmm13, xmm13, xmm13, 0x24
vblendvps xmm13, xmm13, xmm15, xmm14
vmaxss xmm8, xmm9, xmm8
vmaxss xmm9, xmm10, xmm8
vmovsd xmm10, qword [rdx + r8 + 0x10]
vaddps xmm8, xmm10, xmm1
vunpcklps xmm11, xmm11, xmm8
vinsertps xmm11, xmm11, xmm3, 0x20
vshufps xmm11, xmm11, xmm11, 0x24
vcmpltps xmm14, xmm11, xmm13
vcmpltps xmm15, xmm13, xmm11
vblendps xmm14, xmm14, xmm15, 8
vblendps xmm15, xmm10, xmm4, 2
vblendvps xmm11, xmm13, xmm11, xmm14
vblendps xmm13, xmm10, xmm4, 1
vaddps xmm13, xmm15, xmm13
vshufps xmm12, xmm12, xmm13, 0x40
vshufps xmm12, xmm12, xmm12, 0x78
vcmpltps xmm14, xmm12, xmm11
vcmpltps xmm15, xmm11, xmm12
vblendps xmm14, xmm14, xmm15, 8
vblendvps xmm11, xmm11, xmm12, xmm14
vsubps xmm10, xmm10, xmm4
vshufps xmm4, xmm7, xmm10, 0x40
vshufps xmm4, xmm4, xmm4, 0x78
vcmpltps xmm7, xmm4, xmm11
vcmpltps xmm12, xmm11, xmm4
vblendps xmm7, xmm7, xmm12, 8
vblendvps xmm4, xmm11, xmm4, xmm7
vshufps xmm6, xmm6, xmm8, 0x40
vshufps xmm6, xmm6, xmm6, 0x78
vcmpltps xmm7, xmm6, xmm4
vcmpltps xmm11, xmm4, xmm6
vblendps xmm7, xmm7, xmm11, 8
vblendvps xmm4, xmm4, xmm6, xmm7
vshufps xmm5, xmm5, xmm5, 0xe9
vinsertps xmm2, xmm9, xmm2, 0x10
vmaxps xmm2, xmm5, xmm2
vinsertps xmm3, xmm8, xmm3, 0x10
vmaxps xmm2, xmm3, xmm2
vmaxps xmm2, xmm13, xmm2
vmaxps xmm2, xmm10, xmm2
vmaxps xmm2, xmm8, xmm2
test al, 1
jne 0x1400c9ea2
vmovss xmm3, dword [rsi + 0x258]
vucomiss xmm3, xmm4
jbe 0x1400ca048
vmovss dword [rsi + 0x258], xmm4
vmovshdup xmm3, xmm4
vmovss xmm5, dword [rsi + 0x25c]
vucomiss xmm5, xmm3
jbe 0x1400ca062
vmovss dword [rsi + 0x25c], xmm3
vshufpd xmm3, xmm4, xmm4, 1
vmovss xmm5, dword [rsi + 0x260]
vucomiss xmm5, xmm3
jbe 0x1400ca07d
vmovss dword [rsi + 0x260], xmm3
vshufps xmm3, xmm4, xmm4, 0xff
vucomiss xmm3, dword [rsi + 0x264]
jbe 0x1400ca094
vmovss dword [rsi + 0x264], xmm3
vucomiss xmm2, dword [rsi + 0x268]
jbe 0x1400ca0a6
vmovss dword [rsi + 0x268], xmm2
vmovshdup xmm2, xmm2
vucomiss xmm2, dword [rsi + 0x26c]
jbe 0x1400c9eb4
vmovss dword [rsi + 0x26c], xmm2
jmp 0x1400c9eb4
not al
and al, 1
mov byte [rsi + 0x270], al
mov rax, qword [rsp + 0x110]
cmp qword [rsi + 0x288], rax
jne 0x1400ca0e9
mov rax, qword [rsi + 0x298]
jmp 0x1400ca102
movzx eax, byte [0x140120a40]
lea rcx, [0x140120720]
mov rax, qword [rcx + rax*8]
mov qword [rsi + 0x298], rax
mov rcx, qword [rsi + 0x290]
sub rcx, rax
vxorps xmm13, xmm13, xmm13
vcvtsi2sd xmm0, xmm13, rcx
vmulsd xmm0, xmm0, qword [0x140122c20]
vmulsd xmm0, xmm0, qword [0x1400ea768]
vucomisd xmm0, qword [0x140120b88]
jbe 0x1400ca137
mov byte [rsi + 0x250], 1
movzx eax, byte [0x1401223e9]
test al, al
je 0x1400ca184
movzx ecx, byte [0x1401223ea]
and cl, 0xfe
cmp cl, 2
je 0x1400ca184
movzx ecx, byte [rsi + 0x94]
cmp cl, 2
lea rdx, [0x140120ba4]
lea r8, [0x140120bb8]
cmove r8, rdx
add r8, 0x108
cmp cl, 3
lea rcx, [0x140120c98]
cmovne rcx, r8
jmp 0x1400ca1af
cmp dword [0x140122014], 6
jne 0x1400ca203
mov ecx, dword [rsi + 0x34]
cmp ecx, dword [0x1401221fc]
lea rdx, [0x140120ba4]
lea rcx, [0x140120b90]
cmove rcx, rdx
add rcx, 0x108
mov edx, dword [rsi + 8]
vxorps xmm13, xmm13, xmm13
vcvtsi2ss xmm0, xmm13, rdx
mov r8d, dword [rsi + 0xc]
vxorps xmm13, xmm13, xmm13
vcvtsi2ss xmm1, xmm13, r8
vdivss xmm0, xmm0, xmm1
vxorps xmm1, xmm1, xmm1
vucomiss xmm1, xmm0
jae 0x1400ca1fd
vmovss xmm1, dword [0x1400e8e00]
vucomiss xmm1, xmm0
jbe 0x1400ca242
vmovss xmm1, dword [rcx]
vmovss xmm2, dword [rcx + 4]
vsubss xmm2, xmm2, xmm1
vmulss xmm0, xmm2, xmm0
vaddss xmm0, xmm0, xmm1
jmp 0x1400ca247
vmovss xmm0, dword [rcx]
jmp 0x1400ca247
cmp byte [0x14012225c], 2
movzx ecx, byte [rsi + 0x94]
je 0x1400ca158
cmp cl, 2
lea rdx, [0x140120b90]
lea r8, [0x140120bb8]
cmove r8, rdx
add r8, 0x108
cmp cl, 3
lea rcx, [0x140120cac]
jmp 0x1400ca17e
vmovss xmm0, dword [rcx + 4]
vmovss xmm1, dword [rcx + 8]
vmovss dword [rsp + 0x68], xmm0
vmovsd xmm6, qword [rcx + 0xc]
vshufps xmm0, xmm6, xmm6, 0xe1
vmovlps qword [rsp + 0x6c], xmm0
vmovss dword [rsp + 0x74], xmm1
test edx, edx
je 0x1400ca2e5
cmp byte [rsi + 0x18], 0
jne 0x1400ca2e5
cmp byte [rsi + 0x98], 0
je 0x1400ca2f3
test al, al
lea rax, [0x1401223fc]
lea rcx, [0x140122140]
cmove rcx, rax
mov eax, dword [rcx]
vxorps xmm13, xmm13, xmm13
vcvtsi2ss xmm0, xmm13, rax
vmulss xmm0, xmm0, dword [0x140122114]
vmulss xmm0, xmm0, dword [0x1400ea774]
vzeroupper
call fcn.140091260
vxorps xmm1, xmm1, xmm1
vucomiss xmm1, xmm0
jae 0x1400ca2cf
vmovss xmm1, dword [0x1400e8e00]
vucomiss xmm0, xmm1
jae 0x1400ca2cf
vmovaps xmm1, xmm0
vmovss xmm0, dword [0x1400e8e00]
vsubss xmm0, xmm0, xmm6
vmulss xmm0, xmm0, xmm1
vaddss xmm0, xmm0, xmm6
jmp 0x1400ca2ed
vmulss xmm0, xmm6, dword [0x1400ea770]
vmovss dword [rsp + 0x70], xmm0
lea rcx, [rsp + 0x48]
lea rdx, [rsp + 0x68]
vzeroupper
call fcn.140040350
vmovups xmm0, xmmword [rsp + 0x48]
vmovups xmmword [rsi + 0x278], xmm0
mov al, 1
jmp 0x1400c86a3
cmp byte [rsp + 0x30], 1
jne 0x1400c9b05
mov byte [rsp + 0xf0], 2
mov rcx, qword [rsp + 0xe0]
add rcx, 0xfffffffffffffff0
vzeroupper
call fcn.140009440
cmp byte [rsp + 0xb0], 1
jne 0x1400c9b13
jmp 0x1400c9259