Function at 0x180129ef0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x18054e100]
xor rax, rsp
mov qword [rbp - 0x38], rax
call fcn.180129c70
call fcn.18015d350
movss xmm15, dword [0x18050521c]
lea rdi, [0x1805ab950]
movss xmm13, dword [0x180505a80]
lea rsi, [0x180000000]
movss xmm14, dword [0x1805044a4]
xor r13d, r13d
mov r14d, r13d
mov dword [rbp - 0x78], r13d
mov qword [rbp - 0x70], rdi
movabs rbx, 0x50fac3a3e030a6e1
movabs r12, 0x3fef770d40960d5a
movabs r15, 0xd53343aa4fb7dd28
cmp byte [rdi], 0
je 0x18012b0a0
mov qword [rsp + 0x70], r13
mov dword [rsp + 0x70], r14d
mov rax, qword [rsp + 0x70]
mov qword [0x180587120], rax
mov dword [0x1805870f8], r13d
mov qword [0x1805dd278], rbx
mov dword [0x1805870e8], 1
call fcn.1801e4620
mov qword [rsp + 0x70], r13
mov qword [0x1805dd278], r12
mov ecx, dword [rax]
mov dword [rsp + 0x70], ecx
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x70], r13
mov qword [0x180587120], rax
mov dword [rsp + 0x70], 1
mov rax, qword [rsp + 0x70]
mov qword [0x180587128], rax
mov dword [0x1805870f8], r13d
mov dword [0x1805870e8], 2
call fcn.1801e4620
mov qword [rsp + 0x70], r13
mov dword [rsp + 0x70], r14d
mov qword [0x1805dd278], rbx
movsd xmm0, qword [rax + 0x10]
movups xmm7, xmmword [rax]
mov rax, qword [rsp + 0x70]
mov qword [0x180587120], rax
movsd qword [rbp - 0x58], xmm0
mov dword [0x1805870f8], r13d
mov dword [0x1805870e8], 1
call fcn.1801e4620
mov qword [rsp + 0x70], r13
mov ecx, dword [rax]
movabs rax, 0xafbd61cc738d9eb9
mov dword [rsp + 0x70], ecx
mov qword [0x1805dd278], rax
mov rax, qword [rsp + 0x70]
mov qword [0x180587120], rax
mov dword [0x1805870f8], r13d
mov qword [0x180587128], r13
mov dword [0x1805870e8], 2
call fcn.1801e4620
mov qword [rsp + 0x70], r13
mov dword [rsp + 0x70], r14d
mov rax, qword [rsp + 0x70]
mov qword [0x180587120], rax
mov dword [0x1805870f8], r13d
mov qword [0x1805dd278], rbx
mov dword [0x1805870e8], 1
call fcn.1801e4620
mov qword [rsp + 0x70], r13
mov ecx, dword [rax]
movabs rax, 0xe83d4f9ba2a38914
mov dword [rsp + 0x70], ecx
mov qword [0x1805dd278], rax
mov rax, qword [rsp + 0x70]
mov qword [0x180587120], rax
mov dword [0x1805870f8], r13d
mov dword [0x1805870e8], 1
call fcn.1801e4620
mov qword [rsp + 0x70], r13
mov dword [rsp + 0x70], r14d
mov qword [0x1805dd278], rbx
movss xmm6, dword [rax]
mov rax, qword [rsp + 0x70]
mov qword [0x180587120], rax
mov dword [0x1805870f8], r13d
mov dword [0x1805870e8], 1
call fcn.1801e4620
mov qword [rsp + 0x70], r13
mov qword [0x1805dd278], r12
mov ecx, dword [rax]
mov dword [rsp + 0x70], ecx
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x70], r13
mov dword [rsp + 0x70], 1
mov qword [0x180587120], rax
mov rax, qword [rsp + 0x70]
mov qword [0x180587128], rax
mov dword [0x1805870f8], r13d
mov dword [0x1805870e8], 2
call fcn.1801e4620
movups xmm10, xmmword [rax]
movsd xmm12, qword [rax + 0x10]
movabs rax, 0x9cd27b0045628463
mov qword [0x1805dd278], rax
mov dword [0x1805870e8], r13d
mov dword [0x1805870f8], r13d
call fcn.1801e4620
movaps xmm11, xmm10
movsd qword [rbp - 0x40], xmm12
shufps xmm11, xmm10, 0xaa
mov ecx, dword [rax]
cmp ecx, dword [0x180568688]
jle 0x18012a8e0
mov qword [rsp + 0x70], r13
mov dword [rsp + 0x70], 1
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x70], r13
mov qword [0x180587120], rax
mov dword [rsp + 0x70], 0x32
mov rax, qword [rsp + 0x70]
mov qword [0x180587128], rax
mov dword [0x1805870f8], r13d
mov qword [0x1805dd278], r15
mov dword [0x1805870e8], 2
call fcn.1801e4620
mov qword [rsp + 0x70], r13
movsxd rcx, dword [rax]
mov dword [0x1805870f8], r13d
mov dword [0x1805870e8], 1
mov eax, dword [rsi + rcx*4 + 0x417ea0]
movabs rcx, 0x35b9e0803292b641
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x70]
mov qword [0x180587120], rax
mov qword [0x1805dd278], rcx
call fcn.1801e4620
cmp dword [rax], 0
je 0x18012a8e0
mov qword [rsp + 0x70], r13
mov dword [rsp + 0x70], 1
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x70], r13
mov qword [0x180587120], rax
mov dword [rsp + 0x70], 0x32
mov rax, qword [rsp + 0x70]
mov qword [0x180587128], rax
mov dword [0x1805870f8], r13d
mov qword [0x1805dd278], r15
mov dword [0x1805870e8], 2
call fcn.1801e4620
mov qword [rsp + 0x70], r13
movsxd rcx, dword [rax]
mov dword [0x1805870f8], r13d
mov dword [0x1805870e8], 1
mov eax, dword [rsi + rcx*4 + 0x417ea0]
movabs rcx, 0x19aac8f07bfec53e
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x70]
mov qword [0x180587120], rax
mov qword [0x1805dd278], rcx
call fcn.1801e4620
cmp dword [rax], 0
je 0x18012a8e0
mov qword [rsp + 0x70], r13
mov dword [rsp + 0x70], 1
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x70], r13
mov qword [0x180587120], rax
mov dword [rsp + 0x70], 0x32
mov rax, qword [rsp + 0x70]
mov qword [0x180587128], rax
mov dword [0x1805870f8], r13d
mov qword [0x1805dd278], r15
mov dword [0x1805870e8], 2
call fcn.1801e4620
mov qword [rsp + 0x70], r13
movsxd rcx, dword [rax]
mov dword [0x1805870f8], r13d
mov dword [0x1805870e8], 1
mov eax, dword [rsi + rcx*4 + 0x417ea0]
movabs rcx, 0x963d27a58df860ac
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x70]
mov qword [0x180587120], rax
mov qword [0x1805dd278], rcx
call fcn.1801e4620
mov qword [rsp + 0x70], r13
mov dword [rsp + 0x70], 1
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x70], r13
mov qword [0x180587120], rax
mov dword [rsp + 0x70], 0x32
mov rax, qword [rsp + 0x70]
mov qword [0x180587128], rax
mov dword [0x1805870f8], r13d
mov qword [0x1805dd278], r15
mov dword [0x1805870e8], 2
call fcn.1801e4620
mov qword [rsp + 0x70], r13
movsxd rcx, dword [rax]
mov dword [0x1805870f8], r13d
mov dword [0x1805870e8], 1
mov eax, dword [rsi + rcx*4 + 0x417ea0]
movabs rcx, 0x98a4eb5d89a0c952
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x70]
mov qword [0x180587120], rax
mov qword [0x1805dd278], rcx
call fcn.1801e4620
cmp dword [rax], 0
je 0x18012a8e0
call fcn.180370444
mov r8d, eax
mov eax, 0xc152500d
imul r8d
add edx, r8d
sar edx, 8
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x153
sub r8d, ecx
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
addss xmm0, xmm10
movss dword [rbp - 0x50], xmm0
call fcn.180370444
mov r8d, eax
mov eax, 0x61f60d03
imul r8d
sar edx, 8
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x29d
sub r8d, ecx
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
addss xmm0, xmm11
movss dword [rbp - 0x48], xmm0
call fcn.180370444
mov rbx, qword [0x1805b1b30]
mov r8d, eax
mov eax, 0x8d3dcb09
mov qword [rsp + 0x70], r13
imul r8d
mov dword [rsp + 0x70], 1
mov rax, qword [rsp + 0x70]
add edx, r8d
sar edx, 4
mov ecx, edx
mov qword [rsp + 0x70], r13
shr ecx, 0x1f
add edx, ecx
mov qword [0x180587120], rax
imul ecx, edx, 0x1d
mov dword [rsp + 0x70], 0x32
mov rax, qword [rsp + 0x70]
mov dword [0x1805870f8], r13d
mov qword [0x1805dd278], r15
sub r8d, ecx
mov qword [0x180587128], rax
mov dword [0x1805870e8], 2
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
addss xmm0, xmm12
addss xmm0, dword [0x1805051fc]
movss dword [rbp - 0x40], xmm0
call fcn.1801e4620
mov r9d, 1
mov dword [rsp + 0x20], 1
movaps xmm2, xmm6
lea rdx, [rbp - 0x50]
movsxd rcx, dword [rax]
mov ecx, dword [rsi + rcx*4 + 0x417ea0]
call rbx
mov qword [rsp + 0x70], r13
movabs rdi, 0x3882114bde571ad4
mov dword [rsp + 0x70], eax
mov ebx, eax
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x70], r13
mov qword [0x180587120], rcx
mov dword [rsp + 0x70], 1
mov rcx, qword [rsp + 0x70]
mov qword [0x180587128], rcx
mov dword [0x1805870f8], r13d
mov qword [0x1805dd278], rdi
mov dword [0x1805870e8], 2
call fcn.1801e4620
movabs rax, 0x9b62392b474f44a0
mov dword [0x1805870f8], r13d
mov qword [rsp + 0x70], r13
mov qword [0x1805dd278], rax
mov dword [rsp + 0x70], ebx
mov rax, qword [rsp + 0x70]
mov qword [0x180587120], rax
mov qword [0x180587128], r13
mov dword [0x1805870e8], 2
call fcn.1801e4620
mov qword [rsp + 0x70], r13
mov dword [rsp + 0x78], 0x447a0000
mov esi, dword [rax]
movabs rax, 0xb195ffa8042fc5c3
mov qword [0x1805dd278], rax
mov dword [rsp + 0x70], esi
mov rax, qword [rsp + 0x70]
mov qword [0x180587120], rax
mov eax, dword [rsp + 0x78]
mov qword [rsp + 0x70], r13
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x70]
mov qword [0x180587128], rax
mov dword [0x1805870f8], r13d
mov dword [0x1805870e8], 2
call fcn.1801e4620
mov qword [rsp + 0x70], r13
movabs rax, 0xa731f608ca104e3c
mov qword [0x1805dd278], rax
mov dword [rsp + 0x70], esi
mov rax, qword [rsp + 0x70]
mov qword [0x180587120], rax
mov qword [rsp + 0x70], r13
mov dword [rsp + 0x78], 0x447a0000
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x70]
mov qword [0x180587128], rax
mov dword [0x1805870f8], r13d
mov dword [0x1805870e8], 2
call fcn.1801e4620
mov qword [rsp + 0x70], r13
mov dword [rsp + 0x70], esi
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x70], r13
mov qword [0x180587120], rax
mov dword [rsp + 0x70], 1
mov rax, qword [rsp + 0x70]
mov qword [0x180587128], rax
mov dword [0x1805870f8], r13d
mov qword [0x1805dd278], rdi
mov dword [0x1805870e8], 2
call fcn.1801e4620
movabs rax, 0x9a9112a0fe9a4713
mov qword [rsp + 0x70], r13
mov qword [0x1805dd278], rax
mov dword [rsp + 0x70], esi
mov rax, qword [rsp + 0x70]
mov qword [0x180587120], rax
mov dword [0x1805870f8], r13d
mov qword [0x180587128], r13
mov dword [0x1805870e8], 2
call fcn.1801e4620
mov qword [rsp + 0x70], r13
mov dword [rsp + 0x70], esi
mov edi, dword [rax]
movabs rax, 0x77f1beb8863288d5
mov qword [0x1805dd278], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x70], r13
mov qword [0x180587120], rax
mov dword [rsp + 0x70], 0x21d33957
mov rax, qword [rsp + 0x70]
mov qword [0x180587128], rax
mov dword [0x1805870f8], r13d
mov dword [0x1805870e8], 2
call fcn.1801e4620
cmp dword [rax], 7
jne 0x18012a8aa
movabs rax, 0x9f47b058362c84b5
mov qword [rsp + 0x70], r13
mov qword [0x1805dd278], rax
mov dword [rsp + 0x70], edi
mov rax, qword [rsp + 0x70]
mov qword [0x180587120], rax
mov dword [0x1805870f8], r13d
mov dword [0x1805870e8], 1
call fcn.1801e4620
mov ebx, dword [rax]
call fcn.180370444
mov r8d, eax
mov eax, 0x3e0f83e1
imul r8d
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x21
sub r8d, ecx
add r8d, 0x45
movd xmm6, r8d
cvtdq2ps xmm6, xmm6
call fcn.180370444
mov r8d, eax
mov eax, 0x30c30c31
movss xmm1, dword [0x180506b80]
movaps xmm3, xmm7
imul r8d
movss dword [rsp + 0x48], xmm1
movaps xmm2, xmm7
shufps xmm3, xmm7, 0xaa
mov dword [rsp + 0x38], ebx
sar edx, 2
mov ecx, edx
movss dword [rsp + 0x28], xmm6
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x15
mov edx, edi
sub r8d, ecx
mov ecx, esi
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
addss xmm0, dword [rbp - 0x58]
movss dword [rsp + 0x20], xmm0
call fcn.18015a0a0
movabs rax, 0x9cd27b0045628463
mov dword [0x1805870e8], r13d
mov qword [0x1805dd278], rax
mov dword [0x1805870f8], r13d
call fcn.1801e4620
mov rdi, qword [rbp - 0x70]
mov ecx, dword [rax]
add ecx, 0x1f4
mov dword [0x180568688], ecx
mov qword [rsp + 0x70], r13
movabs rsi, 0x50fac3a3e030a6e1
mov dword [rsp + 0x70], r14d
mov rax, qword [rsp + 0x70]
mov qword [0x180587120], rax
mov dword [0x1805870f8], r13d
mov qword [0x1805dd278], rsi
mov dword [0x1805870e8], 1
call fcn.1801e4620
mov qword [rsp + 0x70], r13
mov dword [rsp + 0x70], r14d
mov rax, qword [rsp + 0x70]
mov qword [0x180587120], rax
mov dword [0x1805870f8], r13d
mov qword [0x1805dd278], rsi
mov dword [0x1805870e8], 1
call fcn.1801e4620
mov qword [rsp + 0x70], r13
mov ebx, dword [rax]
movabs rax, 0x997abd671d25ca0b
mov qword [0x1805dd278], rax
mov dword [rsp + 0x70], ebx
mov rax, qword [rsp + 0x70]
mov qword [0x180587120], rax
mov dword [0x1805870f8], r13d
mov qword [0x180587128], r13
mov dword [0x1805870e8], 2
call fcn.1801e4620
cmp dword [rax], 0
je 0x18012a9d8
movabs rax, 0x6094ad011a2ea87d
mov qword [rsp + 0x70], r13
mov qword [0x1805dd278], rax
mov dword [rsp + 0x70], ebx
mov rax, qword [rsp + 0x70]
mov qword [0x180587120], rax
mov dword [0x1805870f8], r13d
mov dword [0x1805870e8], 1
call fcn.1801e4620
mov ebx, dword [rax]
mov qword [rsp + 0x70], r13
mov dword [rsp + 0x70], ebx
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x70], r13
mov qword [0x180587120], rax
mov dword [rsp + 0x70], 1
mov rax, qword [rsp + 0x70]
mov qword [0x180587128], rax
mov dword [0x1805870f8], r13d
mov qword [0x1805dd278], r12
mov dword [0x1805870e8], 2
call fcn.1801e4620
mov qword [rsp + 0x70], r13
movabs rax, 0x9a8d700a51cb7b0d
mov qword [0x1805dd278], rax
mov dword [rsp + 0x70], ebx
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x70], r13
mov qword [0x180587120], rax
mov dword [rsp + 0x70], 1
mov rax, qword [rsp + 0x70]
mov qword [0x180587128], rax
mov dword [0x1805870f8], r13d
mov dword [0x1805870e8], 2
call fcn.1801e4620
mov ecx, 0x100
call fcn.180357d9c
mov qword [rsp + 0x70], r13
mov r15, rax
mov dword [rsp + 0x70], r14d
mov rcx, qword [rsp + 0x70]
mov dword [rax], 0x1f
mov dword [0x1805870f8], r13d
mov qword [0x180587120], rcx
mov dword [0x1805870e8], 1
mov qword [0x1805dd278], rsi
call fcn.1801e4620
mov qword [rsp + 0x70], r13
mov ecx, dword [rax]
movabs rax, 0xcff869cbfa210d82
mov dword [rsp + 0x70], ecx
mov qword [0x1805dd278], rax
mov rax, qword [rsp + 0x70]
mov qword [0x180587120], rax
mov dword [0x1805870f8], r13d
mov qword [0x180587128], r15
mov dword [0x1805870e8], 2
call fcn.1801e4620
mov r12d, r13d
movsxd rbx, dword [rax]
mov qword [rsp + 0x70], rbx
test rbx, rbx
jle 0x18012b089
add r15, 8
nop dword [rax + rax]
mov qword [rsp + 0x78], r13
mov dword [rsp + 0x78], r12d
mov rax, qword [rsp + 0x78]
mov qword [0x180587120], rax
mov dword [0x1805870f8], r13d
mov qword [0x1805dd278], rsi
mov dword [0x1805870e8], 1
call fcn.1801e4620
mov qword [rsp + 0x78], r13
mov ecx, dword [rax]
movabs rax, 0x9a9112a0fe9a4713
mov dword [rsp + 0x78], ecx
mov qword [0x1805dd278], rax
mov rax, qword [rsp + 0x78]
mov qword [0x180587120], rax
mov dword [0x1805870f8], r13d
mov qword [0x180587128], r13
mov dword [0x1805870e8], 2
call fcn.1801e4620
mov ecx, dword [r15]
cmp ecx, dword [rax]
je 0x18012b061
test ecx, ecx
je 0x18012b061
movabs rax, 0x7239b21a38f536ba
mov qword [rsp + 0x78], r13
mov dword [rsp + 0x78], ecx
mov qword [0x1805dd278], rax
mov rax, qword [rsp + 0x78]
mov qword [0x180587120], rax
mov dword [0x1805870f8], r13d
mov dword [0x1805870e8], 1
call fcn.1801e4620
cmp dword [rax], 0
je 0x18012b061
mov qword [rsp + 0x78], r13
movabs rdi, 0xd53343aa4fb7dd28
mov dword [rsp + 0x78], 1
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x78], r13
mov qword [0x180587120], rax
mov dword [rsp + 0x78], 0x32
mov rax, qword [rsp + 0x78]
mov qword [0x180587128], rax
mov dword [0x1805870f8], r13d
mov qword [0x1805dd278], rdi
mov dword [0x1805870e8], 2
call fcn.1801e4620
mov qword [rsp + 0x78], r13
lea r14, [0x180000000]
movabs rdx, 0x423e8de37d934d89
mov qword [0x1805dd278], rdx
movsxd rcx, dword [rax]
mov eax, dword [r15]
mov dword [rsp + 0x78], eax
mov rax, qword [rsp + 0x78]
mov qword [0x180587120], rax
mov eax, dword [r14 + rcx*4 + 0x417ea0]
mov qword [rsp + 0x78], r13
mov dword [rsp + 0x78], eax
mov rax, qword [rsp + 0x78]
mov qword [0x180587128], rax
mov dword [0x1805870f8], r13d
mov dword [0x1805870e8], 2
call fcn.1801e4620
cmp dword [rax], 0
je 0x18012b061
mov eax, dword [r15]
movabs rcx, 0x3fef770d40960d5a
mov qword [rsp + 0x78], r13
mov dword [rsp + 0x78], eax
mov rax, qword [rsp + 0x78]
mov qword [0x180587120], rax
mov dword [0x1805870f8], r13d
mov qword [0x1805dd278], rcx
mov qword [0x180587128], r13
mov dword [0x1805870e8], 2
call fcn.1801e4620
movss dword [rsp + 0x28], xmm12
movaps xmm3, xmm10
movss dword [rsp + 0x20], xmm11
movups xmm7, xmmword [rax]
movsd xmm9, qword [rax + 0x10]
movaps xmm6, xmm7
movsd qword [rbp - 0x58], xmm9
shufps xmm6, xmm7, 0xaa
movaps xmm2, xmm9
movaps xmm1, xmm6
movaps xmm0, xmm7
call fcn.18015b330
comiss xmm0, xmm15
jae 0x18012b061
cmp byte [0x1805b0f8c], 0
je 0x18012aea4
call fcn.180370444
mov qword [rsp + 0x78], r13
mov dword [rsp + 0x78], r12d
mov dword [0x1805870f8], r13d
movd xmm8, eax
mov rax, qword [rsp + 0x78]
cvtdq2ps xmm8, xmm8
mov qword [0x1805dd278], rsi
mov qword [0x180587120], rax
mov dword [0x1805870e8], 1
addss xmm8, xmm13
call fcn.1801e4620
mov edi, r13d
mov ebx, r13d
mov esi, dword [rax]
mov rax, r13
nop dword [rax]
movsx ecx, byte [rax + r14 + 0x485dd8]
call fcn.180370a88
add eax, ebx
inc edi
imul ebx, eax, 0x401
mov eax, ebx
shr eax, 6
xor ebx, eax
mov eax, edi
cmp rax, 0xa
jb 0x18012ada0
movabs rax, 0x313ce5879ceb6fcd
mov qword [rbp - 0x80], r13
mov qword [0x1805dd278], rax
lea ebx, [rbx + rbx*8]
mov dword [rsp + 0x78], 0x40cac8b4
mov eax, dword [rsp + 0x78]
mov dword [rbp - 0x80], eax
mov rax, qword [rbp - 0x80]
mov qword [0x180587120], rax
mov qword [rbp - 0x80], r13
mov dword [rsp + 0x78], 0x41aab22d
mov eax, dword [rsp + 0x78]
mov dword [rbp - 0x80], eax
mov rax, qword [rbp - 0x80]
mov qword [0x180587128], rax
mov dword [0x1805870f8], r13d
mov dword [0x1805870e8], 2
call fcn.1801e4620
movss dword [rsp + 0x60], xmm8
addss xmm6, xmm14
mov dword [rsp + 0x58], r13d
movaps xmm3, xmm10
mov dword [rsp + 0x50], r13d
movaps xmm0, xmm7
movss xmm2, dword [rax]
mov eax, ebx
mov dword [rsp + 0x48], esi
addss xmm2, xmm9
shr eax, 0xb
movaps xmm1, xmm6
xor eax, ebx
imul ecx, eax, 0x8001
mov dword [rsp + 0x40], ecx
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x30], 0x64
movss dword [rsp + 0x28], xmm12
movss dword [rsp + 0x20], xmm11
call fcn.18015cc10
mov rbx, qword [rsp + 0x70]
movabs rsi, 0x50fac3a3e030a6e1
movabs rdi, 0xd53343aa4fb7dd28
cmp byte [0x1805b0f8b], 0
je 0x18012b061
call fcn.180370444
mov qword [rbp - 0x80], r13
mov dword [rbp - 0x80], r12d
mov dword [0x1805870f8], r13d
movd xmm6, eax
mov rax, qword [rbp - 0x80]
cvtdq2ps xmm6, xmm6
mov qword [0x1805dd278], rsi
mov qword [0x180587120], rax
mov dword [0x1805870e8], 1
addss xmm6, xmm13
call fcn.1801e4620
xor edx, edx
mov qword [0x1805dd278], rdi
mov qword [rbp - 0x80], rdx
mov dword [rbp - 0x80], 1
mov r13d, dword [rax]
mov rax, qword [rbp - 0x80]
mov qword [rbp - 0x80], rdx
mov qword [0x180587120], rax
mov dword [rbp - 0x80], 2
mov rax, qword [rbp - 0x80]
mov qword [0x180587128], rax
mov dword [0x1805870f8], edx
mov dword [0x1805870e8], 2
call fcn.1801e4620
mov rdi, 0xffffffffffffffff
movsxd rcx, dword [rax]
mov r14, qword [r14 + rcx*8 + 0x417e70]
inc rdi
cmp byte [r14 + rdi], 0
jne 0x18012af51
xor ecx, ecx
mov esi, ecx
mov ebx, ecx
test rdi, rdi
je 0x18012af94
mov eax, ecx
nop dword [rax + rax]
movsx ecx, byte [rax + r14]
call fcn.180370a88
add eax, ebx
inc esi
imul ebx, eax, 0x401
mov eax, ebx
shr eax, 6
xor ebx, eax
mov eax, esi
cmp rax, rdi
jb 0x18012af70
xor ecx, ecx
mov qword [rbp - 0x80], rcx
lea ebx, [rbx + rbx*8]
movabs rax, 0x313ce5879ceb6fcd
mov dword [rsp + 0x78], 0x40cac8b4
mov qword [0x1805dd278], rax
mov eax, dword [rsp + 0x78]
mov dword [rbp - 0x80], eax
mov rax, qword [rbp - 0x80]
mov qword [0x180587120], rax
mov qword [rbp - 0x80], rcx
mov dword [rsp + 0x78], 0x41aab22d
mov eax, dword [rsp + 0x78]
mov dword [rbp - 0x80], eax
mov rax, qword [rbp - 0x80]
mov qword [0x180587128], rax
mov dword [0x1805870f8], ecx
mov dword [0x1805870e8], 2
call fcn.1801e4620
movss dword [rsp + 0x60], xmm6
xor edx, edx
mov dword [rsp + 0x58], edx
movaps xmm1, xmm11
mov dword [rsp + 0x50], edx
addss xmm1, xmm14
movss xmm2, dword [rax]
movaps xmm3, xmm10
mov dword [rsp + 0x48], r13d
addss xmm2, xmm12
mov eax, ebx
xor r13d, r13d
shr eax, 0xb
movaps xmm0, xmm10
xor eax, ebx
imul ecx, eax, 0x8001
mov dword [rsp + 0x40], ecx
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x30], 0x64
movss dword [rsp + 0x28], xmm12
movss dword [rsp + 0x20], xmm11
call fcn.18015cc10
mov rbx, qword [rsp + 0x70]
inc r12d
add r15, 8
sub rbx, 1
movabs rsi, 0x50fac3a3e030a6e1
mov qword [rsp + 0x70], rbx
jne 0x18012ab20
mov r14d, dword [rbp - 0x78]
mov rdi, qword [rbp - 0x70]
movabs r12, 0x3fef770d40960d5a
movabs r15, 0xd53343aa4fb7dd28
mov rbx, rsi
inc r14d
lea rsi, [0x180000000]
inc rdi
mov dword [rbp - 0x78], r14d
mov qword [rbp - 0x70], rdi
cmp r14d, 0x20
jl 0x180129fc0
mov rcx, qword [rbp - 0x38]
xor rcx, rsp
call fcn.180357630
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
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]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret