Function at 0x180020d40
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
lea rbp, [rsp - 0x3a8]
sub rsp, 0x4a8
xor sil, sil
mov byte [rbp + 0x3d0], sil
call fcn.180028550
mov rcx, rax
mov rdi, rax
call fcn.1800488d0
test al, al
je 0x180020d85
mov rbx, qword [0x1800abe38]
cmp rbx, 0xffffffffffffffff
je 0x180020d85
mov rbx, qword [rdi + rbx]
jmp 0x180020d87
xor ebx, ebx
mov rcx, rbx
call fcn.1800488d0
test al, al
je 0x180020da7
mov rax, qword [0x1800abce8]
cmp rax, 0xffffffffffffffff
je 0x180020da7
cmp qword [rbx + rax], 0
jne 0x180020dae
mov byte [0x1800ac224], 0x7f
mov rcx, qword [0x1800ac1e8]
movabs rax, 0x7878787878787879
sub rcx, qword [0x1800ac1e0]
xorps xmm0, xmm0
imul rcx
movdqu xmmword [rbp + 0x30], xmm0
mov qword [rsp + 0x498], r13
sar rdx, 6
mov rax, rdx
mov qword [rbp + 0x40], 0
shr rax, 0x3f
add rdx, rax
je 0x180020e5b
movabs rax, 0x1e1e1e1e1e1e1e1
cmp rdx, rax
ja 0x180022e8d
lea rcx, [rbp + 0x30]
call fcn.180020220
mov rbx, qword [rbp + 0x30]
mov rsi, qword [0x1800ac1e8]
mov r13, rbx
mov rdi, qword [0x1800ac1e0]
mov qword [rbp - 0x20], rbx
cmp rdi, rsi
je 0x180020e52
nop dword [rax + rax]
mov rdx, rdi
mov rcx, r13
call fcn.180020a90
add r13, 0x88
add rdi, 0x88
cmp rdi, rsi
jne 0x180020e30
mov qword [rbp - 0x20], r13
mov qword [rbp + 0x38], r13
xor sil, sil
jmp 0x180020e67
mov r13, qword [rbp + 0x38]
mov rbx, qword [rbp + 0x30]
mov qword [rbp - 0x20], r13
mov qword [rsp + 0x4a0], r12
mov qword [rsp + 0x490], r14
mov qword [rsp + 0x488], r15
movaps xmmword [rsp + 0x470], xmm6
movaps xmmword [rsp + 0x460], xmm7
movaps xmmword [rsp + 0x450], xmm8
movaps xmmword [rsp + 0x440], xmm9
movaps xmmword [rsp + 0x430], xmm10
movaps xmmword [rsp + 0x420], xmm11
movaps xmmword [rsp + 0x410], xmm12
movaps xmmword [rsp + 0x400], xmm13
movaps xmmword [rsp + 0x3f0], xmm14
movaps xmmword [rsp + 0x3e0], xmm15
cmp rbx, r13
je 0x180022d83
movdqa xmm9, xmmword [0x1800a0300]
xorps xmm14, xmm14
mov r13, qword [rbx]
movss xmm11, dword [0x1800a0048]
mov rcx, r13
movss xmm10, dword [0x1800a002c]
movss xmm15, dword [0x1800a00a4]
movsd xmm13, qword [0x1800a0050]
movss xmm12, dword [0x1800a00e8]
movdqa xmm8, xmmword [0x1800a02e0]
mov qword [rbp + 0x28], r13
call fcn.1800488d0
test al, al
je 0x180021195
mov rcx, r13
call fcn.1800488d0
test al, al
je 0x180020f59
mov r14, qword [0x1800abcc8]
cmp r14, 0xffffffffffffffff
je 0x180020f59
mov r14, qword [r14 + r13]
jmp 0x180020f5c
xor r14d, r14d
mov rcx, r14
call fcn.1800488d0
test al, al
je 0x180020fa0
call fcn.180029dd0
mov rdi, qword [r14 + 0x10]
mov rsi, rax
test rdi, rdi
je 0x180020fa0
nop dword [rax]
cmp rdi, rsi
je 0x180020fa3
mov rcx, rdi
call fcn.1800488d0
test al, al
je 0x180020fa0
mov eax, dword [0x1800ade38]
mov rdi, qword [rax + rdi]
test rdi, rdi
jne 0x180020f80
xor r14d, r14d
mov rcx, r13
call fcn.1800488d0
test al, al
je 0x180020fc2
mov rcx, qword [0x1800abe08]
cmp rcx, 0xffffffffffffffff
je 0x180020fc2
mov rcx, qword [rcx + r13]
jmp 0x180020fc4
xor ecx, ecx
mov qword [rbx + 8], rcx
call fcn.1800488d0
test al, al
je 0x18002118e
call fcn.180028550
mov rcx, rax
mov rsi, rax
call fcn.1800488d0
test al, al
je 0x180020ffc
mov rdi, qword [0x1800abe38]
cmp rdi, 0xffffffffffffffff
je 0x180020ffc
mov rdi, qword [rsi + rdi]
jmp 0x180020ffe
xor edi, edi
mov rcx, rdi
call fcn.1800488d0
test al, al
je 0x18002101d
mov rax, qword [0x1800abce8]
cmp rax, 0xffffffffffffffff
je 0x18002101d
mov rax, qword [rdi + rax]
jmp 0x18002101f
xor eax, eax
cmp r13, rax
jne 0x1800211b8
mov rcx, qword [rbx + 8]
lea rdx, [rbp + 0x2b8]
mov r8b, 1
call fcn.180027c30
mov rcx, r13
movsd xmm0, qword [rax]
movsd qword [0x1800ac218], xmm0
mov eax, dword [rax + 8]
mov dword [0x1800ac220], eax
movzx eax, byte [rbx + 0x1c]
mov byte [0x1800ac224], al
call fcn.1800488d0
test al, al
je 0x180021097
call fcn.18002a3a0
mov rdi, qword [r13 + 0x10]
mov rsi, rax
test rdi, rdi
je 0x180021097
cmp rdi, rsi
je 0x1800210c1
mov rcx, rdi
call fcn.1800488d0
test al, al
je 0x180021097
mov eax, dword [0x1800ade38]
mov rdi, qword [rax + rdi]
test rdi, rdi
jne 0x180021077
xor ecx, ecx
call fcn.18005e250
mov rcx, r13
call fcn.1800488d0
test al, al
je 0x1800210c6
cmp qword [0x1800abcc8], 0xffffffffffffffff
je 0x1800210c6
mov rax, qword [0x1800abcc0]
mov rcx, qword [rax + r13]
jmp 0x1800210c8
mov rcx, r13
jmp 0x180021099
xor ecx, ecx
call fcn.18005f000
call fcn.180028550
mov rcx, rax
mov rdi, rax
call fcn.1800488d0
test al, al
je 0x1800210f4
mov r14, qword [0x1800abe38]
cmp r14, 0xffffffffffffffff
je 0x1800210f4
mov r14, qword [r14 + rdi]
jmp 0x1800210f7
xor r14d, r14d
mov rcx, r14
call fcn.1800488d0
test al, al
je 0x180021134
call fcn.18002a600
mov rdi, qword [r14 + 0x10]
mov rsi, rax
test rdi, rdi
je 0x180021134
cmp rdi, rsi
je 0x180021137
mov rcx, rdi
call fcn.1800488d0
test al, al
je 0x180021134
mov eax, dword [0x1800ade38]
mov rdi, qword [rax + rdi]
test rdi, rdi
jne 0x180021114
xor r14d, r14d
mov rcx, r13
call fcn.1800488d0
test al, al
je 0x180021174
call fcn.18002a3a0
mov rdi, qword [r13 + 0x10]
mov rsi, rax
test rdi, rdi
je 0x180021174
cmp rdi, rsi
je 0x1800211b3
mov rcx, rdi
call fcn.1800488d0
test al, al
je 0x180021174
mov eax, dword [0x1800ade38]
mov rdi, qword [rax + rdi]
test rdi, rdi
jne 0x180021154
xor ecx, ecx
mov rdx, r14
call fcn.180011e30
mov rcx, qword [0x1800ade10]
mov rdx, r13
mov rax, qword [rcx]
call qword [rax + 0x10]
movzx esi, byte [rbp + 0x3d0]
add rbx, 0x88
cmp rbx, qword [rbp - 0x20]
je 0x180022d83
movups xmm9, xmmword [0x1800a0300]
jmp 0x180020eed
mov rcx, r13
jmp 0x180021176
movzx eax, byte [0x1800ac224]
cmp dword [rbx + 0x1c], eax
je 0x18002118e
mov rdi, qword [rbx]
mov rcx, rdi
call fcn.1800488d0
test al, al
je 0x18002120a
mov rcx, qword [0x1800abe10]
mov rax, qword [0x1800abde0]
cmp rcx, 0xffffffffffffffff
jne 0x1800211f4
cmp rax, rcx
je 0x18002120a
test byte [rdi + rcx], al
setne al
jmp 0x180021206
cmp rax, 0xffffffffffffffff
je 0x180021202
test byte [rdi + rcx], al
setne al
jmp 0x180021206
movzx eax, byte [rdi + rcx]
test al, al
jne 0x18002118e
call fcn.180028550
mov rcx, rax
mov rsi, rax
call fcn.1800488d0
test al, al
je 0x180021231
mov rdi, qword [0x1800abe38]
cmp rdi, 0xffffffffffffffff
je 0x180021231
mov rdi, qword [rdi + rsi]
jmp 0x180021233
xor edi, edi
mov rcx, rdi
call fcn.1800488d0
test al, al
je 0x180021252
mov rsi, qword [0x1800abce8]
cmp rsi, 0xffffffffffffffff
je 0x180021252
mov rsi, qword [rsi + rdi]
jmp 0x180021254
xor esi, esi
mov rcx, rsi
call fcn.1800488d0
test al, al
je 0x180021273
mov rax, qword [0x1800abcc8]
cmp rax, 0xffffffffffffffff
je 0x180021273
mov rsi, qword [rax + rsi]
jmp 0x180021275
xor esi, esi
mov rcx, rsi
call fcn.1800488d0
test al, al
je 0x1800212b2
call fcn.18002a040
mov rdi, qword [rsi + 0x10]
mov r15, rax
test rdi, rdi
je 0x1800212b2
cmp rdi, r15
je 0x1800212b4
mov rcx, rdi
call fcn.1800488d0
test al, al
je 0x1800212b2
mov eax, dword [0x1800ade38]
mov rdi, qword [rax + rdi]
test rdi, rdi
jne 0x180021292
xor esi, esi
mov rcx, rsi
call fcn.1800488d0
test al, al
je 0x1800212d3
mov r15, qword [0x1800abe00]
cmp r15, 0xffffffffffffffff
je 0x1800212d3
mov r15, qword [r15 + rsi]
jmp 0x1800212d6
xor r15d, r15d
mov rcx, r14
call fcn.1800488d0
test al, al
je 0x180021317
call fcn.18002a040
mov rdi, qword [r14 + 0x10]
mov rsi, rax
test rdi, rdi
je 0x180021317
cmp rdi, rsi
je 0x180021564
mov rcx, rdi
call fcn.1800488d0
test al, al
je 0x180021317
mov eax, dword [0x1800ade38]
mov rdi, qword [rax + rdi]
test rdi, rdi
jne 0x1800212f3
xor eax, eax
cmp r15, rax
jne 0x18002133a
mov rcx, r15
call fcn.1800488d0
test al, al
je 0x18002133a
mov rcx, r14
call fcn.1800488d0
test al, al
jne 0x18002118e
mov rcx, qword [0x1800ade10]
mov rdx, r13
mov rax, qword [rcx]
call qword [rax + 0x10]
cmp byte [0x1800adefa], 0
je 0x1800214ec
movss xmm1, dword [0x1800ac2d8]
movaps xmm0, xmm14
movss xmm2, dword [0x1800ac2dc]
unpcklps xmm0, xmm1
movsd qword [rsp + 0x50], xmm0
movss dword [rsp + 0x58], xmm2
mov qword [rsp + 0x5c], 0
mov dword [rsp + 0x64], 0
call fcn.180027030
mov rsi, qword [0x1800adfe0]
mov rcx, rax
mov rdi, rax
call fcn.1800488d0
test al, al
je 0x1800213fc
mov rcx, rsi
call fcn.1800488d0
test al, al
je 0x1800213fc
lea rcx, [rsp + 0x50]
call fcn.1800488d0
test al, al
je 0x1800213fc
mov rcx, qword [rdi]
call fcn.1800488d0
test al, al
je 0x1800213fc
mov rax, qword [rdi]
mov rcx, qword [0x1800ae1f8]
mov rcx, qword [rax + rcx*8]
call fcn.1800488d0
test al, al
je 0x1800213fc
mov r9, qword [rdi]
lea r8, [rsp + 0x50]
mov rax, qword [0x1800ae1f8]
mov rdx, rsi
mov rcx, rdi
call qword [r9 + rax*8]
movss xmm6, dword [rsp + 0x5c]
mov rcx, r13
movss xmm7, dword [rsp + 0x60]
movss xmm8, dword [rsp + 0x64]
mulss xmm6, xmm12
mulss xmm7, xmm12
addss xmm6, dword [0x1800ac2c8]
mulss xmm8, xmm12
addss xmm7, dword [0x1800ac2cc]
addss xmm8, dword [0x1800ac2d0]
call fcn.1800488d0
test al, al
je 0x1800214e3
mov rdi, qword [0x1800ae060]
xor eax, eax
movaps xmm0, xmm6
mov dword [rsp + 0x68], eax
unpcklps xmm0, xmm7
mov rcx, r13
movsd qword [rsp + 0x50], xmm0
movss dword [rsp + 0x58], xmm8
mov word [rsp + 0x5d], ax
mov byte [rsp + 0x5f], al
mov byte [rsp + 0x5c], al
mov qword [rsp + 0x60], rax
mov byte [rsp + 0x68], 1
call fcn.1800488d0
test al, al
je 0x1800214e3
mov rcx, rdi
call fcn.1800488d0
test al, al
je 0x1800214e3
lea rcx, [rsp + 0x50]
call fcn.1800488d0
test al, al
je 0x1800214e3
mov rcx, qword [r13]
call fcn.1800488d0
test al, al
je 0x1800214e3
mov rax, qword [r13]
mov rcx, qword [0x1800ae1f8]
mov rcx, qword [rax + rcx*8]
call fcn.1800488d0
test al, al
je 0x1800214e3
mov r9, qword [r13]
lea r8, [rsp + 0x50]
mov rax, qword [0x1800ae1f8]
mov rdx, rdi
mov rcx, r13
call qword [r9 + rax*8]
movdqa xmm8, xmmword [0x1800a02e0]
mov rcx, rbx
call fcn.180017620
mov rcx, rbx
mov byte [rbx + 0x36], al
call fcn.180017860
mov byte [rbx + 0x35], 0
xor r9d, r9d
mov r8, qword [rbx + 0x50]
mov rax, qword [rbx + 0x58]
sub rax, r8
sar rax, 3
test rax, rax
je 0x1800215b8
mov r10d, dword [0x1800adf38]
xor edx, edx
mov r11d, dword [0x1800adf3c]
nop
movss xmm1, dword [rdx + r8]
ucomiss xmm1, xmm14
jp 0x18002154d
jne 0x18002154d
movss xmm0, dword [rdx + r8 + 4]
ucomiss xmm0, xmm14
jp 0x18002154d
je 0x18002159a
comiss xmm1, xmm14
jb 0x18002156c
movd xmm0, r10d
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jb 0x18002156c
mov cl, 1
jmp 0x18002156e
mov rax, r14
jmp 0x180021319
xor cl, cl
movss xmm1, dword [rdx + r8 + 4]
comiss xmm1, xmm14
jb 0x18002158c
movd xmm0, r11d
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jb 0x18002158c
mov al, 1
jmp 0x18002158e
xor al, al
test cl, cl
je 0x18002159a
test al, al
je 0x18002159a
mov byte [rbx + 0x35], 1
mov rcx, qword [rbx + 0x58]
inc r9d
sub rcx, r8
movsxd rax, r9d
sar rcx, 3
add rdx, 8
cmp rax, rcx
jb 0x180021530
mov rax, qword [rbx + 0x38]
movaps xmm1, xmm13
movsd xmm6, qword [rax + 0x24]
mov edi, dword [rax + 0x2c]
movaps xmm0, xmm6
shufps xmm0, xmm0, 0x55
subss xmm0, dword [0x1800ac21c]
cvtss2sd xmm0, xmm0
call fcn.18008aea0
movaps xmm7, xmm0
movsd qword [rbp - 0x80], xmm6
subss xmm6, dword [0x1800ac218]
xorps xmm0, xmm0
movaps xmm1, xmm13
cvtss2sd xmm0, xmm6
call fcn.18008aea0
movd xmm1, edi
addsd xmm7, xmm0
subss xmm1, dword [0x1800ac220]
cvtps2pd xmm0, xmm1
movaps xmm1, xmm13
call fcn.18008aea0
addsd xmm7, xmm0
xorps xmm1, xmm1
ucomisd xmm1, xmm7
ja 0x180021632
xorps xmm0, xmm0
sqrtsd xmm0, xmm7
jmp 0x18002163a
movaps xmm0, xmm7
call fcn.18008d1a8
cvtsd2ss xmm0, xmm0
divss xmm0, dword [0x1800a00d0]
comiss xmm0, dword [0x1800a00f0]
movss dword [rbx + 0x30], xmm0
ja 0x18002118e
mov r9, qword [rbx + 0x80]
xor r8d, r8d
mov byte [rbx + 0x34], 0
test r9, r9
je 0x1800216a6
mov r10, qword [rbx + 0x68]
xor eax, eax
nop dword [rax]
nop word [rax + rax]
mov rdx, rax
and al, 0x1f
shr rdx, 5
movzx ecx, al
mov eax, dword [r10 + rdx*4]
bt eax, ecx
jb 0x1800216a2
inc r8d
movsxd rax, r8d
cmp rax, r9
jb 0x180021680
jmp 0x1800216a6
mov byte [rbx + 0x34], 1
mov rcx, r13
call fcn.1800488d0
test al, al
je 0x1800216c9
cmp qword [0x1800abcc8], 0xffffffffffffffff
je 0x1800216c9
mov rax, qword [0x1800abcc0]
mov r12, qword [rax + r13]
jmp 0x1800216cc
xor r12d, r12d
cmp r12, qword [rbx + 0x10]
je 0x180021770
mov rcx, r12
mov qword [rbx + 0x10], r12
call fcn.1800488d0
test al, al
jne 0x1800216ed
xor eax, eax
jmp 0x18002176d
mov rdi, qword [0x1800ae108]
mov rcx, r12
mov dword [rbp + 0x3e8], 0
call fcn.1800488d0
test al, al
je 0x180021767
mov rcx, rdi
call fcn.1800488d0
test al, al
je 0x180021767
lea rcx, [rbp + 0x3e8]
call fcn.1800488d0
test al, al
je 0x180021767
mov rcx, qword [r12]
call fcn.1800488d0
test al, al
je 0x180021767
mov rax, qword [r12]
mov rcx, qword [0x1800ae1f8]
mov rcx, qword [rax + rcx*8]
call fcn.1800488d0
test al, al
je 0x180021767
mov r9, qword [r12]
lea r8, [rbp + 0x3e8]
mov rax, qword [0x1800ae1f8]
mov rdx, rdi
mov rcx, r12
call qword [r9 + rax*8]
mov eax, dword [rbp + 0x3e8]
mov dword [rbx + 0x18], eax
cmp byte [rbx + 0x35], 0
je 0x1800228c6
lea r8, [rbp - 0x38]
mov qword [rbp - 0x40], 0
lea rdx, [rbp - 0x40]
mov qword [rbp - 0x38], 0
mov rcx, rbx
call fcn.180017f40
movss xmm2, dword [rbx + 0x30]
lea rax, [rbp - 0x60]
movss xmm6, dword [0x1800a0060]
lea rcx, [rbp + 0x3e0]
movaps xmm0, xmm2
mov dword [rbp + 0x3e0], 0x41400000
minss xmm0, dword [0x1800a00d8]
minss xmm2, dword [0x1800a00cc]
movaps xmm1, xmm15
mov dword [rbp - 0x58], 0x41a00000
lea rdx, [rbp - 0x58]
mov dword [rbp - 0x48], 0x40000000
lea rdi, [rbp - 0x30]
mov dword [rbp - 0x30], 0x40400000
divss xmm0, dword [0x1800a00d8]
divss xmm2, dword [0x1800a00cc]
mulss xmm0, dword [0x1800a0084]
subss xmm1, xmm0
movss xmm0, dword [0x1800a0090]
comiss xmm0, xmm1
movss dword [rbp - 0x60], xmm1
movaps xmm0, xmm2
addss xmm0, xmm2
cmovbe rcx, rax
lea rax, [rbp - 0x58]
comiss xmm1, xmm15
movaps xmm1, xmm6
subss xmm1, xmm0
movaps xmm0, xmm11
cmovbe rax, rcx
subss xmm0, xmm2
lea rcx, [rbp + 0x3e0]
movss xmm12, dword [rax]
lea rax, [rbp - 0x60]
comiss xmm10, xmm1
mov dword [rbp + 0x3e0], 0x3f800000
mov dword [rbp - 0x58], 0x3f800000
movss dword [rbp - 0x50], xmm0
movss dword [rbp - 0x28], xmm12
cmovbe rdx, rax
movss dword [rbp - 0x60], xmm1
comiss xmm10, xmm0
lea rax, [rbp - 0x50]
cmovbe rcx, rax
lea rax, [rbp - 0x48]
comiss xmm0, xmm11
movdqa xmm0, xmmword [0x1800a0310]
movaps xmm13, xmm0
cmovbe rax, rcx
comiss xmm1, xmm6
movss xmm11, dword [rax]
movups xmmword [rsp + 0x50], xmm0
cmovbe rdi, rdx
cmp byte [rbx + 0x34], 0
mov qword [rbp + 0x3e0], rdi
je 0x1800218ce
movaps xmm13, xmm8
movdqa xmm10, xmm9
movups xmmword [rsp + 0x50], xmm8
jmp 0x1800218d2
movaps xmm10, xmm8
cmp byte [rbx + 0x35], 0
je 0x18002294c
cmp byte [0x1800abd9b], 0
je 0x18002294c
cmp byte [0x1800abdc5], 0
je 0x180021aff
mov r13, qword [0x1800ae308]
mov r14, qword [0x1800ae300]
cmp r14, r13
je 0x180021afb
mov edi, 1
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r14]
xor r9b, r9b
movd xmm1, dword [0x1800adf38]
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov dword [rbp + 0x20], eax
movzx eax, byte [r14 + 1]
movd xmm0, dword [0x1800adf3c]
cvtdq2ps xmm1, xmm1
mov dword [rbp + 0x24], eax
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm14
setae al
comiss xmm0, xmm14
setae cl
test al, al
je 0x180021965
test cl, cl
jne 0x180021983
comiss xmm1, xmm14
setae al
comiss xmm0, xmm14
setae cl
test al, al
je 0x180021ae7
test cl, cl
je 0x180021ae7
xor r10d, r10d
lea r11, [rbp - 0x80]
nop word [rax + rax]
movsxd rcx, dword [rbp + r10*4 + 0x20]
lea eax, [rcx - 1]
cmp eax, 0x12
ja 0x1800219d9
mov rax, qword [rbx + 0x50]
mov r8, rcx
mov rdx, qword [rbx + 0x68]
shr r8, 5
movzx r9d, r9b
movsd xmm0, qword [rax + rcx*8]
movzx eax, cl
and al, 0x1f
movsd qword [r11], xmm0
movzx ecx, al
mov eax, dword [rdx + r8*4]
bt eax, ecx
cmovb r9d, edi
inc r10
add r11, 8
cmp r10, rdi
jle 0x180021990
cmp byte [0x1800abd99], 0
je 0x180021a0f
test r9b, r9b
je 0x1800219fb
movaps xmm0, xmm9
lea r15, [rbp + 0x1f8]
movups xmmword [rbp + 0x1f8], xmm0
jmp 0x180021a1e
movaps xmm0, xmm8
lea r15, [rbp + 0x1f8]
movups xmmword [rbp + 0x1f8], xmm0
jmp 0x180021a1e
movups xmmword [rbp + 0x208], xmm10
lea r15, [rbp + 0x208]
mov rsi, qword [0x1800adf30]
movss xmm6, dword [rbp - 0x78]
mov rcx, rsi
movss xmm7, dword [rbp - 0x74]
movss xmm8, dword [rbp - 0x80]
movss xmm9, dword [rbp - 0x7c]
call fcn.1800488d0
test al, al
je 0x180021ad6
movups xmm0, xmmword [r15]
mov r15, qword [0x1800adfd0]
mov rcx, rsi
movss dword [rbp - 8], xmm8
movups xmmword [rbp + 0xc], xmm0
movss dword [rbp - 4], xmm9
movss dword [rbp], xmm6
movss dword [rbp + 4], xmm7
movss dword [rbp + 8], xmm11
call fcn.1800488d0
test al, al
je 0x180021ad6
mov rcx, r15
call fcn.1800488d0
test al, al
je 0x180021ad6
lea rcx, [rbp - 8]
call fcn.1800488d0
test al, al
je 0x180021ad6
mov rcx, qword [rsi]
call fcn.1800488d0
test al, al
je 0x180021ad6
mov rax, qword [rsi]
mov rcx, qword [0x1800ae1f8]
mov rcx, qword [rax + rcx*8]
call fcn.1800488d0
test al, al
je 0x180021ad6
mov r9, qword [rsi]
lea r8, [rbp - 8]
mov rax, qword [0x1800ae1f8]
mov rdx, r15
mov rcx, rsi
call qword [r9 + rax*8]
movdqa xmm8, xmmword [0x1800a02e0]
movups xmm9, xmmword [0x1800a0300]
add r14, 2
cmp r14, r13
jne 0x180021920
mov rdi, qword [rbp + 0x3e0]
mov r13, qword [rbp + 0x28]
cmp byte [0x1800abdc4], 0
movss xmm9, dword [rbp - 0x40]
movss xmm10, dword [rbp - 0x34]
movss xmm7, dword [rbp - 0x38]
movss xmm15, dword [rbp - 0x3c]
movss dword [rbp + 0x3e0], xmm9
movss dword [rbp - 0x50], xmm10
movss dword [rbp - 0x48], xmm7
je 0x180021d54
movups xmm12, xmmword [rsp + 0x50]
lea r9, [rbp - 0x80]
mov byte [rsp + 0x20], 1
movss xmm2, dword [rdi]
subss xmm7, xmm9
subss xmm10, xmm15
movdqa xmmword [rbp - 0x80], xmm12
movaps xmm1, xmm9
unpcklps xmm1, xmm15
movq rcx, xmm1
movaps xmm8, xmm7
mulss xmm8, dword [0x1800a001c]
movaps xmm13, xmm10
mulss xmm13, dword [0x1800a001c]
movaps xmm11, xmm8
addss xmm11, xmm9
movaps xmm0, xmm11
unpcklps xmm0, xmm15
movq rdx, xmm0
call fcn.180012110
movss xmm2, dword [rdi]
lea r9, [rbp - 0x80]
movaps xmm6, xmm13
movdqa xmmword [rbp - 0x80], xmm12
addss xmm6, xmm15
mov byte [rsp + 0x20], 1
movaps xmm0, xmm9
movaps xmm1, xmm9
unpcklps xmm1, xmm15
movq rcx, xmm1
unpcklps xmm0, xmm6
movq rdx, xmm0
call fcn.180012110
movups xmm0, xmmword [rsp + 0x50]
mov byte [rsp + 0x20], 1
lea r9, [rbp - 0x80]
movaps xmm12, xmm9
addss xmm12, xmm7
movdqa xmmword [rbp - 0x80], xmm0
movss xmm7, dword [rdi]
movaps xmm2, xmm7
movaps xmm0, xmm12
movaps xmm1, xmm12
unpcklps xmm0, xmm6
unpcklps xmm1, xmm15
movq rdx, xmm0
movq rcx, xmm1
call fcn.180012110
movups xmm6, xmmword [rsp + 0x50]
mov byte [rsp + 0x20], 1
lea r9, [rbp - 0x80]
movaps xmm9, xmm12
movaps xmm0, xmm12
subss xmm9, xmm8
unpcklps xmm0, xmm15
movaps xmm2, xmm7
movdqa xmmword [rbp - 0x80], xmm6
movq rdx, xmm0
movaps xmm1, xmm9
unpcklps xmm1, xmm15
movq rcx, xmm1
call fcn.180012110
movss xmm8, dword [rbp + 0x3e0]
lea r9, [rbp - 0x80]
movaps xmm7, xmm15
movdqa xmmword [rbp - 0x80], xmm6
addss xmm7, xmm10
mov byte [rsp + 0x20], 1
movss xmm10, dword [rdi]
movaps xmm0, xmm11
movaps xmm1, xmm8
movaps xmm2, xmm10
unpcklps xmm0, xmm7
unpcklps xmm1, xmm7
movq rdx, xmm0
movq rcx, xmm1
call fcn.180012110
movaps xmm6, xmm7
subss xmm6, xmm13
movups xmm13, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x50], xmm13
movaps xmm0, xmm8
mov byte [rsp + 0x20], 1
movaps xmm1, xmm8
unpcklps xmm0, xmm7
unpcklps xmm1, xmm6
lea r9, [rsp + 0x50]
movq rdx, xmm0
movq rcx, xmm1
movaps xmm2, xmm10
call fcn.180012110
movaps xmm0, xmm12
movdqa xmmword [rsp + 0x50], xmm13
movaps xmm1, xmm12
unpcklps xmm0, xmm7
unpcklps xmm1, xmm6
lea r9, [rsp + 0x50]
movq rdx, xmm0
mov byte [rsp + 0x20], 1
movq rcx, xmm1
movaps xmm2, xmm10
call fcn.180012110
movaps xmm0, xmm12
movdqa xmmword [rsp + 0x50], xmm13
movaps xmm1, xmm9
unpcklps xmm0, xmm7
unpcklps xmm1, xmm7
lea r9, [rsp + 0x50]
movq rdx, xmm0
mov byte [rsp + 0x20], 1
movq rcx, xmm1
movaps xmm2, xmm10
call fcn.180012110
movss xmm7, dword [rbp - 0x48]
movaps xmm9, xmm8
movss xmm10, dword [rbp - 0x50]
movss xmm12, dword [rbp - 0x28]
cmp byte [0x1800abd98], 0
movss xmm11, dword [0x1800a0048]
je 0x180021e09
movaps xmm6, xmm7
subss xmm15, xmm12
subss xmm6, xmm9
lea rcx, [rbx + 0x20]
lea rdx, [rbp - 8]
subss xmm15, xmm11
mulss xmm6, dword [0x1800a0028]
addss xmm6, xmm9
call fcn.180020c80
cmp qword [rax + 0x18], 0xf
jbe 0x180021da0
mov rax, qword [rax]
movaps xmm0, xmm6
mov byte [rsp + 0x28], 0
unpcklps xmm0, xmm15
lea r9, [rsp + 0x50]
movq rdx, xmm0
movdqa xmmword [rsp + 0x50], xmm13
movaps xmm2, xmm12
mov byte [rsp + 0x20], 1
mov rcx, rax
call fcn.1800123b0
mov rdx, qword [rbp + 0x10]
cmp rdx, 0xf
jbe 0x180021e09
mov rcx, qword [rbp - 8]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180021e04
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180022e93
call fcn.18006a6e8
cmp byte [0x1800abd9a], 0
movss xmm15, dword [0x1800a0028]
je 0x1800220fc
mov eax, dword [0x18009c2c0]
lea rcx, [rbp + 0xf0]
cvttss2si edx, dword [rbx + 0x30]
mov dword [rsp + 0x70], eax
movzx eax, byte [0x18009c2c4]
xor byte [rsp + 0x71], 0x31
xor al, 0x34
xor byte [rsp + 0x72], 0x32
xor byte [rsp + 0x73], 0x33
mov byte [rsp + 0x70], 0x20
mov byte [rsp + 0x74], al
movaps xmm6, xmm7
movaps xmm8, xmm10
subss xmm6, xmm9
addss xmm8, xmm11
mulss xmm6, xmm15
addss xmm6, xmm9
call fcn.180023200
movzx eax, word [0x18009c2b4]
mov rdi, 0xffffffffffffffff
mov word [rsp + 0x40], ax
movzx eax, byte [0x18009c2b6]
xor byte [rsp + 0x41], 0x31
xor al, 0x32
mov byte [rsp + 0x40], 0x5b
mov byte [rsp + 0x42], al
lea rax, [rsp + 0x40]
inc rdi
cmp byte [rax + rdi], 0
jne 0x180021ea5
mov rcx, qword [rbp + 0x108]
mov r8, qword [rbp + 0x100]
mov rax, rcx
sub rax, r8
cmp rdi, rax
ja 0x180021f66
lea rax, [rdi + r8]
cmp rcx, 0xf
mov qword [rbp + 0x100], rax
lea rsi, [rbp + 0xf0]
cmova rsi, qword [rbp + 0xf0]
lea rax, [rsp + 0x40]
add rax, rdi
cmp rax, rsi
jbe 0x180021f20
lea rax, [rsi + r8]
lea rcx, [rsp + 0x40]
cmp rcx, rax
ja 0x180021f20
lea rax, [rsp + 0x40]
cmp rsi, rax
ja 0x180021f13
xor r14d, r14d
jmp 0x180021f23
lea rax, [rsp + 0x40]
mov r14, rsi
sub r14, rax
jmp 0x180021f23
mov r14, rdi
inc r8
lea rcx, [rsi + rdi]
mov rdx, rsi
call fcn.18008e4e0
mov r8, r14
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.18008e4e0
lea rax, [r14 + rdi]
mov r8, rdi
lea rdx, [rsp + 0x40]
sub r8, r14
add rdx, rax
lea rcx, [rsi + r14]
call fcn.18008e4e0
lea rax, [rbp + 0xf0]
jmp 0x180021f84
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rdi
mov rdx, rdi
mov qword [rsp + 0x20], rax
lea rcx, [rbp + 0xf0]
call fcn.1800238b0
mov qword [rsp + 0x60], 0
lea rdx, [rsp + 0x70]
mov qword [rsp + 0x68], 0
lea rcx, [rsp + 0x50]
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x50], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x60], xmm1
mov qword [rax + 0x18], 0xf
mov qword [rax + 0x10], 0
mov byte [rax], 0
call fcn.180023000
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm1
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rsp + 0x68]
cmp rdx, 0xf
jbe 0x180022030
mov rcx, qword [rsp + 0x50]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002202b
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180022e99
call fcn.18006a6e8
mov rdx, qword [rbp + 0x108]
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], 0xf
mov byte [rsp + 0x50], 0
cmp rdx, 0xf
jbe 0x180022088
mov rcx, qword [rbp + 0xf0]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180022083
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180022e99
call fcn.18006a6e8
cmp qword [rbp - 0x68], 0xf
lea rcx, [rbp - 0x80]
movaps xmm0, xmm6
mov byte [rsp + 0x28], 0
cmova rcx, qword [rbp - 0x80]
lea r9, [rsp + 0x50]
unpcklps xmm0, xmm8
movaps xmm2, xmm12
movq rdx, xmm0
movdqa xmmword [rsp + 0x50], xmm13
mov byte [rsp + 0x20], 1
call fcn.1800123b0
mov rdx, qword [rbp - 0x68]
cmp rdx, 0xf
jbe 0x1800220fc
mov rcx, qword [rbp - 0x80]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800220f7
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180022e9f
call fcn.18006a6e8
cmp byte [0x1800abdc6], 0
je 0x18002294c
test r12, r12
je 0x18002294c
mov rcx, r12
call fcn.1800488d0
test al, al
je 0x180022131
mov rdi, qword [0x1800abdf0]
cmp rdi, 0xffffffffffffffff
je 0x180022131
mov rdi, qword [rdi + r12]
jmp 0x180022133
xor edi, edi
mov rcx, rdi
call fcn.1800488d0
test al, al
je 0x1800221f2
mov rax, qword [0x1800abdf8]
cmp rax, 0xffffffffffffffff
je 0x1800221f2
movsd xmm0, qword [rax + rdi + 0x10]
mov rax, qword [rax + rdi]
movsd qword [rsp + 0x60], xmm0
test rax, rax
je 0x1800221f2
mov rdx, qword [rax + 0x28]
test rdx, rdx
je 0x1800221f2
lea rcx, [rsp + 0x50]
call fcn.180022eb0
cmp qword [rsp + 0x68], 7
lea rdx, [rsp + 0x50]
mov rax, qword [rsp + 0x60]
lea rcx, [rbp - 0x80]
cmova rdx, qword [rsp + 0x50]
lea r8, [rdx + rax*2]
lea rdx, [rsp + 0x50]
cmova rdx, qword [rsp + 0x50]
call fcn.1800233e0
mov rdx, qword [rsp + 0x68]
cmp rdx, 7
jbe 0x18002220d
mov rcx, qword [rsp + 0x50]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800221eb
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180022ea5
call fcn.18006a6e8
jmp 0x18002220d
xorps xmm0, xmm0
mov qword [rbp - 0x70], 0
movups xmmword [rbp - 0x80], xmm0
mov byte [rbp - 0x80], 0
mov qword [rbp - 0x68], 0xf
mov rcx, r12
call fcn.1800488d0
test al, al
je 0x18002222c
mov rax, qword [0x1800abde8]
cmp rax, 0xffffffffffffffff
je 0x18002222c
mov edi, dword [rax + r12]
jmp 0x18002222e
xor edi, edi
cmp dword [rbx + 0x18], 0
je 0x1800227ed
movzx eax, word [0x18009c2b0]
xorps xmm0, xmm0
mov word [rbp + 0x3d8], ax
mov r8, 0xffffffffffffffff
movzx eax, byte [0x18009c2b2]
xor byte [rbp + 0x3d9], 0x31
xor al, 0x32
mov byte [rbp + 0x3d8], 0x20
mov byte [rbp + 0x3da], al
lea rax, [rbp + 0x3d8]
movups xmmword [rbp + 0x140], xmm0
mov qword [rbp + 0x150], 0
mov qword [rbp + 0x158], 0
inc r8
cmp byte [rax + r8], 0
jne 0x180022291
lea rdx, [rbp + 0x3d8]
lea rcx, [rbp + 0x140]
call fcn.180012cd0
mov edx, dword [rbx + 0x18]
lea rcx, [rbp - 8]
call fcn.180023200
cmp byte [0x18009c2bf], 0
mov eax, dword [0x18009c2bc]
mov esi, dword [0x1800ab090]
mov dword [rbp + 0x3e0], eax
je 0x1800223b4
cmp esi, 2
jl 0x18002236e
movdqa xmm6, xmmword [0x1800a0170]
movdqa xmm8, xmmword [0x1800a0390]
movdqa xmm1, xmm6
movdqa xmm11, xmmword [0x1800a0280]
movdqa xmm0, xmm6
movdqa xmm13, xmmword [0x1800a02b0]
punpckldq xmm1, xmm6
pmuldq xmm1, xmm8
punpckhdq xmm0, xmm6
pmuldq xmm0, xmm8
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm6
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm6
pmulld xmm0, xmmword [0x1800a01f0]
psubd xmm1, xmm0
movd xmm0, eax
andps xmm1, xmm11
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm13
xorps xmm1, xmm0
movd dword [rbp + 0x3e0], xmm1
jmp 0x1800223d7
lea r9, [rbp + 0x3e0]
xor r8d, r8d
nop dword [rax + rax]
mov eax, 0x92492493
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x38
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x30
xor byte [r9 - 1], al
cmp r8d, 4
jl 0x180022380
movdqa xmm13, xmmword [0x1800a02b0]
movdqa xmm11, xmmword [0x1800a0280]
movdqa xmm8, xmmword [0x1800a0390]
movdqa xmm6, xmmword [0x1800a0170]
xorps xmm0, xmm0
mov qword [rbp + 0x130], 0
movups xmmword [rbp + 0x120], xmm0
mov qword [rbp + 0x138], 0
lea rax, [rbp + 0x3e0]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x180022405
lea rdx, [rbp + 0x3e0]
lea rcx, [rbp + 0x120]
call fcn.180012cd0
mov edx, edi
lea rcx, [rbp + 0x298]
call fcn.180023200
cmp byte [0x18009c2bb], 0
mov eax, dword [0x18009c2b8]
mov dword [rbp + 0x3e0], eax
je 0x1800224f5
cmp esi, 2
jl 0x1800224b7
movdqa xmm1, xmm6
movdqa xmm0, xmm6
punpckldq xmm1, xmm6
pmuldq xmm1, xmm8
punpckhdq xmm0, xmm6
pmuldq xmm0, xmm8
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm6
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
movdqa xmm1, xmm6
pmulld xmm0, xmmword [0x1800a01f0]
psubd xmm1, xmm0
movd xmm0, eax
andps xmm1, xmm11
packuswb xmm1, xmm1
packuswb xmm1, xmm1
paddb xmm1, xmm13
xorps xmm1, xmm0
movd dword [rbp + 0x3e0], xmm1
jmp 0x1800224f5
lea r9, [rbp + 0x3e0]
xor r8d, r8d
mov eax, 0x92492493
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x38
movzx eax, r8b
inc r8d
sub al, cl
add al, 0x30
xor byte [r9 - 1], al
cmp r8d, 4
jl 0x1800224c1
xorps xmm0, xmm0
mov qword [rsp + 0x60], 0
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x68], 0
lea rax, [rbp + 0x3e0]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x180022520
lea rdx, [rbp + 0x3e0]
lea rcx, [rsp + 0x50]
call fcn.180012cd0
lea r9, [rbp + 0x298]
lea r8, [rsp + 0x50]
lea rcx, [rbp + 0x278]
call fcn.1800236b0
lea r9, [rbp + 0x120]
lea r8, [rbp + 0x278]
lea rcx, [rbp + 0x258]
call fcn.1800236b0
lea r9, [rbp - 8]
lea r8, [rbp + 0x258]
lea rcx, [rbp + 0x238]
call fcn.1800236b0
lea r9, [rbp + 0x140]
lea r8, [rbp + 0x238]
lea rcx, [rbp + 0x218]
call fcn.1800236b0
lea rdx, [rbp + 0x218]
lea rcx, [rbp - 0x80]
call fcn.1800230a0
mov rdx, qword [rbp + 0x230]
cmp rdx, 0xf
jbe 0x1800225ef
mov rcx, qword [rbp + 0x218]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800225ea
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180022e87
call fcn.18006a6e8
mov rdx, qword [rbp + 0x250]
cmp rdx, 0xf
jbe 0x180022630
mov rcx, qword [rbp + 0x238]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002262b
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180022e87
call fcn.18006a6e8
mov rdx, qword [rbp + 0x270]
cmp rdx, 0xf
jbe 0x180022671
mov rcx, qword [rbp + 0x258]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002266c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180022e87
call fcn.18006a6e8
mov rdx, qword [rbp + 0x290]
cmp rdx, 0xf
jbe 0x1800226b2
mov rcx, qword [rbp + 0x278]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800226ad
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180022e87
call fcn.18006a6e8
mov rdx, qword [rsp + 0x68]
cmp rdx, 0xf
jbe 0x1800226ef
mov rcx, qword [rsp + 0x50]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800226ea
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180022e87
call fcn.18006a6e8
mov rdx, qword [rbp + 0x2b0]
cmp rdx, 0xf
jbe 0x180022730
mov rcx, qword [rbp + 0x298]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002272b
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180022e87
call fcn.18006a6e8
mov rdx, qword [rbp + 0x138]
cmp rdx, 0xf
jbe 0x180022771
mov rcx, qword [rbp + 0x120]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002276c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180022e87
call fcn.18006a6e8
mov rdx, qword [rbp + 0x10]
cmp rdx, 0xf
jbe 0x1800227ac
mov rcx, qword [rbp - 8]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800227a7
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180022e87
call fcn.18006a6e8
mov rdx, qword [rbp + 0x158]
cmp rdx, 0xf
jbe 0x1800227ed
mov rcx, qword [rbp + 0x140]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800227e8
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180022e87
call fcn.18006a6e8
cmp byte [0x1800abd9a], 0
subss xmm7, xmm9
mulss xmm7, xmm15
addss xmm7, xmm9
je 0x180022813
movaps xmm6, xmm12
addss xmm6, dword [0x1800a002c]
jmp 0x180022817
movaps xmm6, xmm14
mov rcx, r12
addss xmm6, xmm10
call fcn.1800488d0
test al, al
je 0x18002283b
mov rax, qword [0x1800abdf0]
cmp rax, 0xffffffffffffffff
je 0x18002283b
mov rcx, qword [rax + r12]
jmp 0x18002283d
xor ecx, ecx
lea rdx, [rbp + 0x2c4]
call fcn.180029470
cmp qword [rbp - 0x68], 0xf
lea rcx, [rbp - 0x80]
mov byte [rsp + 0x28], 0
lea r9, [rsp + 0x50]
cmova rcx, qword [rbp - 0x80]
movaps xmm2, xmm12
movups xmm0, xmmword [rax]
mov byte [rsp + 0x20], 1
movaps xmmword [rsp + 0x50], xmm0
movaps xmm0, xmm7
unpcklps xmm0, xmm6
movq rdx, xmm0
call fcn.1800123b0
mov rdx, qword [rbp - 0x68]
cmp rdx, 0xf
jbe 0x18002294c
mov rcx, qword [rbp - 0x80]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800228bc
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180022e87
call fcn.18006a6e8
jmp 0x18002294c
cmp byte [0x1800abd9b], 0
je 0x18002294c
cmp byte [0x1800abdb4], 0
je 0x18002294c
mov rax, qword [rbx + 0x38]
lea r8, [rbp + 0x110]
mov rcx, qword [0x1800adf30]
lea rdx, [rbp - 0x18]
movsd xmm0, qword [rax + 0xc]
mov eax, dword [rax + 0x14]
movsd qword [rbp + 0x110], xmm0
mov dword [rbp + 0x118], eax
call fcn.1800274f0
comiss xmm14, dword [rbp - 0x10]
jb 0x18002294c
movss xmm0, dword [rbp - 0x18]
movd xmm1, dword [0x1800adf38]
movd xmm2, dword [0x1800adf3c]
mulss xmm0, xmm10
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm2, xmm2
subss xmm1, xmm0
movss xmm0, dword [rbp - 0x14]
mulss xmm0, xmm10
subss xmm2, xmm0
movss dword [rbp - 0x18], xmm1
movss dword [rbp - 0x14], xmm2
cmp byte [0x1800abd09], 0
je 0x18002118e
call fcn.180028550
mov rcx, rax
mov rsi, rax
call fcn.1800488d0
test al, al
je 0x180022980
mov rdi, qword [0x1800abe38]
cmp rdi, 0xffffffffffffffff
je 0x180022980
mov rdi, qword [rsi + rdi]
jmp 0x180022982
xor edi, edi
mov rcx, rdi
call fcn.1800488d0
test al, al
je 0x18002118e
mov rax, qword [0x1800abce8]
cmp rax, 0xffffffffffffffff
je 0x18002118e
cmp qword [rdi + rax], 0
je 0x18002118e
cmp byte [rbx + 0x34], 0
jne 0x1800229d3
cmp byte [0x1800abd50], 0
je 0x1800229d3
cmp byte [0x1800adeb4], 1
je 0x1800229d3
cmp byte [0x1800adeb5], 1
jne 0x180022c22
cmp byte [0x1800ac288], 0
je 0x1800229f5
cmp byte [0x1800abd0a], 0
je 0x1800229f5
mov rax, qword [0x1800ac240]
test rax, rax
jne 0x180022c29
xor eax, eax
movss dword [rsp + 0x20], xmm14
xorps xmm0, xmm0
mov dword [rbp + 0x91], eax
xorps xmm1, xmm1
mov word [rbp + 0x95], ax
lea rdi, [0x18009b3e8]
mov byte [rbp + 0x97], al
lea r8, [0x1800ac2c8]
mov qword [rbp + 0x50], rdi
mov rdx, rbx
mov qword [rbp + 0x60], rax
lea rcx, [rbp + 0x50]
mov qword [rbp + 0x68], rax
movups xmmword [rbp + 0x70], xmm0
movups xmmword [rbp + 0x80], xmm1
mov byte [rbp + 0x90], al
mov dword [rbp + 0xac], eax
movups xmmword [rbp + 0xb0], xmm0
movups xmmword [rbp + 0xc0], xmm1
mov qword [rbp + 0xd0], rax
mov qword [rbp + 0xd8], rax
mov qword [rbp + 0xe0], rax
mov qword [rbp + 0x58], 4
mov qword [rbp + 0xa4], 0x7f7fffff
mov dword [rbp + 0x98], 0x7f7fffff
mov dword [rbp + 0x9c], 0x7f7fffff
mov dword [rbp + 0xa0], 0x7f7fffff
call fcn.180015690
movups xmm0, xmmword [rbp + 0x58]
lea rcx, [rbp + 0x160]
mov qword [rbp + 0x160], rdi
movups xmm1, xmmword [rbp + 0x68]
movups xmmword [rbp + 0x168], xmm0
movups xmm0, xmmword [rbp + 0x78]
movups xmmword [rbp + 0x178], xmm1
movups xmm1, xmmword [rbp + 0x88]
movups xmmword [rbp + 0x188], xmm0
movups xmm0, xmmword [rbp + 0x98]
movups xmmword [rbp + 0x198], xmm1
movups xmm1, xmmword [rbp + 0xa8]
movups xmmword [rbp + 0x1a8], xmm0
movups xmm0, xmmword [rbp + 0xb8]
movups xmmword [rbp + 0x1b8], xmm1
movups xmm1, xmmword [rbp + 0xc8]
movups xmmword [rbp + 0x1c8], xmm0
movups xmm0, xmmword [rbp + 0xd8]
movups xmmword [rbp + 0x1d8], xmm1
movups xmmword [rbp + 0x1e8], xmm0
call fcn.180015270
mov rax, qword [0x1800ac230]
lea rdx, [rbp + 0x50]
movups xmm6, xmmword [rbp + 0x168]
lea rcx, [0x1800ac230]
mov qword [rbp + 0x50], rdi
movups xmm7, xmmword [rbp + 0x178]
movups xmm8, xmmword [rbp + 0x188]
movups xmm9, xmmword [rbp + 0x198]
movups xmm10, xmmword [rbp + 0x1a8]
movups xmm11, xmmword [rbp + 0x1b8]
movups xmm12, xmmword [rbp + 0x1c8]
movups xmm13, xmmword [rbp + 0x1d8]
movups xmm15, xmmword [rbp + 0x1e8]
movups xmmword [rbp + 0x58], xmm6
movups xmmword [rbp + 0x68], xmm7
movups xmmword [rbp + 0x78], xmm8
movups xmmword [rbp + 0x88], xmm9
movups xmmword [rbp + 0x98], xmm10
movups xmmword [rbp + 0xa8], xmm11
movups xmmword [rbp + 0xb8], xmm12
movups xmmword [rbp + 0xc8], xmm13
movups xmmword [rbp + 0xd8], xmm15
call qword [rax + 0x10]
test al, al
je 0x180022c22
movups xmmword [0x1800ac238], xmm6
psrldq xmm6, 8
movq rax, xmm6
movups xmmword [0x1800ac248], xmm7
movups xmmword [0x1800ac258], xmm8
movups xmmword [0x1800ac268], xmm9
movups xmmword [0x1800ac278], xmm10
movups xmmword [0x1800ac288], xmm11
movups xmmword [0x1800ac298], xmm12
movups xmmword [0x1800ac2a8], xmm13
movups xmmword [0x1800ac2b8], xmm15
jmp 0x180022c29
mov rax, qword [0x1800ac240]
cmp rax, r13
jne 0x18002118e
cmp byte [rbx + 0x34], 0
jne 0x180022d44
cmp byte [0x1800abd50], 1
jne 0x180022d44
cmp byte [0x1800adeb4], 0
jne 0x180022d44
cmp byte [0x1800adeb5], 0
jne 0x180022d44
movaps xmm0, xmm14
movss dword [0x1800ac250], xmm14
unpcklps xmm0, xmm14
movsd qword [0x1800ac248], xmm0
movaps xmm0, xmm14
unpcklps xmm0, xmm14
movsd qword [0x1800ac25c], xmm0
movaps xmm0, xmm14
unpcklps xmm0, xmm14
movsd qword [0x1800ac28c], xmm0
movaps xmm0, xmm14
unpcklps xmm0, xmm14
movsd qword [0x1800ac2a4], xmm0
movss dword [0x1800ac264], xmm14
movss dword [0x1800ac294], xmm14
movss dword [0x1800ac2ac], xmm14
mov dword [0x1800ac238], 4
mov qword [0x1800ac240], 0
mov qword [0x1800ac254], 0
mov qword [0x1800ac268], 0
mov byte [0x1800ac270], 0
mov dword [0x1800ac27c], 0x7f7fffff
mov dword [0x1800ac278], 0x7f7fffff
mov dword [0x1800ac280], 0x7f7fffff
mov dword [0x1800ac284], 0x7f7fffff
mov word [0x1800ac288], 0
mov qword [0x1800ac2bc], 0
mov dword [0x1800ac2c4], 0
jmp 0x18002118e
movss xmm0, dword [0x1800adeb0]
lea r8, [0x1800ac2c8]
mov sil, 1
movss dword [rsp + 0x20], xmm0
mov rdx, rbx
mov byte [rbp + 0x3d0], sil
lea rcx, [0x1800ac230]
call fcn.180015690
lea rcx, [0x1800ac230]
call fcn.180014a70
jmp 0x180021195
cmp dword [0x1800ac238], 1
ja 0x180022dfa
lea rcx, [0x1800ac230]
call fcn.180015270
cmp byte [0x1800ac289], 0
je 0x180022db3
movd xmm1, dword [0x1800ac2c0]
movss xmm0, dword [0x1800ac278]
jmp 0x180022dc3
movd xmm1, dword [0x1800ac2bc]
movss xmm0, dword [0x1800ac27c]
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x180022ddb
mov rax, qword [0x1800ac230]
lea rcx, [0x1800ac230]
call qword [rax]
test sil, sil
je 0x180022dea
cmp qword [0x1800ac240], 0
jne 0x180022dfa
mov rax, qword [0x1800ac230]
lea rcx, [0x1800ac230]
call qword [rax]
lea rcx, [rbp + 0x30]
call fcn.180011b00
movaps xmm14, xmmword [rsp + 0x3f0]
movaps xmm13, xmmword [rsp + 0x400]
movaps xmm12, xmmword [rsp + 0x410]
movaps xmm11, xmmword [rsp + 0x420]
movaps xmm10, xmmword [rsp + 0x430]
movaps xmm9, xmmword [rsp + 0x440]
movaps xmm8, xmmword [rsp + 0x450]
movaps xmm7, xmmword [rsp + 0x460]
movaps xmm6, xmmword [rsp + 0x470]
mov r15, qword [rsp + 0x488]
mov r14, qword [rsp + 0x490]
mov r12, qword [rsp + 0x4a0]
movaps xmm15, xmmword [rsp + 0x3e0]
mov r13, qword [rsp + 0x498]
add rsp, 0x4a8
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.180070324
int3
call fcn.18000ee00
int3
call fcn.180070324
int3
call fcn.180070324
int3
call fcn.180070324
int3
call fcn.180070324
int3