Function at 0x1401a5c8c
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x58]
sub rsp, 0x158
mov esi, dword [rbp + 0xc8]
xor r12d, r12d
movaps xmm0, xmmword [r9]
mov r13, rcx
movaps xmm1, xmmword [r8]
movaps xmmword [rax - 0x58], xmm6
lea eax, [rsi + rsi]
movdqa xmmword [rbp - 0x60], xmm0
movdqa xmmword [rbp - 0x30], xmm1
add eax, 2
je 0x1401a5d48
lea ebx, [r12 + 2]
mov edi, eax
lea edx, [rbx - 2]
mov rcx, r13
lea r8, [rbp + 0xb0]
call fcn.14018f20c
mov cl, byte [rbp + 0xb0]
lea edx, [rbx - 1]
lea r8, [rbp + 0xb8]
mov byte [rax], cl
mov rcx, r13
call fcn.14018f20c
mov cl, byte [rbp + 0xb8]
lea r8, [rsp + 0x20]
mov edx, ebx
mov byte [rax], cl
mov rcx, r13
call fcn.14018f20c
mov cl, byte [rsp + 0x20]
lea edx, [rbx + 1]
lea r8, [rsp + 0x21]
mov byte [rax], cl
mov rcx, r13
call fcn.14018f20c
mov cl, byte [rsp + 0x21]
add ebx, 4
mov byte [rax], cl
sub rdi, 1
jne 0x1401a5ce0
mov dword [rsp + 0x50], esi
mov r15d, esi
test esi, esi
je 0x1401a5e0a
lea r14d, [rsi*4 - 2]
add r14d, dword [rbp - 0x58]
mov rcx, qword [rbp - 0x60]
lea edx, [r14 - 2]
lea r8, [rbp + 0xb0]
call fcn.14018f20c
movzx ebx, byte [rbp + 0xb0]
lea edx, [r14 - 1]
mov rcx, qword [rbp - 0x60]
lea r8, [rbp + 0xb8]
movzx eax, byte [rax]
xor ebx, eax
ror ebx, 8
call fcn.14018f20c
movzx edi, byte [rbp + 0xb8]
lea r8, [rsp + 0x21]
mov rcx, qword [rbp - 0x60]
mov edx, r14d
movzx eax, byte [rax]
xor edi, eax
add edi, ebx
ror edi, 8
call fcn.14018f20c
mov rcx, qword [rbp - 0x60]
lea edx, [r14 + 1]
lea r8, [rsp + 0x20]
movzx ebx, byte [rax]
movzx eax, byte [rsp + 0x21]
xor ebx, eax
add ebx, edi
ror ebx, 8
call fcn.14018f20c
movzx ecx, byte [rax]
movzx eax, byte [rsp + 0x20]
xor ecx, eax
add ecx, ebx
ror ecx, 8
test ecx, ecx
jne 0x1401a5e1d
mov eax, 0xffffffff
add r14d, 0xfffffffc
add r15d, eax
mov dword [rsp + 0x50], r15d
test r15d, r15d
jne 0x1401a5d63
mov r15d, 1
mov dword [rsp + 0x50], r15d
test esi, esi
je 0x1401a617d
mov edi, dword [rbp - 0x28]
lea eax, [r15*4]
imul ecx, r15d, 0xfffffffc
lea r14d, [rax + 3]
sub edi, eax
mov dword [rbp - 0x40], r14d
mov dword [rsp + 0x48], edi
mov dword [rbp - 0x20], ecx
mov ecx, 0xfffffffd
sub ecx, eax
mov eax, r12d
mov dword [rbp - 0x50], eax
mov dword [rsp + 0x40], ecx
add eax, r15d
lea ecx, [rsi*2 + 2]
cmp eax, ecx
jae 0x1401a617d
mov rcx, qword [rbp - 0x30]
lea edx, [rdi - 3]
add edx, r14d
lea r8, [rbp + 0xb0]
call fcn.14018f20c
mov rcx, qword [rbp - 0x30]
lea edx, [rdi - 2]
add edx, r14d
lea r8, [rbp + 0xb8]
movzx ebx, byte [rax]
movzx eax, byte [rbp + 0xb0]
xor ebx, eax
ror ebx, 8
call fcn.14018f20c
mov edx, dword [rsp + 0x48]
lea r8, [rsp + 0x21]
mov rcx, qword [rbp - 0x30]
dec edx
add edx, r14d
movzx edi, byte [rax]
movzx eax, byte [rbp + 0xb8]
xor edi, eax
add edi, ebx
ror edi, 8
call fcn.14018f20c
mov rcx, qword [rbp - 0x30]
lea r8, [rsp + 0x20]
movzx ebx, byte [rax]
movzx eax, byte [rsp + 0x21]
xor ebx, eax
add ebx, edi
mov edi, dword [rsp + 0x48]
ror ebx, 8
lea edx, [rdi + r14]
call fcn.14018f20c
movzx ecx, byte [rsp + 0x20]
movzx eax, byte [rax]
xor ecx, eax
add ecx, ebx
mov ebx, r12d
ror ecx, 8
mov qword [rbp], rbx
test r15d, r15d
je 0x1401a60fb
mov esi, dword [rbp - 0x20]
mov eax, ecx
add esi, r14d
mov qword [rbp - 0x10], rax
mov eax, dword [rbp - 0x58]
sub eax, dword [rsp + 0x40]
sub eax, r14d
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x54], eax
mov eax, r15d
mov qword [rbp - 0x48], rax
lea r12d, [rsi - 3]
mov rcx, r13
mov edx, r12d
lea r8, [rsp + 0x2c]
call fcn.14018f20c
lea r15d, [rsi - 2]
mov rcx, r13
lea r8, [rsp + 0x2d]
mov edx, r15d
movzx ebx, byte [rax]
movzx eax, byte [rsp + 0x2c]
xor ebx, eax
ror ebx, 8
call fcn.14018f20c
lea r14d, [rsi - 1]
mov rcx, r13
lea r8, [rsp + 0x2e]
mov edx, r14d
movzx edi, byte [rax]
movzx eax, byte [rsp + 0x2d]
xor edi, eax
add edi, ebx
ror edi, 8
call fcn.14018f20c
movzx ebx, byte [rsp + 0x2e]
lea r8, [rsp + 0x2f]
mov edx, esi
mov rcx, r13
movzx eax, byte [rax]
xor ebx, eax
add ebx, edi
ror ebx, 8
call fcn.14018f20c
mov edx, dword [rsp + 0x28]
lea r8, [rsp + 0x30]
mov edi, dword [rsp + 0x54]
add edx, 0xfffffffd
mov rcx, qword [rbp - 0x60]
add edx, edi
movzx esi, byte [rax]
movzx eax, byte [rsp + 0x2f]
xor esi, eax
add esi, ebx
ror esi, 8
call fcn.14018f20c
mov rcx, qword [rbp - 0x60]
lea edx, [rdi - 2]
add edx, dword [rsp + 0x28]
lea r8, [rsp + 0x31]
movzx ebx, byte [rax]
movzx eax, byte [rsp + 0x30]
xor ebx, eax
ror ebx, 8
call fcn.14018f20c
mov ecx, dword [rsp + 0x28]
lea r8, [rsp + 0x32]
mov edx, dword [rsp + 0x54]
dec ecx
add edx, ecx
mov rcx, qword [rbp - 0x60]
movzx edi, byte [rax]
movzx eax, byte [rsp + 0x31]
xor edi, eax
add edi, ebx
ror edi, 8
call fcn.14018f20c
mov edx, dword [rsp + 0x54]
lea r8, [rsp + 0x33]
add edx, dword [rsp + 0x28]
mov rcx, qword [rbp - 0x60]
movzx ebx, byte [rax]
movzx eax, byte [rsp + 0x32]
xor ebx, eax
add ebx, edi
ror ebx, 8
call fcn.14018f20c
movzx edi, byte [rsp + 0x33]
movzx eax, byte [rax]
xor edi, eax
add edi, ebx
ror edi, 8
imul rdi, qword [rbp - 0x10]
mov eax, esi
lea r8, [rsp + 0x34]
add rdi, rax
mov edx, r12d
mov eax, dword [rbp]
mov rcx, r13
add rdi, rax
mov ebx, edi
call fcn.14018f20c
mov cl, dil
shr ebx, 8
xor cl, byte [rsp + 0x34]
lea r8, [rsp + 0x35]
mov edx, r15d
mov byte [rax], cl
mov rcx, r13
call fcn.14018f20c
mov cl, bl
lea r8, [rsp + 0x36]
xor cl, byte [rsp + 0x35]
mov edx, r14d
shr ebx, 8
mov byte [rax], cl
mov rcx, r13
call fcn.14018f20c
mov esi, dword [rsp + 0x28]
lea r8, [rsp + 0x37]
mov cl, bl
mov edx, esi
xor cl, byte [rsp + 0x36]
mov byte [rax], cl
mov rcx, r13
call fcn.14018f20c
shr ebx, 8
add esi, 4
xor bl, byte [rsp + 0x37]
mov dword [rsp + 0x28], esi
mov byte [rax], bl
mov rbx, rdi
shr rbx, 0x20
sub qword [rbp - 0x48], 1
mov qword [rbp], rbx
jne 0x1401a5f2c
mov esi, dword [rbp + 0xc8]
xor r12d, r12d
mov r14d, dword [rbp - 0x40]
mov r15d, dword [rsp + 0x50]
mov edi, dword [rsp + 0x48]
lea edx, [r14 - 3]
mov rcx, r13
lea r8, [rsp + 0x38]
call fcn.14018f20c
mov cl, bl
lea edx, [r14 - 2]
xor cl, byte [rsp + 0x38]
lea r8, [rsp + 0x39]
shr ebx, 8
mov byte [rax], cl
mov rcx, r13
call fcn.14018f20c
mov cl, bl
lea edx, [r14 - 1]
xor cl, byte [rsp + 0x39]
lea r8, [rsp + 0x3a]
shr ebx, 8
mov byte [rax], cl
mov rcx, r13
call fcn.14018f20c
mov cl, bl
lea r8, [rsp + 0x3b]
xor cl, byte [rsp + 0x3a]
mov edx, r14d
mov byte [rax], cl
mov rcx, r13
call fcn.14018f20c
shr ebx, 8
add r14d, 4
xor bl, byte [rsp + 0x3b]
mov dword [rbp - 0x40], r14d
mov byte [rax], bl
mov eax, dword [rbp - 0x50]
inc eax
mov dword [rbp - 0x50], eax
cmp eax, esi
jb 0x1401a5e4e
mov rax, qword [rbp + 0xa8]
lea r15d, [rsi*2 + 1]
mov dword [rsp + 0x54], r15d
lea r14d, [r15*4 - 2]
movaps xmm0, xmmword [rax]
mov rax, qword [rbp + 0xc0]
movdqa xmmword [rbp - 0x30], xmm0
movaps xmm1, xmmword [rax]
movdqa xmmword [rbp - 0x60], xmm1
lea edx, [r14 - 2]
mov rcx, r13
lea r8, [rbp + 0xa8]
call fcn.14018f20c
movzx ebx, byte [rbp + 0xa8]
lea edx, [r14 - 1]
lea r8, [rbp + 0xc0]
mov rcx, r13
movzx eax, byte [rax]
xor ebx, eax
ror ebx, 8
call fcn.14018f20c
movzx edi, byte [rbp + 0xc0]
lea r8, [rbp + 0xb0]
mov edx, r14d
mov rcx, r13
movzx eax, byte [rax]
xor edi, eax
add edi, ebx
ror edi, 8
call fcn.14018f20c
lea edx, [r14 + 1]
mov rcx, r13
lea r8, [rbp + 0xb8]
movzx ebx, byte [rax]
movzx eax, byte [rbp + 0xb0]
xor ebx, eax
add ebx, edi
ror ebx, 8
call fcn.14018f20c
movzx ecx, byte [rax]
movzx eax, byte [rbp + 0xb8]
xor ecx, eax
add ecx, ebx
ror ecx, 8
test ecx, ecx
jne 0x1401a6264
mov eax, 0xffffffff
add r14d, 0xfffffffc
add r15d, eax
mov dword [rsp + 0x54], r15d
test r15d, r15d
jne 0x1401a61b0
lea r15d, [rcx + 1]
mov dword [rsp + 0x54], r15d
mov rdi, qword [rbp - 0x60]
mov r14d, esi
mov dword [rbp - 0x4c], esi
test esi, esi
je 0x1401a633d
mov eax, dword [rbp - 0x58]
lea eax, [rax + rsi*4]
add eax, 0xfffffffe
mov dword [rsp + 0x28], eax
lea edx, [rax - 2]
mov rcx, rdi
lea r8, [rbp + 0xa8]
call fcn.14018f20c
mov edx, dword [rsp + 0x28]
lea r8, [rbp + 0xc0]
movzx ebx, byte [rbp + 0xa8]
mov rcx, rdi
movzx eax, byte [rax]
xor ebx, eax
ror ebx, 8
dec edx
call fcn.14018f20c
movzx edi, byte [rbp + 0xc0]
lea r8, [rbp + 0xb0]
mov edx, dword [rsp + 0x28]
mov rcx, qword [rbp - 0x60]
movzx eax, byte [rax]
xor edi, eax
add edi, ebx
ror edi, 8
call fcn.14018f20c
mov edx, dword [rsp + 0x28]
lea r8, [rbp + 0xb8]
movzx ebx, byte [rbp + 0xb0]
inc edx
movzx eax, byte [rax]
xor ebx, eax
add ebx, edi
mov rdi, qword [rbp - 0x60]
mov rcx, rdi
ror ebx, 8
call fcn.14018f20c
movzx ecx, byte [rax]
movzx eax, byte [rbp + 0xb8]
xor ecx, eax
add ecx, ebx
ror ecx, 8
test ecx, ecx
jne 0x1401a6347
mov eax, 0xffffffff
add r14d, eax
mov eax, dword [rsp + 0x28]
add eax, 0xfffffffc
mov dword [rbp - 0x4c], r14d
mov dword [rsp + 0x28], eax
test r14d, r14d
jne 0x1401a6283
mov r14d, 1
mov dword [rbp - 0x4c], r14d
cmp r15d, r14d
jae 0x1401a63c0
mov rax, qword [rbp - 0x30]
mov edi, dword [rbp - 0x28]
mov ebx, esi
mov esi, r12d
shl rbx, 2
mov qword [rbp - 0x60], rax
mov dword [rbp - 0x58], edi
mov qword [rbp - 0x30], r13
mov dword [rbp - 0x28], r12d
test rbx, rbx
je 0x1401a7422
movaps xmm1, xmmword [rbp - 0x30]
inc r12d
movaps xmm2, xmmword [rbp - 0x60]
movdqa xmm0, xmm1
psrldq xmm0, 8
inc edi
movd r9d, xmm0
movq r8, xmm1
movdqa xmm0, xmm2
mov dword [rbp - 0x28], r12d
psrldq xmm0, 8
movq rcx, xmm2
movd edx, xmm0
mov dword [rbp - 0x58], edi
call fcn.14018f308
inc esi
mov eax, esi
cmp rax, rbx
jb 0x1401a6374
jmp 0x1401a7422
lea eax, [rsi*8 + 8]
mov qword [rbp + 0x10], rdi
mov edi, dword [rbp - 0x58]
lea edx, [r14*4]
mov dword [rbp - 0x40], eax
add eax, edx
mov dword [rbp - 0x50], eax
mov qword [rbp - 0x10], r13
mov dword [rbp + 0x18], edi
lea ecx, [rax + 4]
add edx, ecx
mov dword [rbp - 8], ecx
mov dword [rbp - 0x20], edx
lea eax, [rdx + 4]
mov dword [rsp + 0x48], eax
mov eax, r14d
mov qword [rbp + 0x30], rax
shl rax, 2
mov qword [rbp], rax
test rax, rax
je 0x1401a6469
mov ebx, ecx
mov dword [rbp - 8], ecx
mov esi, r12d
mov r15, rax
movaps xmm1, xmmword [rbp + 0x10]
inc edi
movaps xmm2, xmmword [rbp - 0x10]
movdqa xmm0, xmm1
psrldq xmm0, 8
inc ebx
movd r9d, xmm0
movq r8, xmm1
movdqa xmm0, xmm2
mov dword [rbp + 0x18], edi
psrldq xmm0, 8
movq rcx, xmm2
movd edx, xmm0
mov dword [rbp - 8], ebx
call fcn.14018f308
inc esi
mov eax, esi
cmp rax, r15
jb 0x1401a6416
mov esi, dword [rbp + 0xc8]
mov r15d, dword [rsp + 0x54]
mov edx, dword [rbp - 0x20]
lea r8, [rbp + 0xa8]
mov rcx, r13
lea ebx, [rdx + 1]
call fcn.14018f20c
mov cl, byte [rbp + 0xa8]
lea r8, [rbp + 0xa8]
mov edx, ebx
mov byte [rax], cl
mov rcx, r13
call fcn.14018f20c
mov cl, byte [rbp + 0xa8]
lea r8, [rbp + 0xa8]
lea edx, [rbx + 1]
mov byte [rax], cl
mov rcx, r13
call fcn.14018f20c
mov cl, byte [rbp + 0xa8]
lea edx, [rbx + 2]
lea r8, [rbp + 0xa8]
mov byte [rax], cl
mov rcx, r13
call fcn.14018f20c
mov cl, byte [rbp + 0xa8]
mov edi, dword [rsp + 0x48]
mov ebx, edi
mov qword [rbp + 0x10], r13
mov byte [rax], cl
mov eax, r15d
shl rax, 2
mov dword [rbp + 0x18], ebx
mov qword [rbp - 0x10], r13
mov dword [rbp - 8], r12d
test rax, rax
je 0x1401a6552
mov esi, r12d
mov r14, rax
mov r13d, r12d
movaps xmm1, xmmword [rbp - 0x10]
inc esi
movaps xmm2, xmmword [rbp + 0x10]
movdqa xmm0, xmm1
psrldq xmm0, 8
inc ebx
movd r9d, xmm0
movq r8, xmm1
movdqa xmm0, xmm2
mov dword [rbp - 8], esi
psrldq xmm0, 8
movq rcx, xmm2
movd edx, xmm0
mov dword [rbp + 0x18], ebx
call fcn.14018f308
inc r13d
mov eax, r13d
cmp rax, r14
jb 0x1401a64fa
mov r13, qword [rbp + 0xa0]
mov r14d, dword [rbp - 0x4c]
mov esi, dword [rbp + 0xc8]
lea edx, [rdi + r15*4]
mov rcx, r13
lea r8, [rbp + 0xa8]
lea ebx, [rdx + 1]
call fcn.14018f20c
mov cl, byte [rbp + 0xa8]
lea r8, [rbp + 0xa8]
mov edx, ebx
mov byte [rax], cl
mov rcx, r13
call fcn.14018f20c
mov cl, byte [rbp + 0xa8]
lea r8, [rbp + 0xa8]
lea edx, [rbx + 1]
mov byte [rax], cl
mov rcx, r13
call fcn.14018f20c
mov cl, byte [rbp + 0xa8]
lea edx, [rbx + 2]
lea r8, [rbp + 0xa8]
mov byte [rax], cl
mov rcx, r13
call fcn.14018f20c
mov cl, byte [rbp + 0xa8]
mov byte [rax], cl
mov eax, r15d
sub eax, r14d
mov dword [rsp + 0x50], eax
js 0x1401a7337
test r15d, r15d
je 0x1401a732d
test r14d, r14d
je 0x1401a732d
cmp r15d, r14d
jbe 0x1401a732d
mov r15, qword [rbp - 0x60]
cmp r14d, 1
jbe 0x1401a668f
mov edx, dword [rbp - 0x58]
lea r8, [rbp + 0xa8]
add edx, 0xfffffff8
mov rcx, r15
lea edx, [rdx + r14*4]
lea esi, [rdx + 1]
call fcn.14018f20c
movzx ebx, byte [rbp + 0xa8]
lea r8, [rbp + 0xc0]
mov edx, esi
mov rcx, r15
movzx eax, byte [rax]
xor ebx, eax
ror ebx, 8
call fcn.14018f20c
movzx edi, byte [rbp + 0xc0]
lea r8, [rbp + 0xb0]
lea edx, [rsi + 1]
mov rcx, r15
movzx eax, byte [rax]
xor edi, eax
add edi, ebx
ror edi, 8
call fcn.14018f20c
lea edx, [rsi + 2]
mov rcx, r15
lea r8, [rbp + 0xb8]
movzx ebx, byte [rax]
movzx eax, byte [rbp + 0xb0]
xor ebx, eax
add ebx, edi
ror ebx, 8
call fcn.14018f20c
movzx ecx, byte [rax]
movzx eax, byte [rbp + 0xb8]
xor ecx, eax
add ecx, ebx
ror ecx, 8
mov dword [rsp + 0x3c], ecx
jmp 0x1401a6694
mov dword [rsp + 0x3c], r12d
mov edx, dword [rbp - 0x58]
lea r8, [rsp + 0x3b]
add edx, 0xfffffffc
mov rcx, r15
lea edx, [rdx + r14*4]
lea esi, [rdx + 1]
call fcn.14018f20c
mov edx, esi
lea r8, [rsp + 0x3a]
mov rcx, r15
movzx ebx, byte [rax]
movzx eax, byte [rsp + 0x3b]
xor ebx, eax
ror ebx, 8
call fcn.14018f20c
lea r8, [rsp + 0x39]
mov rcx, r15
lea edx, [rsi + 1]
movzx edi, byte [rax]
movzx eax, byte [rsp + 0x3a]
xor edi, eax
add edi, ebx
ror edi, 8
call fcn.14018f20c
lea edx, [rsi + 2]
mov rcx, r15
lea r8, [rsp + 0x38]
movzx ebx, byte [rax]
movzx eax, byte [rsp + 0x39]
xor ebx, eax
add ebx, edi
ror ebx, 8
call fcn.14018f20c
movzx ecx, byte [rsp + 0x38]
lea r8, [rsp + 0x37]
mov edx, dword [rsp + 0x48]
add r14d, dword [rsp + 0x50]
add edx, 0xfffffffc
movzx eax, byte [rax]
xor ecx, eax
add ecx, ebx
ror ecx, 8
lea edx, [rdx + r14*4]
mov dword [rsp + 0x40], ecx
lea esi, [rdx + 1]
mov rcx, r13
call fcn.14018f20c
mov edx, esi
lea r8, [rsp + 0x36]
mov rcx, r13
movzx ebx, byte [rax]
movzx eax, byte [rsp + 0x37]
xor ebx, eax
ror ebx, 8
call fcn.14018f20c
lea r8, [rsp + 0x35]
mov rcx, r13
lea edx, [rsi + 1]
movzx edi, byte [rax]
movzx eax, byte [rsp + 0x36]
xor edi, eax
add edi, ebx
ror edi, 8
call fcn.14018f20c
lea edx, [rsi + 2]
mov rcx, r13
lea r8, [rsp + 0x34]
movzx r15d, byte [rax]
movzx eax, byte [rsp + 0x35]
xor r15d, eax
add r15d, edi
ror r15d, 8
call fcn.14018f20c
lea r8, [rsp + 0x33]
movzx ecx, byte [rax]
movzx eax, byte [rsp + 0x34]
xor ecx, eax
mov eax, dword [rsp + 0x48]
add r15d, ecx
lea edx, [rax + r14*4]
lea esi, [rdx + 1]
mov rcx, r13
call fcn.14018f20c
mov edx, esi
lea r8, [rsp + 0x32]
mov rcx, r13
movzx ebx, byte [rax]
movzx eax, byte [rsp + 0x33]
xor ebx, eax
ror ebx, 8
call fcn.14018f20c
lea r8, [rsp + 0x31]
mov rcx, r13
lea edx, [rsi + 1]
movzx edi, byte [rax]
movzx eax, byte [rsp + 0x32]
xor edi, eax
add edi, ebx
ror edi, 8
call fcn.14018f20c
movzx ebx, byte [rsp + 0x31]
lea edx, [rsi + 2]
lea r8, [rsp + 0x30]
mov rcx, r13
movzx eax, byte [rax]
xor ebx, eax
add ebx, edi
ror ebx, 8
call fcn.14018f20c
mov edx, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x3c]
mov r10d, edx
ror r15d, 8
mov r11d, edx
movzx r9d, byte [rax]
movzx eax, byte [rsp + 0x30]
xor r9d, eax
shl r10, 0x20
add r9d, ebx
mov r8d, r15d
ror r9d, 8
add r10, rcx
mov eax, r9d
shl rax, 0x20
add r8, rax
test ecx, ecx
je 0x1401a6893
test edx, edx
js 0x1401a6893
cmp r8, r10
jb 0x1401a6865
mov eax, 0xffffffff
jmp 0x1401a68b3
mov edx, r12d
mov r9d, 0x80000000
lea rcx, [r8 + r8]
mov eax, r9d
or eax, edx
mov r8, rcx
cmp rcx, r10
cmovb eax, edx
sub r8, r10
cmp rcx, r10
mov edx, eax
cmovb r8, rcx
shr r9d, 1
jne 0x1401a686e
jmp 0x1401a68a3
cmp r9d, edx
jae 0x1401a685e
xor edx, edx
mov rax, r8
div r11
mov rdx, rax
test edx, edx
jne 0x1401a68b1
mov qword [rbp - 0x48], 1
jmp 0x1401a68b7
mov eax, edx
mov qword [rbp - 0x48], rax
mov r15d, dword [rbp - 0x40]
mov rsi, r12
mov ecx, dword [rbp - 0x58]
mov r14, qword [rbp - 0x60]
sub ecx, r15d
mov r12d, ecx
lea eax, [r15 + 3]
mov dword [rsp + 0x40], eax
mov rax, qword [rbp + 0x30]
mov r15d, dword [rsp + 0x40]
mov qword [rbp - 0x38], rax
lea edx, [r12 - 3]
mov rcx, r14
add edx, r15d
lea r8, [rsp + 0x2f]
call fcn.14018f20c
movzx ebx, byte [rsp + 0x2f]
lea edx, [r12 - 2]
add edx, r15d
lea r8, [rsp + 0x2e]
mov rcx, r14
movzx eax, byte [rax]
xor ebx, eax
ror ebx, 8
call fcn.14018f20c
movzx edi, byte [rsp + 0x2e]
lea edx, [r12 - 1]
add edx, r15d
lea r8, [rsp + 0x2d]
mov rcx, r14
movzx eax, byte [rax]
xor edi, eax
add edi, ebx
ror edi, 8
call fcn.14018f20c
lea edx, [r12 + r15]
mov rcx, r14
lea r8, [rsp + 0x2c]
movzx ebx, byte [rax]
movzx eax, byte [rsp + 0x2d]
xor ebx, eax
add ebx, edi
ror ebx, 8
call fcn.14018f20c
lea edx, [r15 - 3]
lea r8, [rsp + 0x21]
movzx ecx, byte [rax]
movzx eax, byte [rsp + 0x2c]
xor eax, ecx
mov rcx, r13
add eax, ebx
ror eax, 8
imul rax, qword [rbp - 0x48]
add rax, rsi
mov rsi, rax
mov ebx, eax
call fcn.14018f20c
mov cl, sil
shr ebx, 8
xor cl, byte [rsp + 0x21]
lea edx, [r15 - 2]
lea r8, [rsp + 0x20]
mov byte [rax], cl
mov rcx, r13
call fcn.14018f20c
mov cl, bl
lea edx, [r15 - 1]
xor cl, byte [rsp + 0x20]
lea r8, [rbp - 0x75]
shr ebx, 8
mov byte [rax], cl
mov rcx, r13
call fcn.14018f20c
mov cl, bl
lea r8, [rbp - 0x74]
xor cl, byte [rbp - 0x75]
mov edx, r15d
mov byte [rax], cl
mov rcx, r13
call fcn.14018f20c
shr ebx, 8
add r15d, 4
xor bl, byte [rbp - 0x74]
shr rsi, 0x20
sub qword [rbp - 0x38], 1
mov byte [rax], bl
jne 0x1401a68e0
mov eax, dword [rbp - 0x50]
lea r8, [rbp - 0x73]
mov edx, eax
mov rcx, r13
lea ebx, [rax + 1]
call fcn.14018f20c
mov cl, sil
lea r8, [rbp - 0x72]
xor cl, byte [rbp - 0x73]
mov edx, ebx
shr esi, 8
mov byte [rax], cl
mov rcx, r13
call fcn.14018f20c
mov cl, sil
lea r8, [rbp - 0x71]
xor cl, byte [rbp - 0x72]
lea edx, [rbx + 1]
shr esi, 8
mov byte [rax], cl
mov rcx, r13
call fcn.14018f20c
mov cl, sil
lea edx, [rbx + 2]
xor cl, byte [rbp - 0x71]
lea r8, [rbp - 0x70]
mov byte [rax], cl
mov rcx, r13
call fcn.14018f20c
mov ecx, dword [rsp + 0x48]
mov r14d, dword [rbp - 0x4c]
shr esi, 8
xor sil, byte [rbp - 0x70]
mov byte [rax], sil
mov eax, dword [rsp + 0x50]
lea eax, [rcx + rax*4]
lea ecx, [r14 + 1]
mov dword [rsp + 0x28], eax
mov dword [rbp - 0x48], ecx
mov r15d, dword [rbp - 0x40]
xor r12d, r12d
mov dword [rsp + 0x40], r14d
test r14d, r14d
js 0x1401a6eef
lea ecx, [r14*4]
mov edi, r15d
lea esi, [rax + 3]
add esi, ecx
sub edi, eax
mov dword [rsp + 0x24], esi
mov dword [rsp + 0x3c], edi
lea eax, [rdi - 3]
mov rcx, r13
add eax, esi
lea r8, [rbp - 0x6f]
mov edx, eax
mov dword [rbp + 0x20], eax
call fcn.14018f20c
lea r8, [rsp + 0x58]
mov rcx, r13
movzx ebx, byte [rax]
movzx eax, byte [rbp - 0x6f]
xor ebx, eax
lea eax, [rdi - 2]
add eax, esi
ror ebx, 8
mov edx, eax
mov dword [rbp + 0x2c], eax
call fcn.14018f20c
lea r8, [rsp + 0x59]
mov rcx, r13
movzx edi, byte [rax]
movzx eax, byte [rsp + 0x58]
xor edi, eax
mov eax, dword [rsp + 0x3c]
dec eax
add edi, ebx
add eax, esi
ror edi, 8
mov edx, eax
mov dword [rbp + 0x24], eax
call fcn.14018f20c
movzx ebx, byte [rsp + 0x59]
lea r8, [rsp + 0x5a]
mov rcx, r13
movzx eax, byte [rax]
xor ebx, eax
mov eax, dword [rsp + 0x3c]
add eax, esi
add ebx, edi
mov edx, eax
ror ebx, 8
mov dword [rbp + 0x28], eax
call fcn.14018f20c
mov edi, dword [rsp + 0x24]
lea r8, [rsp + 0x5b]
mov rcx, r13
movzx esi, byte [rax]
movzx eax, byte [rsp + 0x5a]
xor esi, eax
lea eax, [rdi - 3]
add esi, ebx
mov dword [rbp - 0x1c], eax
mov edx, eax
ror esi, 8
call fcn.14018f20c
movzx ebx, byte [rsp + 0x5b]
lea r8, [rsp + 0x5c]
mov rcx, r13
movzx eax, byte [rax]
xor ebx, eax
lea eax, [rdi - 2]
mov edx, eax
ror ebx, 8
mov dword [rbp - 0x18], eax
call fcn.14018f20c
lea r8, [rsp + 0x5d]
mov rcx, r13
movzx edi, byte [rax]
movzx eax, byte [rsp + 0x5c]
xor edi, eax
mov eax, dword [rsp + 0x24]
add edi, ebx
ror edi, 8
dec eax
mov edx, eax
mov dword [rbp - 0x38], eax
call fcn.14018f20c
movzx ebx, byte [rax]
movzx eax, byte [rsp + 0x5d]
xor ebx, eax
add ebx, edi
mov edx, dword [rsp + 0x24]
lea r8, [rsp + 0x5e]
mov rcx, r13
ror ebx, 8
call fcn.14018f20c
movzx ecx, byte [rsp + 0x5e]
movzx eax, byte [rax]
xor ecx, eax
add ecx, ebx
ror ecx, 8
cmp esi, ecx
ja 0x1401a6cf6
mov edx, dword [rbp + 0x20]
lea r8, [rsp + 0x5f]
mov rcx, r13
call fcn.14018f20c
mov edx, dword [rbp + 0x2c]
lea r8, [rsp + 0x60]
mov rcx, r13
movzx ebx, byte [rax]
movzx eax, byte [rsp + 0x5f]
xor ebx, eax
ror ebx, 8
call fcn.14018f20c
movzx edi, byte [rsp + 0x60]
lea r8, [rsp + 0x61]
mov edx, dword [rbp + 0x24]
mov rcx, r13
movzx eax, byte [rax]
xor edi, eax
add edi, ebx
ror edi, 8
call fcn.14018f20c
movzx ebx, byte [rsp + 0x61]
lea r8, [rsp + 0x62]
mov edx, dword [rbp + 0x28]
mov rcx, r13
movzx eax, byte [rax]
xor ebx, eax
add ebx, edi
ror ebx, 8
call fcn.14018f20c
mov edx, dword [rbp - 0x1c]
lea r8, [rsp + 0x63]
mov rcx, r13
movzx esi, byte [rax]
movzx eax, byte [rsp + 0x62]
xor esi, eax
add esi, ebx
ror esi, 8
call fcn.14018f20c
movzx ebx, byte [rsp + 0x63]
lea r8, [rsp + 0x64]
mov edx, dword [rbp - 0x18]
mov rcx, r13
movzx eax, byte [rax]
xor ebx, eax
ror ebx, 8
call fcn.14018f20c
mov edx, dword [rbp - 0x38]
lea r8, [rsp + 0x65]
mov rcx, r13
movzx edi, byte [rax]
movzx eax, byte [rsp + 0x64]
xor edi, eax
add edi, ebx
ror edi, 8
call fcn.14018f20c
mov edx, dword [rsp + 0x24]
lea r8, [rsp + 0x66]
mov rcx, r13
movzx ebx, byte [rax]
movzx eax, byte [rsp + 0x65]
xor ebx, eax
add ebx, edi
ror ebx, 8
call fcn.14018f20c
movzx ecx, byte [rsp + 0x66]
movzx eax, byte [rax]
xor ecx, eax
add ecx, ebx
ror ecx, 8
cmp esi, ecx
jb 0x1401a6ee7
mov eax, dword [rsp + 0x40]
mov esi, dword [rsp + 0x24]
dec eax
sub esi, 4
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x24], esi
test eax, eax
js 0x1401a6ee7
mov edi, dword [rsp + 0x3c]
jmp 0x1401a6aa2
mov eax, dword [rsp + 0x28]
lea ecx, [r14 + 1]
mov dword [rbp + 0x10], r12d
test ecx, ecx
je 0x1401a6a7a
mov eax, dword [rbp - 0x50]
lea esi, [r15 + 3]
add eax, 4
mov dword [rsp + 0x24], esi
sub eax, r15d
mov dword [rsp + 0x3c], eax
mov eax, ecx
mov qword [rbp - 0x38], rax
lea r12d, [rsi - 3]
mov rcx, r13
mov edx, r12d
lea r8, [rsp + 0x67]
call fcn.14018f20c
movzx ebx, byte [rsp + 0x67]
lea r15d, [rsi - 2]
lea r8, [rsp + 0x68]
mov edx, r15d
mov rcx, r13
movzx eax, byte [rax]
xor ebx, eax
ror ebx, 8
call fcn.14018f20c
movzx edi, byte [rsp + 0x68]
lea r14d, [rsi - 1]
lea r8, [rsp + 0x69]
mov edx, r14d
mov rcx, r13
movzx eax, byte [rax]
xor edi, eax
add edi, ebx
ror edi, 8
call fcn.14018f20c
movzx ebx, byte [rsp + 0x69]
lea r8, [rsp + 0x6a]
mov edx, esi
mov rcx, r13
movzx eax, byte [rax]
xor ebx, eax
add ebx, edi
ror ebx, 8
call fcn.14018f20c
mov edx, dword [rsp + 0x24]
lea r8, [rsp + 0x6b]
mov edi, dword [rsp + 0x3c]
add edx, 0xfffffffd
add edx, edi
mov rcx, r13
movzx esi, byte [rax]
movzx eax, byte [rsp + 0x6a]
xor esi, eax
add esi, ebx
ror esi, 8
call fcn.14018f20c
lea edx, [rdi - 2]
mov rcx, r13
add edx, dword [rsp + 0x24]
lea r8, [rsp + 0x6c]
movzx ebx, byte [rax]
movzx eax, byte [rsp + 0x6b]
xor ebx, eax
ror ebx, 8
call fcn.14018f20c
mov ecx, dword [rsp + 0x24]
lea r8, [rsp + 0x6d]
mov edx, dword [rsp + 0x3c]
dec ecx
add edx, ecx
mov rcx, r13
movzx edi, byte [rax]
movzx eax, byte [rsp + 0x6c]
xor edi, eax
add edi, ebx
ror edi, 8
call fcn.14018f20c
mov edx, dword [rsp + 0x3c]
lea r8, [rsp + 0x6e]
movzx ebx, byte [rsp + 0x6d]
mov rcx, r13
add edx, dword [rsp + 0x24]
movzx eax, byte [rax]
xor ebx, eax
add ebx, edi
ror ebx, 8
call fcn.14018f20c
movzx ecx, byte [rsp + 0x6e]
movzx eax, byte [rax]
xor ecx, eax
add ecx, ebx
ror ecx, 8
mov eax, dword [rbp + 0x10]
lea r8, [rsp + 0x6f]
mov edi, esi
mov edx, r12d
sub rdi, rax
sub rdi, rcx
mov rcx, r13
mov ebx, edi
call fcn.14018f20c
mov cl, dil
shr ebx, 8
xor cl, byte [rsp + 0x6f]
lea r8, [rsp + 0x70]
mov edx, r15d
mov byte [rax], cl
mov rcx, r13
call fcn.14018f20c
mov cl, bl
lea r8, [rsp + 0x71]
xor cl, byte [rsp + 0x70]
mov edx, r14d
shr ebx, 8
mov byte [rax], cl
mov rcx, r13
call fcn.14018f20c
mov esi, dword [rsp + 0x24]
lea r8, [rsp + 0x72]
mov cl, bl
mov edx, esi
xor cl, byte [rsp + 0x71]
mov byte [rax], cl
mov rcx, r13
call fcn.14018f20c
shr ebx, 8
add esi, 4
xor bl, byte [rsp + 0x72]
mov dword [rsp + 0x24], esi
mov byte [rax], bl
mov rax, rdi
shr rax, 0x20
neg eax
sub qword [rbp - 0x38], 1
mov qword [rbp + 0x10], rax
jne 0x1401a6d25
mov r14d, dword [rbp - 0x4c]
mov eax, dword [rsp + 0x28]
mov ecx, dword [rbp - 0x48]
jmp 0x1401a6a73
mov eax, dword [rsp + 0x28]
lea ecx, [r14 + 1]
mov dword [rbp - 0x10], r12d
test ecx, ecx
je 0x1401a70c6
mov r14d, eax
lea edi, [r15 + 3]
sub r14d, r15d
mov eax, ecx
mov dword [rbp - 0x48], r14d
mov dword [rsp + 0x24], edi
mov qword [rbp - 0x38], rax
mov rsi, qword [rbp + 0xa0]
lea r13d, [r14 - 3]
add r13d, edi
lea r8, [rsp + 0x73]
mov edx, r13d
mov rcx, rsi
call fcn.14018f20c
movzx ebx, byte [rsp + 0x73]
lea r12d, [rdi - 2]
add r12d, r14d
lea r8, [rsp + 0x74]
mov edx, r12d
mov rcx, rsi
movzx eax, byte [rax]
xor ebx, eax
ror ebx, 8
call fcn.14018f20c
mov r15d, dword [rsp + 0x24]
lea r8, [rsp + 0x75]
movzx edi, byte [rsp + 0x74]
add r15d, r14d
mov rcx, rsi
movzx eax, byte [rax]
xor edi, eax
add edi, ebx
lea edx, [r15 - 1]
ror edi, 8
call fcn.14018f20c
movzx ebx, byte [rsp + 0x75]
lea r8, [rsp + 0x76]
mov rcx, rsi
movzx eax, byte [rax]
xor ebx, eax
add ebx, edi
mov edi, dword [rsp + 0x24]
add r14d, edi
ror ebx, 8
mov edx, r14d
call fcn.14018f20c
movzx esi, byte [rsp + 0x76]
lea edx, [rdi - 3]
mov rcx, qword [rbp + 0xa0]
lea r8, [rsp + 0x77]
movzx eax, byte [rax]
xor esi, eax
add esi, ebx
ror esi, 8
call fcn.14018f20c
movzx ebx, byte [rsp + 0x77]
lea r8, [rsp + 0x78]
mov rcx, qword [rbp + 0xa0]
mov edx, edi
add edx, 0xfffffffe
movzx eax, byte [rax]
xor ebx, eax
ror ebx, 8
call fcn.14018f20c
mov edx, dword [rsp + 0x24]
lea r8, [rsp + 0x79]
movzx edi, byte [rsp + 0x78]
dec edx
mov rcx, qword [rbp + 0xa0]
movzx eax, byte [rax]
xor edi, eax
add edi, ebx
ror edi, 8
call fcn.14018f20c
movzx ebx, byte [rsp + 0x79]
lea r8, [rsp + 0x7a]
mov edx, dword [rsp + 0x24]
mov rcx, qword [rbp + 0xa0]
movzx eax, byte [rax]
xor ebx, eax
add ebx, edi
ror ebx, 8
call fcn.14018f20c
movzx ecx, byte [rsp + 0x7a]
movzx eax, byte [rax]
xor ecx, eax
add ecx, ebx
ror ecx, 8
mov eax, dword [rbp - 0x10]
mov edx, r13d
mov r13, qword [rbp + 0xa0]
mov edi, esi
sub rdi, rax
sub rdi, rcx
mov rcx, r13
mov r8b, dil
mov ebx, edi
call fcn.14018f2e0
shr ebx, 8
mov edx, r12d
mov r8b, bl
mov rcx, r13
call fcn.14018f2e0
shr ebx, 8
lea edx, [r15 - 1]
mov r8b, bl
mov rcx, r13
call fcn.14018f2e0
shr ebx, 8
mov edx, r14d
mov r8b, bl
mov rcx, r13
call fcn.14018f2e0
mov r14d, dword [rbp - 0x48]
mov rax, rdi
mov edi, dword [rsp + 0x24]
shr rax, 0x20
add edi, 4
neg eax
mov dword [rsp + 0x24], edi
sub qword [rbp - 0x38], 1
mov qword [rbp - 0x10], rax
jne 0x1401a6f13
mov r14d, dword [rbp - 0x4c]
xor r12d, r12d
mov dword [rsp + 0x40], r14d
test r14d, r14d
js 0x1401a730c
mov esi, dword [rsp + 0x28]
mov r15d, dword [rbp - 0x20]
mov eax, dword [rbp - 0x50]
add r15d, 3
add eax, 4
sub esi, eax
mov dword [rsp + 0x28], esi
lea eax, [rsi - 3]
mov rcx, r13
add eax, r15d
lea r8, [rsp + 0x7b]
mov edx, eax
mov dword [rbp - 0x48], eax
call fcn.14018f20c
movzx ebx, byte [rsp + 0x7b]
lea r8, [rsp + 0x7c]
mov rcx, r13
movzx eax, byte [rax]
xor ebx, eax
lea eax, [rsi - 2]
add eax, r15d
ror ebx, 8
mov edx, eax
mov dword [rbp - 0x38], eax
call fcn.14018f20c
movzx edi, byte [rsp + 0x7c]
lea r8, [rsp + 0x7d]
mov rcx, r13
movzx eax, byte [rax]
xor edi, eax
lea eax, [rsi - 1]
add eax, r15d
add edi, ebx
mov edx, eax
ror edi, 8
mov dword [rbp - 0x18], eax
call fcn.14018f20c
movzx ebx, byte [rsp + 0x7d]
lea r8, [rsp + 0x7e]
mov rcx, r13
movzx eax, byte [rax]
xor ebx, eax
lea eax, [rsi + r15]
add ebx, edi
mov dword [rbp - 0x1c], eax
mov edx, eax
ror ebx, 8
call fcn.14018f20c
movzx esi, byte [rsp + 0x7e]
lea edx, [r15 - 3]
lea r8, [rsp + 0x7f]
mov rcx, r13
movzx eax, byte [rax]
xor esi, eax
add esi, ebx
ror esi, 8
call fcn.14018f20c
lea edx, [r15 - 2]
mov rcx, r13
lea r8, [rbp - 0x80]
movzx ebx, byte [rax]
movzx eax, byte [rsp + 0x7f]
xor ebx, eax
ror ebx, 8
call fcn.14018f20c
lea edx, [r15 - 1]
mov rcx, r13
lea r8, [rbp - 0x7f]
movzx edi, byte [rax]
movzx eax, byte [rbp - 0x80]
xor edi, eax
add edi, ebx
ror edi, 8
call fcn.14018f20c
lea r8, [rbp - 0x7e]
mov edx, r15d
mov rcx, r13
movzx ebx, byte [rax]
movzx eax, byte [rbp - 0x7f]
xor ebx, eax
add ebx, edi
ror ebx, 8
call fcn.14018f20c
movzx ecx, byte [rax]
movzx eax, byte [rbp - 0x7e]
xor ecx, eax
add ecx, ebx
ror ecx, 8
cmp esi, ecx
ja 0x1401a7447
mov edx, dword [rbp - 0x48]
lea r8, [rbp - 0x7d]
mov rcx, r13
call fcn.14018f20c
mov edx, dword [rbp - 0x38]
lea r8, [rbp - 0x7c]
mov rcx, r13
movzx ebx, byte [rax]
movzx eax, byte [rbp - 0x7d]
xor ebx, eax
ror ebx, 8
call fcn.14018f20c
mov edx, dword [rbp - 0x18]
lea r8, [rbp - 0x7b]
mov rcx, r13
movzx edi, byte [rax]
movzx eax, byte [rbp - 0x7c]
xor edi, eax
add edi, ebx
ror edi, 8
call fcn.14018f20c
mov edx, dword [rbp - 0x1c]
lea r8, [rbp - 0x7a]
mov rcx, r13
movzx ebx, byte [rax]
movzx eax, byte [rbp - 0x7b]
xor ebx, eax
add ebx, edi
ror ebx, 8
call fcn.14018f20c
lea r8, [rbp - 0x79]
mov rcx, r13
lea edx, [r15 - 3]
movzx esi, byte [rax]
movzx eax, byte [rbp - 0x7a]
xor esi, eax
add esi, ebx
ror esi, 8
call fcn.14018f20c
lea r8, [rbp - 0x78]
mov rcx, r13
lea edx, [r15 - 2]
movzx ebx, byte [rax]
movzx eax, byte [rbp - 0x79]
xor ebx, eax
ror ebx, 8
call fcn.14018f20c
lea r8, [rbp - 0x77]
mov rcx, r13
lea edx, [r15 - 1]
movzx edi, byte [rax]
movzx eax, byte [rbp - 0x78]
xor edi, eax
add edi, ebx
ror edi, 8
call fcn.14018f20c
lea r8, [rbp - 0x76]
mov edx, r15d
mov rcx, r13
movzx ebx, byte [rax]
movzx eax, byte [rbp - 0x77]
xor ebx, eax
add ebx, edi
ror ebx, 8
call fcn.14018f20c
movzx ecx, byte [rax]
movzx eax, byte [rbp - 0x76]
xor ecx, eax
add ecx, ebx
ror ecx, 8
cmp esi, ecx
jb 0x1401a743f
mov eax, dword [rsp + 0x40]
sub r15d, 4
mov esi, dword [rsp + 0x28]
dec eax
mov dword [rsp + 0x40], eax
test eax, eax
jns 0x1401a70ec
mov edx, r12d
mov ecx, dword [rsp + 0x50]
test edx, edx
mov r15d, dword [rsp + 0x54]
lea eax, [rcx + 1]
cmovs eax, ecx
sub eax, 1
mov dword [rsp + 0x50], eax
jns 0x1401a65cd
mov esi, dword [rbp + 0xc8]
mov edi, dword [rsp + 0x48]
mov ecx, dword [rbp - 0x28]
mov r15d, ecx
mov rax, qword [rbp - 0x30]
mov qword [rbp - 0x60], r13
mov r13d, r12d
mov qword [rbp + 0x30], rax
mov dword [rbp + 0x38], ecx
mov dword [rbp - 0x58], edi
cmp qword [rbp], r12
jbe 0x1401a73d7
mov rsi, qword [rbp]
movaps xmm1, xmmword [rbp - 0x60]
lea r8, [rbp + 0xa8]
movaps xmm6, xmmword [rbp + 0x30]
movdqa xmm0, xmm1
psrldq xmm0, 8
inc edi
movd edx, xmm0
inc r15d
movq rcx, xmm1
mov dword [rbp - 0x58], edi
mov dword [rbp + 0x38], r15d
call fcn.14018f20c
movdqa xmm0, xmm6
lea r8, [rbp + 0xa0]
psrldq xmm0, 8
movq rcx, xmm6
movd edx, xmm0
mov rbx, rax
call fcn.14018f20c
mov cl, byte [rbx]
inc r13d
xor cl, byte [rbp + 0xa0]
xor cl, byte [rbp + 0xa8]
mov byte [rax], cl
mov eax, r13d
cmp rax, rsi
jb 0x1401a735c
mov esi, dword [rbp + 0xc8]
mov rax, qword [rbp - 0x30]
mov ecx, dword [rbp - 0x28]
sub esi, r14d
mov qword [rbp - 0x30], rax
mov ebx, esi
lea edi, [r14*4]
add edi, ecx
shl rbx, 2
mov dword [rbp - 0x28], edi
test rbx, rbx
je 0x1401a7422
mov dword [rbp - 0x28], edi
movaps xmm1, xmmword [rbp - 0x30]
inc edi
movdqa xmm0, xmm1
mov dword [rbp - 0x28], edi
psrldq xmm0, 8
xor r8d, r8d
movd edx, xmm0
movq rcx, xmm1
call fcn.14018f2e0
sub rbx, 1
jne 0x1401a73f9
movaps xmm6, xmmword [rsp + 0x140]
add rsp, 0x158
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
or edx, 0xffffffff
jmp 0x1401a730f
mov edx, 1
jmp 0x1401a730f