Function at 0x1401a459c
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 - 0x40], xmm1
add eax, 2
je 0x1401a4658
lea ebx, [r12 + 2]
mov edi, eax
lea edx, [rbx - 2]
mov rcx, r13
lea r8, [rbp + 0xb0]
call fcn.14018d9f4
mov cl, byte [rbp + 0xb0]
lea edx, [rbx - 1]
lea r8, [rbp + 0xb8]
mov byte [rax], cl
mov rcx, r13
call fcn.14018d9f4
mov cl, byte [rbp + 0xb8]
lea r8, [rsp + 0x20]
mov edx, ebx
mov byte [rax], cl
mov rcx, r13
call fcn.14018d9f4
mov cl, byte [rsp + 0x20]
lea edx, [rbx + 1]
lea r8, [rsp + 0x21]
mov byte [rax], cl
mov rcx, r13
call fcn.14018d9f4
mov cl, byte [rsp + 0x21]
add ebx, 4
mov byte [rax], cl
sub rdi, 1
jne 0x1401a45f0
mov dword [rsp + 0x44], esi
mov r15d, esi
test esi, esi
je 0x1401a471e
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.14018d9f4
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.14018d9f4
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.14018d9f4
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.14018d9f4
movzx ecx, byte [rax]
movzx eax, byte [rsp + 0x20]
xor ecx, eax
add ecx, ebx
ror ecx, 8
test ecx, ecx
jne 0x1401a4cd2
mov eax, 0xffffffff
add r14d, 0xfffffffc
add r15d, eax
mov dword [rsp + 0x44], r15d
test r15d, r15d
jne 0x1401a4673
mov ecx, r12d
mov r15d, 1
mov dword [rsp + 0x24], ecx
mov dword [rsp + 0x44], r15d
test esi, esi
je 0x1401a4a9a
mov edi, dword [rbp - 0x38]
lea eax, [r15*4]
imul edx, r15d, 0xfffffffc
lea r14d, [rax + 3]
sub edi, eax
mov dword [rsp + 0x3c], r14d
mov dword [rsp + 0x48], edi
mov dword [rbp - 0x28], edx
mov edx, 0xfffffffd
sub edx, eax
mov dword [rbp - 0x50], edx
lea eax, [r15 + rcx]
lea ecx, [rsi*2 + 2]
cmp eax, ecx
jae 0x1401a4a9a
mov rcx, qword [rbp - 0x40]
lea edx, [r14 - 3]
add edx, edi
lea r8, [rbp + 0xb0]
call fcn.14018d9f4
mov rcx, qword [rbp - 0x40]
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.14018d9f4
mov edx, dword [rsp + 0x48]
lea r8, [rsp + 0x21]
mov rcx, qword [rbp - 0x40]
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.14018d9f4
mov rcx, qword [rbp - 0x40]
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.14018d9f4
movzx ecx, byte [rsp + 0x20]
movzx eax, byte [rax]
xor ecx, eax
add ecx, ebx
mov ebx, r12d
ror ecx, 8
mov qword [rbp - 0x18], rbx
test r15d, r15d
je 0x1401a4a15
mov esi, dword [rbp - 0x28]
mov eax, ecx
add esi, r14d
mov qword [rbp - 0x10], rax
mov eax, dword [rbp - 0x58]
sub eax, dword [rbp - 0x50]
sub eax, r14d
mov dword [rsp + 0x38], esi
mov dword [rsp + 0x50], eax
mov eax, r15d
mov qword [rsp + 0x58], rax
lea r12d, [rsi - 3]
mov rcx, r13
mov edx, r12d
lea r8, [rsp + 0x28]
call fcn.14018d9f4
lea r15d, [rsi - 2]
mov rcx, r13
lea r8, [rsp + 0x29]
mov edx, r15d
movzx ebx, byte [rax]
movzx eax, byte [rsp + 0x28]
xor ebx, eax
ror ebx, 8
call fcn.14018d9f4
lea r14d, [rsi - 1]
mov rcx, r13
lea r8, [rsp + 0x2a]
mov edx, r14d
movzx edi, byte [rax]
movzx eax, byte [rsp + 0x29]
xor edi, eax
add edi, ebx
ror edi, 8
call fcn.14018d9f4
movzx ebx, byte [rsp + 0x2a]
lea r8, [rsp + 0x2b]
mov edx, esi
mov rcx, r13
movzx eax, byte [rax]
xor ebx, eax
add ebx, edi
ror ebx, 8
call fcn.14018d9f4
mov edx, dword [rsp + 0x38]
lea r8, [rsp + 0x2c]
mov edi, dword [rsp + 0x50]
add edx, 0xfffffffd
mov rcx, qword [rbp - 0x60]
add edx, edi
movzx esi, byte [rax]
movzx eax, byte [rsp + 0x2b]
xor esi, eax
add esi, ebx
ror esi, 8
call fcn.14018d9f4
mov edx, dword [rsp + 0x38]
lea r8, [rsp + 0x2d]
mov rcx, qword [rbp - 0x60]
add edi, 0xfffffffe
add edx, edi
movzx ebx, byte [rax]
movzx eax, byte [rsp + 0x2c]
xor ebx, eax
ror ebx, 8
call fcn.14018d9f4
mov edx, dword [rsp + 0x38]
lea r8, [rsp + 0x2e]
mov rcx, qword [rbp - 0x60]
movzx edi, byte [rax]
movzx eax, byte [rsp + 0x2d]
xor edi, eax
mov eax, dword [rsp + 0x50]
dec eax
add edi, ebx
add edx, eax
ror edi, 8
call fcn.14018d9f4
mov edx, dword [rsp + 0x50]
lea r8, [rsp + 0x2f]
add edx, dword [rsp + 0x38]
mov rcx, qword [rbp - 0x60]
movzx ebx, byte [rax]
movzx eax, byte [rsp + 0x2e]
xor ebx, eax
add ebx, edi
ror ebx, 8
call fcn.14018d9f4
movzx edi, byte [rsp + 0x2f]
movzx eax, byte [rax]
xor edi, eax
add edi, ebx
ror edi, 8
lea r8, [rsp + 0x30]
imul rdi, qword [rbp - 0x10]
mov eax, esi
mov edx, r12d
add rdi, rax
mov rcx, r13
mov eax, dword [rbp - 0x18]
add rdi, rax
mov ebx, edi
call fcn.14018d9f4
mov cl, byte [rsp + 0x30]
lea r8, [rsp + 0x31]
xor cl, dil
shr ebx, 8
mov edx, r15d
mov byte [rax], cl
mov rcx, r13
call fcn.14018d9f4
mov cl, byte [rsp + 0x31]
lea r8, [rsp + 0x32]
xor cl, bl
mov edx, r14d
shr ebx, 8
mov byte [rax], cl
mov rcx, r13
call fcn.14018d9f4
mov cl, byte [rsp + 0x32]
lea r8, [rsp + 0x33]
mov esi, dword [rsp + 0x38]
xor cl, bl
mov edx, esi
mov byte [rax], cl
mov rcx, r13
call fcn.14018d9f4
shr ebx, 8
add esi, 4
xor bl, byte [rsp + 0x33]
mov dword [rsp + 0x38], esi
mov byte [rax], bl
mov rbx, rdi
shr rbx, 0x20
sub qword [rsp + 0x58], 1
mov qword [rbp - 0x18], rbx
jne 0x1401a4842
mov esi, dword [rbp + 0xc8]
xor r12d, r12d
mov r14d, dword [rsp + 0x3c]
mov r15d, dword [rsp + 0x44]
mov edi, dword [rsp + 0x48]
lea edx, [r14 - 3]
mov rcx, r13
lea r8, [rsp + 0x34]
call fcn.14018d9f4
mov cl, byte [rsp + 0x34]
lea edx, [r14 - 2]
xor cl, bl
lea r8, [rsp + 0x35]
shr ebx, 8
mov byte [rax], cl
mov rcx, r13
call fcn.14018d9f4
mov cl, byte [rsp + 0x35]
lea edx, [r14 - 1]
xor cl, bl
lea r8, [rsp + 0x36]
shr ebx, 8
mov byte [rax], cl
mov rcx, r13
call fcn.14018d9f4
mov cl, byte [rsp + 0x36]
lea r8, [rsp + 0x37]
xor cl, bl
mov edx, r14d
mov byte [rax], cl
mov rcx, r13
call fcn.14018d9f4
mov ecx, dword [rsp + 0x24]
add r14d, 4
shr ebx, 8
inc ecx
xor bl, byte [rsp + 0x37]
mov byte [rax], bl
mov dword [rsp + 0x24], ecx
mov dword [rsp + 0x3c], r14d
cmp ecx, esi
jb 0x1401a4763
mov rax, qword [rbp + 0xa8]
lea r15d, [rsi*2 + 1]
lea r14d, [r15*4 - 2]
movaps xmm0, xmmword [rax]
mov rax, qword [rbp + 0xc0]
movdqa xmmword [rbp - 0x40], xmm0
movaps xmm1, xmmword [rax]
movdqa xmmword [rbp - 0x60], xmm1
lea edx, [r14 - 2]
mov rcx, r13
lea r8, [rbp + 0xa8]
call fcn.14018d9f4
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.14018d9f4
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.14018d9f4
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.14018d9f4
movzx ecx, byte [rax]
movzx eax, byte [rbp + 0xb8]
xor ecx, eax
add ecx, ebx
ror ecx, 8
test ecx, ecx
jne 0x1401a4b6f
mov eax, 0xffffffff
add r14d, 0xfffffffc
add r15d, eax
jne 0x1401a4ac8
lea r15d, [rcx + 1]
mov rdi, qword [rbp - 0x60]
mov r14d, esi
mov dword [rsp + 0x38], esi
test esi, esi
je 0x1401a4c4a
mov eax, dword [rbp - 0x58]
lea eax, [rax + rsi*4]
add eax, 0xfffffffe
mov dword [rsp + 0x24], eax
lea edx, [rax - 2]
mov rcx, rdi
lea r8, [rbp + 0xa8]
call fcn.14018d9f4
mov edx, dword [rsp + 0x24]
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.14018d9f4
movzx edi, byte [rbp + 0xc0]
lea r8, [rbp + 0xb0]
mov edx, dword [rsp + 0x24]
mov rcx, qword [rbp - 0x60]
movzx eax, byte [rax]
xor edi, eax
add edi, ebx
ror edi, 8
call fcn.14018d9f4
mov edx, dword [rsp + 0x24]
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.14018d9f4
movzx ecx, byte [rax]
movzx eax, byte [rbp + 0xb8]
xor ecx, eax
add ecx, ebx
ror ecx, 8
test ecx, ecx
jne 0x1401a4c55
mov eax, 0xffffffff
add r14d, eax
mov eax, dword [rsp + 0x24]
add eax, 0xfffffffc
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x24], eax
test r14d, r14d
jne 0x1401a4b8f
mov r14d, 1
mov dword [rsp + 0x38], r14d
cmp r15d, r14d
jae 0x1401a4cde
mov rax, qword [rbp - 0x40]
mov edi, dword [rbp - 0x38]
mov ebx, esi
mov esi, r12d
shl rbx, 2
mov qword [rbp - 0x60], rax
mov dword [rbp - 0x58], edi
mov qword [rbp - 0x40], r13
mov dword [rbp - 0x38], r12d
test rbx, rbx
je 0x1401a5d60
movaps xmm1, xmmword [rbp - 0x40]
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 - 0x38], r12d
psrldq xmm0, 8
movq rcx, xmm2
movd edx, xmm0
mov dword [rbp - 0x58], edi
call fcn.14018daf0
inc esi
mov eax, esi
cmp rax, rbx
jb 0x1401a4c86
jmp 0x1401a5d60
mov ecx, r12d
mov dword [rsp + 0x24], ecx
jmp 0x1401a4738
lea eax, [rsi*8 + 8]
mov qword [rbp - 0x10], rdi
mov edi, dword [rbp - 0x58]
lea edx, [rax + 4]
lea ecx, [r14*4]
mov dword [rbp - 0x50], eax
add edx, ecx
mov dword [rbp + 0x10], ecx
add ecx, edx
mov dword [rbp - 0x28], edx
mov dword [rbp + 0xc0], ecx
mov ebx, edx
mov qword [rbp], r13
mov dword [rbp + 8], edx
lea eax, [rcx + 4]
mov dword [rbp - 8], edi
mov dword [rsp + 0x50], eax
mov eax, r14d
mov qword [rbp + 0x30], rax
shl rax, 2
mov qword [rbp - 0x18], rax
test rax, rax
je 0x1401a4d8d
mov esi, r12d
mov r14, rax
movaps xmm1, xmmword [rbp - 0x10]
inc edi
movaps xmm2, xmmword [rbp]
movdqa xmm0, xmm1
psrldq xmm0, 8
inc ebx
movd r9d, xmm0
movq r8, xmm1
movdqa xmm0, xmm2
mov dword [rbp - 8], edi
psrldq xmm0, 8
movq rcx, xmm2
movd edx, xmm0
mov dword [rbp + 8], ebx
call fcn.14018daf0
inc esi
mov eax, esi
cmp rax, r14
jb 0x1401a4d37
mov r14d, dword [rsp + 0x38]
mov esi, dword [rbp + 0xc8]
mov ecx, dword [rbp + 0xc0]
lea ebx, [rcx + 1]
mov edx, ecx
mov rcx, r13
lea r8, [rbp + 0xa8]
call fcn.14018d9f4
mov cl, byte [rbp + 0xa8]
lea r8, [rbp + 0xa8]
mov edx, ebx
mov byte [rax], cl
mov rcx, r13
call fcn.14018d9f4
mov cl, byte [rbp + 0xa8]
lea r8, [rbp + 0xa8]
lea edx, [rbx + 1]
mov byte [rax], cl
mov rcx, r13
call fcn.14018d9f4
mov cl, byte [rbp + 0xa8]
lea edx, [rbx + 2]
lea r8, [rbp + 0xa8]
mov byte [rax], cl
mov rcx, r13
call fcn.14018d9f4
mov cl, byte [rbp + 0xa8]
mov edi, dword [rsp + 0x50]
mov ebx, edi
mov qword [rbp], r13
mov byte [rax], cl
mov eax, r15d
shl rax, 2
mov dword [rbp + 8], ebx
mov qword [rbp - 0x10], r13
mov dword [rbp - 8], r12d
test rax, rax
je 0x1401a4e79
mov esi, r12d
mov r14, rax
mov r13d, r12d
movaps xmm1, xmmword [rbp - 0x10]
inc esi
movaps xmm2, xmmword [rbp]
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 + 8], ebx
call fcn.14018daf0
inc r13d
mov eax, r13d
cmp rax, r14
jb 0x1401a4e20
mov r13, qword [rbp + 0xa0]
mov r14d, dword [rsp + 0x38]
mov esi, dword [rbp + 0xc8]
lea edx, [rdi + r15*4]
mov rcx, r13
lea r8, [rbp + 0xa8]
lea ebx, [rdx + 1]
call fcn.14018d9f4
mov cl, byte [rbp + 0xa8]
lea r8, [rbp + 0xa8]
mov edx, ebx
mov byte [rax], cl
mov rcx, r13
call fcn.14018d9f4
mov cl, byte [rbp + 0xa8]
lea r8, [rbp + 0xa8]
lea edx, [rbx + 1]
mov byte [rax], cl
mov rcx, r13
call fcn.14018d9f4
mov cl, byte [rbp + 0xa8]
lea edx, [rbx + 2]
lea r8, [rbp + 0xa8]
mov byte [rax], cl
mov rcx, r13
call fcn.14018d9f4
mov cl, byte [rbp + 0xa8]
mov byte [rax], cl
mov eax, r15d
sub eax, r14d
mov dword [rsp + 0x3c], eax
js 0x1401a5c78
test r15d, r15d
je 0x1401a5c78
test r14d, r14d
je 0x1401a5c78
cmp r15d, r14d
jbe 0x1401a5c78
mov r15, qword [rbp - 0x60]
cmp r14d, 1
jbe 0x1401a4fb6
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.14018d9f4
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.14018d9f4
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.14018d9f4
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.14018d9f4
movzx ecx, byte [rax]
movzx eax, byte [rbp + 0xb8]
xor ecx, eax
add ecx, ebx
ror ecx, 8
mov dword [rsp + 0x40], ecx
jmp 0x1401a4fbb
mov dword [rsp + 0x40], r12d
mov edx, dword [rbp - 0x58]
lea r8, [rsp + 0x37]
add edx, 0xfffffffc
mov rcx, r15
lea edx, [rdx + r14*4]
lea esi, [rdx + 1]
call fcn.14018d9f4
mov edx, esi
lea r8, [rsp + 0x36]
mov rcx, r15
movzx ebx, byte [rax]
movzx eax, byte [rsp + 0x37]
xor ebx, eax
ror ebx, 8
call fcn.14018d9f4
lea r8, [rsp + 0x35]
mov rcx, r15
lea edx, [rsi + 1]
movzx edi, byte [rax]
movzx eax, byte [rsp + 0x36]
xor edi, eax
add edi, ebx
ror edi, 8
call fcn.14018d9f4
lea edx, [rsi + 2]
mov rcx, r15
lea r8, [rsp + 0x34]
movzx ebx, byte [rax]
movzx eax, byte [rsp + 0x35]
xor ebx, eax
add ebx, edi
ror ebx, 8
call fcn.14018d9f4
movzx ecx, byte [rsp + 0x34]
lea r8, [rsp + 0x33]
mov edx, dword [rsp + 0x50]
add r14d, dword [rsp + 0x3c]
add edx, 0xfffffffc
movzx eax, byte [rax]
xor ecx, eax
add ecx, ebx
ror ecx, 8
lea edx, [rdx + r14*4]
mov dword [rsp + 0x44], ecx
lea esi, [rdx + 1]
mov rcx, r13
call fcn.14018d9f4
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.14018d9f4
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.14018d9f4
lea edx, [rsi + 2]
mov rcx, r13
lea r8, [rsp + 0x30]
movzx r15d, byte [rax]
movzx eax, byte [rsp + 0x31]
xor r15d, eax
add r15d, edi
ror r15d, 8
call fcn.14018d9f4
lea r8, [rsp + 0x2f]
movzx ecx, byte [rax]
movzx eax, byte [rsp + 0x30]
xor ecx, eax
mov eax, dword [rsp + 0x50]
add r15d, ecx
lea edx, [rax + r14*4]
lea esi, [rdx + 1]
mov rcx, r13
call fcn.14018d9f4
mov edx, esi
lea r8, [rsp + 0x2e]
mov rcx, r13
movzx ebx, byte [rax]
movzx eax, byte [rsp + 0x2f]
xor ebx, eax
ror ebx, 8
call fcn.14018d9f4
lea r8, [rsp + 0x2d]
mov rcx, r13
lea edx, [rsi + 1]
movzx edi, byte [rax]
movzx eax, byte [rsp + 0x2e]
xor edi, eax
add edi, ebx
ror edi, 8
call fcn.14018d9f4
movzx ebx, byte [rsp + 0x2d]
lea edx, [rsi + 2]
lea r8, [rsp + 0x2c]
mov rcx, r13
movzx eax, byte [rax]
xor ebx, eax
add ebx, edi
ror ebx, 8
call fcn.14018d9f4
mov edx, dword [rsp + 0x44]
mov ecx, dword [rsp + 0x40]
mov r10d, edx
ror r15d, 8
mov r11d, edx
movzx r9d, byte [rax]
movzx eax, byte [rsp + 0x2c]
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 0x1401a51ba
test edx, edx
js 0x1401a51ba
cmp r8, r10
jb 0x1401a518c
mov eax, 0xffffffff
jmp 0x1401a51db
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 0x1401a5195
jmp 0x1401a51ca
cmp r9d, edx
jae 0x1401a5185
xor edx, edx
mov rax, r8
div r11
mov rdx, rax
test edx, edx
jne 0x1401a51d9
mov qword [rsp + 0x58], 1
jmp 0x1401a51e0
mov eax, edx
mov qword [rsp + 0x58], rax
mov r15d, dword [rbp - 0x50]
mov rsi, r12
mov r12d, dword [rbp - 0x58]
mov r14, qword [rbp - 0x60]
sub r12d, r15d
lea eax, [r15 + 3]
mov dword [rsp + 0x40], eax
mov rax, qword [rbp + 0x30]
mov r15d, dword [rsp + 0x40]
mov qword [rbp - 0x30], rax
lea edx, [r12 - 3]
mov rcx, r14
add edx, r15d
lea r8, [rsp + 0x2b]
call fcn.14018d9f4
movzx ebx, byte [rsp + 0x2b]
lea edx, [r12 - 2]
add edx, r15d
lea r8, [rsp + 0x2a]
mov rcx, r14
movzx eax, byte [rax]
xor ebx, eax
ror ebx, 8
call fcn.14018d9f4
movzx edi, byte [rsp + 0x2a]
lea edx, [r12 - 1]
add edx, r15d
lea r8, [rsp + 0x29]
mov rcx, r14
movzx eax, byte [rax]
xor edi, eax
add edi, ebx
ror edi, 8
call fcn.14018d9f4
lea edx, [r15 + r12]
mov rcx, r14
lea r8, [rsp + 0x28]
movzx ebx, byte [rax]
movzx eax, byte [rsp + 0x29]
xor ebx, eax
add ebx, edi
ror ebx, 8
call fcn.14018d9f4
lea edx, [r15 - 3]
lea r8, [rsp + 0x21]
movzx ecx, byte [rax]
movzx eax, byte [rsp + 0x28]
xor eax, ecx
mov rcx, r13
add eax, ebx
ror eax, 8
imul rax, qword [rsp + 0x58]
add rax, rsi
mov rsi, rax
mov ebx, eax
call fcn.14018d9f4
mov cl, byte [rsp + 0x21]
lea edx, [r15 - 2]
xor cl, sil
shr ebx, 8
lea r8, [rsp + 0x20]
mov byte [rax], cl
mov rcx, r13
call fcn.14018d9f4
mov cl, byte [rsp + 0x20]
lea edx, [r15 - 1]
xor cl, bl
lea r8, [rbp - 0x6e]
shr ebx, 8
mov byte [rax], cl
mov rcx, r13
call fcn.14018d9f4
mov cl, byte [rbp - 0x6e]
lea r8, [rbp - 0x6d]
xor cl, bl
mov edx, r15d
mov byte [rax], cl
mov rcx, r13
call fcn.14018d9f4
shr ebx, 8
add r15d, 4
xor bl, byte [rbp - 0x6d]
shr rsi, 0x20
sub qword [rbp - 0x30], 1
mov byte [rax], bl
jne 0x1401a5207
mov r15d, dword [rbp - 0x50]
lea r8, [rbp - 0x6c]
mov edi, dword [rbp + 0x10]
mov rcx, r13
lea edx, [rdi + r15]
lea ebx, [rdx + 1]
call fcn.14018d9f4
mov cl, byte [rbp - 0x6c]
lea r8, [rbp - 0x6b]
xor cl, sil
mov edx, ebx
shr esi, 8
mov byte [rax], cl
mov rcx, r13
call fcn.14018d9f4
mov cl, byte [rbp - 0x6b]
lea r8, [rbp - 0x6a]
xor cl, sil
lea edx, [rbx + 1]
shr esi, 8
mov byte [rax], cl
mov rcx, r13
call fcn.14018d9f4
mov cl, byte [rbp - 0x6a]
lea edx, [rbx + 2]
xor cl, sil
lea r8, [rbp - 0x69]
mov byte [rax], cl
mov rcx, r13
call fcn.14018d9f4
mov r14d, dword [rsp + 0x38]
xor r12d, r12d
mov ecx, dword [rsp + 0x50]
shr esi, 8
xor sil, byte [rbp - 0x69]
mov byte [rax], sil
lea edx, [r14 + 1]
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x44], eax
mov dword [rsp + 0x3c], r14d
lea ecx, [rcx + rax*4]
mov dword [rsp + 0x48], ecx
test r14d, r14d
js 0x1401a583a
lea esi, [rdi + 3]
mov edi, r15d
add esi, ecx
sub edi, ecx
mov dword [rsp + 0x24], esi
mov dword [rsp + 0x40], edi
mov dword [rsp + 0x58], eax
lea r8, [rbp - 0x68]
lea eax, [rsi - 3]
mov rcx, r13
add eax, edi
mov edx, eax
mov dword [rbp + 0x14], eax
call fcn.14018d9f4
lea r8, [rbp - 0x67]
mov rcx, r13
movzx ebx, byte [rax]
movzx eax, byte [rbp - 0x68]
xor ebx, eax
lea eax, [rdi - 2]
add eax, esi
ror ebx, 8
mov edx, eax
mov dword [rbp + 0x20], eax
call fcn.14018d9f4
lea r8, [rsp + 0x60]
mov rcx, r13
movzx edi, byte [rax]
movzx eax, byte [rbp - 0x67]
xor edi, eax
mov eax, dword [rsp + 0x40]
dec eax
add edi, ebx
add eax, esi
ror edi, 8
mov edx, eax
mov dword [rbp + 0x18], eax
call fcn.14018d9f4
movzx ebx, byte [rsp + 0x60]
lea r8, [rsp + 0x61]
mov rcx, r13
movzx eax, byte [rax]
xor ebx, eax
mov eax, dword [rsp + 0x40]
add eax, esi
add ebx, edi
mov edx, eax
ror ebx, 8
mov dword [rbp + 0x1c], eax
call fcn.14018d9f4
mov edi, dword [rsp + 0x24]
lea r8, [rsp + 0x62]
mov rcx, r13
movzx esi, byte [rax]
movzx eax, byte [rsp + 0x61]
xor esi, eax
lea eax, [rdi - 3]
add esi, ebx
mov dword [rbp - 0x24], eax
mov edx, eax
ror esi, 8
call fcn.14018d9f4
movzx ebx, byte [rsp + 0x62]
lea r8, [rsp + 0x63]
mov rcx, r13
movzx eax, byte [rax]
xor ebx, eax
lea eax, [rdi - 2]
mov edx, eax
ror ebx, 8
mov dword [rbp - 0x20], eax
call fcn.14018d9f4
lea r8, [rsp + 0x64]
mov rcx, r13
movzx edi, byte [rax]
movzx eax, byte [rsp + 0x63]
xor edi, eax
mov eax, dword [rsp + 0x24]
add edi, ebx
ror edi, 8
dec eax
mov edx, eax
mov dword [rbp - 0x30], eax
call fcn.14018d9f4
movzx ebx, byte [rax]
movzx eax, byte [rsp + 0x64]
xor ebx, eax
mov edx, dword [rsp + 0x24]
lea r8, [rsp + 0x65]
add ebx, edi
mov rcx, r13
ror ebx, 8
call fcn.14018d9f4
movzx ecx, byte [rsp + 0x65]
movzx eax, byte [rax]
xor ecx, eax
add ecx, ebx
ror ecx, 8
cmp esi, ecx
ja 0x1401a5620
mov edx, dword [rbp + 0x14]
lea r8, [rsp + 0x66]
mov rcx, r13
call fcn.14018d9f4
mov edx, dword [rbp + 0x20]
lea r8, [rsp + 0x67]
mov rcx, r13
movzx ebx, byte [rax]
movzx eax, byte [rsp + 0x66]
xor ebx, eax
ror ebx, 8
call fcn.14018d9f4
movzx edi, byte [rsp + 0x67]
lea r8, [rsp + 0x68]
mov edx, dword [rbp + 0x18]
mov rcx, r13
movzx eax, byte [rax]
xor edi, eax
add edi, ebx
ror edi, 8
call fcn.14018d9f4
movzx ebx, byte [rsp + 0x68]
lea r8, [rsp + 0x69]
mov edx, dword [rbp + 0x1c]
mov rcx, r13
movzx eax, byte [rax]
xor ebx, eax
add ebx, edi
ror ebx, 8
call fcn.14018d9f4
mov edx, dword [rbp - 0x24]
lea r8, [rsp + 0x6a]
mov rcx, r13
movzx esi, byte [rax]
movzx eax, byte [rsp + 0x69]
xor esi, eax
add esi, ebx
ror esi, 8
call fcn.14018d9f4
movzx ebx, byte [rsp + 0x6a]
lea r8, [rsp + 0x6b]
mov edx, dword [rbp - 0x20]
mov rcx, r13
movzx eax, byte [rax]
xor ebx, eax
ror ebx, 8
call fcn.14018d9f4
mov edx, dword [rbp - 0x30]
lea r8, [rsp + 0x6c]
mov rcx, r13
movzx edi, byte [rax]
movzx eax, byte [rsp + 0x6b]
xor edi, eax
add edi, ebx
ror edi, 8
call fcn.14018d9f4
mov edx, dword [rsp + 0x24]
lea r8, [rsp + 0x6d]
mov rcx, r13
movzx ebx, byte [rax]
movzx eax, byte [rsp + 0x6c]
xor ebx, eax
add ebx, edi
ror ebx, 8
call fcn.14018d9f4
movzx ecx, byte [rsp + 0x6d]
movzx eax, byte [rax]
xor ecx, eax
add ecx, ebx
ror ecx, 8
cmp esi, ecx
jb 0x1401a5832
mov eax, dword [rsp + 0x3c]
mov esi, dword [rsp + 0x24]
dec eax
sub esi, 4
mov dword [rsp + 0x3c], eax
mov dword [rsp + 0x24], esi
test eax, eax
js 0x1401a5832
mov edi, dword [rsp + 0x40]
mov eax, dword [rsp + 0x44]
jmp 0x1401a53c6
mov ecx, dword [rsp + 0x58]
lea edx, [r14 + 1]
mov dword [rbp], r12d
mov eax, ecx
mov dword [rsp + 0x44], ecx
test edx, edx
je 0x1401a581c
mov eax, dword [rbp - 0x28]
lea esi, [r15 + 3]
sub eax, r15d
mov dword [rsp + 0x24], esi
mov dword [rsp + 0x40], eax
mov eax, edx
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x44], ecx
lea r12d, [rsi - 3]
mov rcx, r13
mov edx, r12d
lea r8, [rsp + 0x6e]
call fcn.14018d9f4
movzx ebx, byte [rsp + 0x6e]
lea r15d, [rsi - 2]
lea r8, [rsp + 0x6f]
mov edx, r15d
mov rcx, r13
movzx eax, byte [rax]
xor ebx, eax
ror ebx, 8
call fcn.14018d9f4
movzx edi, byte [rsp + 0x6f]
lea r14d, [rsi - 1]
lea r8, [rsp + 0x70]
mov edx, r14d
mov rcx, r13
movzx eax, byte [rax]
xor edi, eax
add edi, ebx
ror edi, 8
call fcn.14018d9f4
movzx ebx, byte [rsp + 0x70]
lea r8, [rsp + 0x71]
mov edx, esi
mov rcx, r13
movzx eax, byte [rax]
xor ebx, eax
add ebx, edi
ror ebx, 8
call fcn.14018d9f4
mov edx, dword [rsp + 0x24]
lea r8, [rsp + 0x72]
mov edi, dword [rsp + 0x40]
add edx, 0xfffffffd
add edx, edi
mov rcx, r13
movzx esi, byte [rax]
movzx eax, byte [rsp + 0x71]
xor esi, eax
add esi, ebx
ror esi, 8
call fcn.14018d9f4
mov edx, dword [rsp + 0x24]
lea r8, [rsp + 0x73]
add edi, 0xfffffffe
mov rcx, r13
add edx, edi
movzx ebx, byte [rax]
movzx eax, byte [rsp + 0x72]
xor ebx, eax
ror ebx, 8
call fcn.14018d9f4
mov edx, dword [rsp + 0x24]
lea r8, [rsp + 0x74]
mov rcx, r13
movzx edi, byte [rax]
movzx eax, byte [rsp + 0x73]
xor edi, eax
mov eax, dword [rsp + 0x40]
dec eax
add edi, ebx
add edx, eax
ror edi, 8
call fcn.14018d9f4
mov edx, dword [rsp + 0x24]
lea r8, [rsp + 0x75]
movzx ebx, byte [rsp + 0x74]
mov rcx, r13
add edx, dword [rsp + 0x40]
movzx eax, byte [rax]
xor ebx, eax
add ebx, edi
ror ebx, 8
call fcn.14018d9f4
movzx ecx, byte [rsp + 0x75]
movzx eax, byte [rax]
xor ecx, eax
add ecx, ebx
mov eax, dword [rbp]
lea r8, [rsp + 0x76]
ror ecx, 8
mov edx, r12d
mov edi, esi
sub rdi, rax
sub rdi, rcx
mov rcx, r13
mov ebx, edi
call fcn.14018d9f4
mov cl, byte [rsp + 0x76]
lea r8, [rsp + 0x77]
xor cl, dil
shr ebx, 8
mov edx, r15d
mov byte [rax], cl
mov rcx, r13
call fcn.14018d9f4
mov cl, byte [rsp + 0x77]
lea r8, [rsp + 0x78]
xor cl, bl
mov edx, r14d
shr ebx, 8
mov byte [rax], cl
mov rcx, r13
call fcn.14018d9f4
mov cl, byte [rsp + 0x78]
lea r8, [rsp + 0x79]
mov esi, dword [rsp + 0x24]
xor cl, bl
mov edx, esi
mov byte [rax], cl
mov rcx, r13
call fcn.14018d9f4
shr ebx, 8
add esi, 4
xor bl, byte [rsp + 0x79]
mov dword [rsp + 0x24], esi
mov byte [rax], bl
mov rax, rdi
shr rax, 0x20
neg eax
sub qword [rsp + 0x58], 1
mov qword [rbp], rax
jne 0x1401a5657
mov r14d, dword [rsp + 0x38]
xor r12d, r12d
mov r15d, dword [rbp - 0x50]
mov eax, dword [rsp + 0x44]
mov ecx, dword [rsp + 0x48]
lea edi, [r14*4]
mov dword [rsp + 0x3c], r14d
jmp 0x1401a53b4
mov ecx, dword [rsp + 0x48]
lea edx, [r14 + 1]
mov dword [rbp - 0x10], r12d
test edx, edx
je 0x1401a5a10
mov r14d, ecx
mov eax, edx
sub r14d, r15d
mov qword [rbp - 0x30], rax
lea edi, [r15 + 3]
mov dword [rsp + 0x58], r14d
mov dword [rsp + 0x24], edi
mov rsi, qword [rbp + 0xa0]
lea r13d, [r14 - 3]
add r13d, edi
lea r8, [rsp + 0x7a]
mov edx, r13d
mov rcx, rsi
call fcn.14018d9f4
movzx ebx, byte [rsp + 0x7a]
lea r12d, [rdi - 2]
add r12d, r14d
lea r8, [rsp + 0x7b]
mov edx, r12d
mov rcx, rsi
movzx eax, byte [rax]
xor ebx, eax
ror ebx, 8
call fcn.14018d9f4
mov r15d, dword [rsp + 0x24]
lea r8, [rsp + 0x7c]
movzx edi, byte [rsp + 0x7b]
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.14018d9f4
movzx ebx, byte [rsp + 0x7c]
lea r8, [rsp + 0x7d]
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.14018d9f4
movzx esi, byte [rsp + 0x7d]
lea edx, [rdi - 3]
mov rcx, qword [rbp + 0xa0]
lea r8, [rsp + 0x7e]
movzx eax, byte [rax]
xor esi, eax
add esi, ebx
ror esi, 8
call fcn.14018d9f4
movzx ebx, byte [rsp + 0x7e]
lea r8, [rsp + 0x7f]
mov rcx, qword [rbp + 0xa0]
mov edx, edi
add edx, 0xfffffffe
movzx eax, byte [rax]
xor ebx, eax
ror ebx, 8
call fcn.14018d9f4
mov edx, dword [rsp + 0x24]
lea r8, [rbp - 0x80]
movzx edi, byte [rsp + 0x7f]
dec edx
mov rcx, qword [rbp + 0xa0]
movzx eax, byte [rax]
xor edi, eax
add edi, ebx
ror edi, 8
call fcn.14018d9f4
movzx ebx, byte [rbp - 0x80]
lea r8, [rbp - 0x7f]
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.14018d9f4
movzx ecx, byte [rbp - 0x7f]
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.14018dac8
shr ebx, 8
mov edx, r12d
mov r8b, bl
mov rcx, r13
call fcn.14018dac8
shr ebx, 8
lea edx, [r15 - 1]
mov r8b, bl
mov rcx, r13
call fcn.14018dac8
shr ebx, 8
mov edx, r14d
mov r8b, bl
mov rcx, r13
call fcn.14018dac8
mov r14d, dword [rsp + 0x58]
mov rax, rdi
mov edi, dword [rsp + 0x24]
shr rax, 0x20
add edi, 4
neg eax
mov dword [rsp + 0x24], edi
sub qword [rbp - 0x30], 1
mov qword [rbp - 0x10], rax
jne 0x1401a585f
mov r14d, dword [rsp + 0x38]
xor r12d, r12d
mov dword [rsp + 0x3c], r14d
test r14d, r14d
js 0x1401a5c52
mov ecx, dword [rbp - 0x28]
lea eax, [r14*4]
mov esi, dword [rsp + 0x48]
lea r15d, [rcx + 3]
add r15d, eax
sub esi, ecx
mov dword [rsp + 0x48], esi
lea eax, [r15 - 3]
mov rcx, r13
add eax, esi
lea r8, [rbp - 0x7e]
mov edx, eax
mov dword [rsp + 0x58], eax
call fcn.14018d9f4
movzx ebx, byte [rbp - 0x7e]
lea r8, [rbp - 0x7d]
mov rcx, r13
movzx eax, byte [rax]
xor ebx, eax
lea eax, [r15 - 2]
add eax, esi
ror ebx, 8
mov edx, eax
mov dword [rbp - 0x30], eax
call fcn.14018d9f4
movzx edi, byte [rbp - 0x7d]
lea r8, [rbp - 0x7c]
mov rcx, r13
movzx eax, byte [rax]
xor edi, eax
lea eax, [r15 - 1]
add eax, esi
add edi, ebx
mov edx, eax
ror edi, 8
mov dword [rbp - 0x20], eax
call fcn.14018d9f4
movzx ebx, byte [rbp - 0x7c]
lea r8, [rbp - 0x7b]
mov rcx, r13
movzx eax, byte [rax]
xor ebx, eax
lea eax, [rsi + r15]
add ebx, edi
mov dword [rbp - 0x24], eax
mov edx, eax
ror ebx, 8
call fcn.14018d9f4
movzx esi, byte [rbp - 0x7b]
lea edx, [r15 - 3]
lea r8, [rbp - 0x7a]
mov rcx, r13
movzx eax, byte [rax]
xor esi, eax
add esi, ebx
ror esi, 8
call fcn.14018d9f4
lea edx, [r15 - 2]
mov rcx, r13
lea r8, [rbp - 0x79]
movzx ebx, byte [rax]
movzx eax, byte [rbp - 0x7a]
xor ebx, eax
ror ebx, 8
call fcn.14018d9f4
lea edx, [r15 - 1]
mov rcx, r13
lea r8, [rbp - 0x78]
movzx edi, byte [rax]
movzx eax, byte [rbp - 0x79]
xor edi, eax
add edi, ebx
ror edi, 8
call fcn.14018d9f4
lea r8, [rbp - 0x77]
mov edx, r15d
mov rcx, r13
movzx ebx, byte [rax]
movzx eax, byte [rbp - 0x78]
xor ebx, eax
add ebx, edi
ror ebx, 8
call fcn.14018d9f4
movzx ecx, byte [rax]
movzx eax, byte [rbp - 0x77]
xor ecx, eax
add ecx, ebx
ror ecx, 8
cmp esi, ecx
ja 0x1401a5d85
mov edx, dword [rsp + 0x58]
lea r8, [rbp - 0x76]
mov rcx, r13
call fcn.14018d9f4
mov edx, dword [rbp - 0x30]
lea r8, [rbp - 0x75]
mov rcx, r13
movzx ebx, byte [rax]
movzx eax, byte [rbp - 0x76]
xor ebx, eax
ror ebx, 8
call fcn.14018d9f4
mov edx, dword [rbp - 0x20]
lea r8, [rbp - 0x74]
mov rcx, r13
movzx edi, byte [rax]
movzx eax, byte [rbp - 0x75]
xor edi, eax
add edi, ebx
ror edi, 8
call fcn.14018d9f4
mov edx, dword [rbp - 0x24]
lea r8, [rbp - 0x73]
mov rcx, r13
movzx ebx, byte [rax]
movzx eax, byte [rbp - 0x74]
xor ebx, eax
add ebx, edi
ror ebx, 8
call fcn.14018d9f4
lea r8, [rbp - 0x72]
mov rcx, r13
lea edx, [r15 - 3]
movzx esi, byte [rax]
movzx eax, byte [rbp - 0x73]
xor esi, eax
add esi, ebx
ror esi, 8
call fcn.14018d9f4
lea r8, [rbp - 0x71]
mov rcx, r13
lea edx, [r15 - 2]
movzx ebx, byte [rax]
movzx eax, byte [rbp - 0x72]
xor ebx, eax
ror ebx, 8
call fcn.14018d9f4
lea r8, [rbp - 0x70]
mov rcx, r13
lea edx, [r15 - 1]
movzx edi, byte [rax]
movzx eax, byte [rbp - 0x71]
xor edi, eax
add edi, ebx
ror edi, 8
call fcn.14018d9f4
lea r8, [rbp - 0x6f]
mov edx, r15d
mov rcx, r13
movzx ebx, byte [rax]
movzx eax, byte [rbp - 0x70]
xor ebx, eax
add ebx, edi
ror ebx, 8
call fcn.14018d9f4
movzx ecx, byte [rax]
movzx eax, byte [rbp - 0x6f]
xor ecx, eax
add ecx, ebx
ror ecx, 8
cmp esi, ecx
jb 0x1401a5d7d
mov eax, dword [rsp + 0x3c]
sub r15d, 4
mov esi, dword [rsp + 0x48]
dec eax
mov dword [rsp + 0x3c], eax
test eax, eax
jns 0x1401a5a3a
mov ecx, r12d
mov edx, dword [rsp + 0x44]
test ecx, ecx
lea eax, [rdx + 1]
cmovs eax, edx
sub eax, 1
mov dword [rsp + 0x3c], eax
jns 0x1401a4f0f
mov esi, dword [rbp + 0xc8]
mov edi, dword [rsp + 0x50]
mov rax, qword [rbp - 0x40]
mov r15d, dword [rbp - 0x38]
mov qword [rbp - 0x60], r13
mov r13d, r12d
mov qword [rbp + 0x30], rax
mov dword [rbp + 0x38], r15d
mov dword [rbp - 0x58], edi
cmp qword [rbp - 0x18], r12
jbe 0x1401a5d10
mov rsi, qword [rbp - 0x18]
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.14018d9f4
movdqa xmm0, xmm6
lea r8, [rbp + 0xa0]
psrldq xmm0, 8
movq rcx, xmm6
movd edx, xmm0
mov rbx, rax
call fcn.14018d9f4
mov cl, byte [rbp + 0xa0]
inc r13d
xor cl, byte [rbx]
xor cl, byte [rbp + 0xa8]
mov byte [rax], cl
mov eax, r13d
cmp rax, rsi
jb 0x1401a5c9c
mov esi, dword [rbp + 0xc8]
mov rax, qword [rbp - 0x40]
lea edi, [r14*4]
add edi, dword [rbp - 0x38]
sub esi, r14d
mov ebx, esi
shl rbx, 2
mov qword [rbp - 0x40], rax
mov dword [rbp - 0x38], edi
test rbx, rbx
je 0x1401a5d60
mov dword [rbp - 0x38], edi
movaps xmm1, xmmword [rbp - 0x40]
inc edi
movdqa xmm0, xmm1
mov dword [rbp - 0x38], edi
psrldq xmm0, 8
xor r8d, r8d
movd edx, xmm0
movq rcx, xmm1
call fcn.14018dac8
sub rbx, 1
jne 0x1401a5d37
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 ecx, 0xffffffff
jmp 0x1401a5c55
mov ecx, 1
jmp 0x1401a5c55