Function at 0x1401e10b0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x108
movzx r14d, byte [rcx + 0x106]
movzx r13d, byte [rcx + 0x105]
movzx r11d, byte [rcx + 0x103]
movzx r10d, byte [rcx + 0x102]
movdqu xmm2, xmmword [rcx + 0xf8]
mov qword [rsp + 0x158], rdx
movzx edx, byte [rcx + 0x107]
mov rbx, rcx
mov qword [rsp + 0x168], r9
movzx r9d, byte [rcx + 0x101]
lea esi, [rdx + 1]
mov eax, edx
mov qword [rsp + 0x160], r8
movzx r8d, byte [rcx + 0x100]
mov edx, esi
mov dword [rsp + 0x58], esi
movzx esi, byte [rcx + 0x104]
add eax, 1
shr edx, 8
movzx ecx, byte [rcx + 0xff]
movzx ebp, byte [rbx + 0xfe]
mov dword [rsp + 0x64], 0x10
add r14d, edx
movzx r12d, byte [rbx + 0xfc]
movups xmmword [rsp + 0x70], xmm2
movzx eax, al
mov edi, r14d
shr edi, 8
add r13d, edi
mov edi, r13d
shr edi, 8
add esi, edi
mov edi, esi
shr edi, 8
add r11d, edi
mov edi, r11d
shr edi, 8
add r10d, edi
mov edi, r10d
shr edi, 8
add r9d, edi
mov edi, r9d
shr edi, 8
add r8d, edi
mov edi, r8d
shr edi, 8
add ecx, edi
mov edi, ecx
shr edi, 8
add ebp, edi
mov edi, ebp
shr edi, 8
mov edx, edi
movzx edi, byte [rbx + 0xfd]
add edi, edx
mov edx, edi
shr edx, 8
add edx, r12d
movzx r12d, byte [rbx + 0xfb]
mov dword [rsp + 0x48], edx
shr edx, 8
lea r15d, [r12 + rdx]
mov r12d, r15d
mov dword [rsp + 0x4c], r15d
shr r12d, 8
mov edx, r12d
movzx r12d, byte [rbx + 0xfa]
add r12d, edx
mov dword [rsp + 0x50], r12d
shr r12d, 8
mov edx, r12d
movzx r12d, byte [rbx + 0xf9]
add edx, r12d
movzx r12d, byte [rbx + 0xf8]
mov dword [rsp + 0x54], edx
shr edx, 8
lea r15d, [r12 + rdx]
movzx edx, cl
movzx r12d, bpl
shl rdx, 8
mov dword [rsp + 0x44], r15d
or rdx, r12
movzx r12d, dil
shl rdx, 8
or rdx, r12
movzx r12d, byte [rsp + 0x48]
shl rax, 8
shl rdx, 8
or rdx, r12
movzx r12d, byte [rsp + 0x4c]
shl rdx, 8
or rdx, r12
movzx r12d, byte [rsp + 0x50]
shl rdx, 8
or rdx, r12
movzx r12d, byte [rsp + 0x54]
shl rdx, 8
or rdx, r12
movzx r12d, byte [rsp + 0x44]
shl rdx, 8
mov r15, r12
movzx r12d, r14b
or rax, r12
movzx r12d, r13b
or r15, rdx
shl rax, 8
mov qword [rsp + 0x30], r15
or rax, r12
movzx r12d, sil
shl rax, 8
or rax, r12
movzx r12d, r11b
shl rax, 8
or rax, r12
movzx r12d, r10b
shl rax, 8
or rax, r12
movzx r12d, r9b
shl rax, 8
or rax, r12
movzx r12d, r8b
shl rax, 8
or rax, r12
cmp qword [rbx + 0xd0], 0x10
mov r12d, 0x20
mov qword [rsp + 0x38], rax
movdqu xmm3, xmmword [rsp + 0x30]
movups xmmword [rbx + 0xf8], xmm3
movups xmmword [rsp + 0x80], xmm3
je 0x1401e149a
movzx eax, byte [rsp + 0x58]
movzx r14d, r14b
movzx r13d, r13b
movzx ecx, cl
movzx esi, sil
movzx r11d, r11b
movzx r10d, r10b
movzx r9d, r9b
add eax, 1
movzx r8d, r8b
movzx ebp, bpl
movzx edi, dil
mov dword [rsp + 0x30], eax
shr eax, 8
movzx r12d, byte [rsp + 0x48]
add eax, r14d
mov r14d, eax
mov dword [rsp + 0x58], eax
movzx eax, byte [rsp + 0x54]
shr r14d, 8
lea r14d, [r13 + r14]
mov r13d, r14d
mov dword [rsp + 0x5c], r14d
movzx r14d, byte [rsp + 0x50]
shr r13d, 8
add esi, r13d
mov r13d, esi
movzx esi, sil
shr r13d, 8
add r11d, r13d
mov r13d, r11d
movzx r11d, r11b
shr r13d, 8
add r10d, r13d
mov r13d, r10d
movzx r10d, r10b
shr r13d, 8
add r9d, r13d
mov r13d, r9d
movzx r9d, r9b
shr r13d, 8
add r8d, r13d
mov r13d, r8d
movzx r8d, r8b
shr r13d, 8
add ecx, r13d
mov r13d, ecx
movzx ecx, cl
shr r13d, 8
shl rcx, 8
add ebp, r13d
mov r13d, ebp
movzx ebp, bpl
shr r13d, 8
or rcx, rbp
add edi, r13d
shl rcx, 8
mov r13d, edi
movzx edi, dil
shr r13d, 8
add r12d, r13d
movzx r13d, byte [rsp + 0x4c]
mov edx, r12d
movzx r12d, r12b
shr edx, 8
add r13d, edx
mov edx, r13d
movzx r13d, r13b
shr edx, 8
add r14d, edx
mov edx, r14d
movzx r14d, r14b
shr edx, 8
add eax, edx
movzx edx, byte [rsp + 0x44]
add dl, ah
or rcx, rdi
movzx eax, al
shl rcx, 8
movzx r15d, dl
movzx edx, byte [rsp + 0x58]
or rcx, r12
mov r12d, 0x30
shl rcx, 8
or rcx, r13
shl rcx, 8
or rcx, r14
shl rcx, 8
or rcx, rax
movzx eax, byte [rsp + 0x30]
shl rcx, 8
shl rax, 8
or rcx, r15
or rax, rdx
movzx edx, byte [rsp + 0x5c]
mov qword [rsp + 0x30], rcx
shl rax, 8
or rax, rdx
shl rax, 8
or rax, rsi
shl rax, 8
or rax, r11
shl rax, 8
or rax, r10
shl rax, 8
or rax, r9
shl rax, 8
or rax, r8
mov qword [rsp + 0x38], rax
movdqu xmm5, xmmword [rsp + 0x30]
movups xmmword [rbx + 0xf8], xmm5
movups xmmword [rsp + 0x90], xmm5
mov rcx, qword [rbx + 0xa8]
mov dword [rsp + 0x20], r12d
lea r9, [rsp + 0x70]
lea rdi, [rsp + 0xa0]
lea r8, [rsp + 0x64]
mov rdx, rdi
call fcn.1400b5850
test eax, eax
je 0x1401e14cb
cmp dword [rsp + 0x64], r12d
je 0x1401e14d8
xor eax, eax
jmp 0x1401e1a02
mov r13, qword [rbx + 0xd0]
lea rsi, [rbx + 0xd8]
mov rdx, rdi
lea r12, [rbx + 0xa8]
mov rcx, rsi
lea rbp, [rbx + 0xf8]
mov r8, r13
call sub.msvcrt.dll_memcpy
movdqu xmm5, xmmword [rsp + r13 + 0xa0]
movups xmmword [rbx + 0xf8], xmm5
test byte [rbx + 0x1c], 1
jne 0x1401e1a16
mov rax, qword [rsp + 0x178]
or rax, qword [rsp + 0x168]
or rax, qword [rsp + 0x158]
je 0x1401e17bc
pxor xmm0, xmm0
lea rdi, [rbx + 0x120]
cmp r13, 0x10
mov dword [rsp + 0x68], 0x10
movups xmmword [rbx + 0x120], xmm0
lea r13, [rbx + 0x130]
lea r14, [rbx + 0x140]
mov r15d, 0x20
movups xmmword [rdi + 0x10], xmm0
movups xmmword [rdi + 0x20], xmm0
movdqu xmm0, xmmword [rbx + 0x130]
pxor xmm0, xmmword [0x1402d49a0]
mov dword [rsp + 0xd0], 0x10
movups xmmword [rbx + 0x130], xmm0
je 0x1401e15b6
movdqu xmm0, xmmword [rbx + 0x140]
pxor xmm0, xmmword [0x1402d49b0]
mov r15d, 0x30
movups xmmword [rbx + 0x140], xmm0
mov rcx, qword [rbx + 0xb8]
mov dword [rsp + 0x20], r15d
mov r9, rdi
mov rdx, rdi
lea r8, [rsp + 0xd0]
call fcn.1400b5850
test eax, eax
je 0x1401e14cb
cmp dword [rsp + 0xd0], r15d
jne 0x1401e14cb
xor r8d, r8d
cmp qword [rsp + 0x158], 0
cmovne r8, qword [rsp + 0x160]
cmp qword [rsp + 0x178], 0
je 0x1401e2189
mov rax, qword [rsp + 0x180]
add rax, r8
cmp qword [rsp + 0x168], 0
je 0x1401e2357
add rax, qword [rsp + 0x170]
bswap eax
mov dword [rbx + 0x108], eax
xor eax, eax
mov rcx, r12
mov word [rbx + 0x10c], ax
movzx eax, byte [rbx + 0xd0]
mov byte [rbx + 0x10e], 0
mov rdx, qword [rsp + 0x158]
mov qword [rbx + 0x118], 8
add eax, 0x10
mov byte [rbx + 0x10f], al
call fcn.1401e0e50
test eax, eax
je 0x1401e14cb
mov r8, qword [rsp + 0x180]
mov rdx, qword [rsp + 0x178]
mov rcx, r12
call fcn.1401e0e50
test eax, eax
je 0x1401e14cb
mov r8, qword [rsp + 0x170]
mov rdx, qword [rsp + 0x168]
mov rcx, r12
call fcn.1401e0e50
test eax, eax
je 0x1401e14cb
mov r8d, 1
lea rdx, [0x140267f00]
mov rcx, r12
call fcn.1401e0e50
test eax, eax
je 0x1401e14cb
mov rax, qword [rbx + 0x118]
test rax, rax
jne 0x1401e25d0
mov rcx, qword [rbx + 0xa8]
xor r8d, r8d
xor edx, edx
mov r9, rdi
mov dword [rsp + 0x28], 0xffffffff
mov qword [rsp + 0x20], 0
call fcn.1400b5350
test eax, eax
je 0x1401e14cb
mov rcx, qword [rbx + 0xa8]
lea r15, [rsp + 0x68]
mov rdx, rdi
mov dword [rsp + 0x20], 0x10
mov r9, qword [rbx + 0xd0]
mov r8, r15
add r9, rdi
call fcn.1400b5850
test eax, eax
je 0x1401e14cb
cmp dword [rsp + 0x68], 0x10
jne 0x1401e14cb
mov rcx, qword [rbx + 0xa8]
mov r9, rdi
mov r8, r15
mov rdx, r13
mov dword [rsp + 0x20], 0x10
call fcn.1400b5850
test eax, eax
je 0x1401e14cb
cmp dword [rsp + 0x68], 0x10
jne 0x1401e14cb
cmp qword [rbx + 0xd0], 0x10
mov rcx, qword [rbx + 0xa8]
je 0x1401e17bc
mov dword [rsp + 0x20], 0x10
mov r9, r13
mov r8, r15
mov rdx, r14
call fcn.1400b5850
test eax, eax
je 0x1401e14cb
cmp dword [rsp + 0x68], 0x10
jne 0x1401e14cb
cmp qword [rsp + 0x160], 0
je 0x1401e19a8
mov rdx, qword [rbx + 0x90]
test rdx, rdx
je 0x1401e19a8
mov rcx, qword [rbx + 0xd0]
lea r8, [rbx + 0x120]
cmp rdx, rcx
mov r9, rcx
cmovbe r9, rdx
test r9, r9
je 0x1401e1830
lea rax, [r9 - 1]
cmp rax, 6
jbe 0x1401e1819
lea r11, [rbx + 0x121]
mov r10, rsi
sub r10, r11
cmp r10, 0xe
ja 0x1401e2368
mov rax, rsi
add r9, rsi
movzx r10d, byte [rax + 0x48]
xor byte [rax], r10b
add rax, 1
cmp r9, rax
jne 0x1401e181f
cmp rcx, rdx
jae 0x1401e19a8
mov rax, rdx
mov edx, 0x10
sub rax, rcx
cmp rax, rdx
cmovbe rdx, rax
sub rdx, 1
cmp rdx, 6
jbe 0x1401e1867
lea r9, [r12 + rcx + 0x79]
sub rbp, r9
cmp rbp, 0xe
ja 0x1401e24d3
movzx edx, byte [rbx + rcx + 0x120]
xor byte [rbx + 0xf8], dl
cmp rax, 1
jbe 0x1401e19a8
movzx edx, byte [r8 + rcx + 1]
xor byte [rbx + 0xf9], dl
cmp rax, 2
jbe 0x1401e19a8
movzx edx, byte [r8 + rcx + 2]
xor byte [rbx + 0xfa], dl
cmp rax, 3
jbe 0x1401e19a8
movzx edx, byte [r8 + rcx + 3]
xor byte [rbx + 0xfb], dl
cmp rax, 4
jbe 0x1401e19a8
movzx edx, byte [r8 + rcx + 4]
xor byte [rbx + 0xfc], dl
cmp rax, 5
jbe 0x1401e19a8
movzx edx, byte [r8 + rcx + 5]
xor byte [rbx + 0xfd], dl
cmp rax, 6
jbe 0x1401e19a8
movzx edx, byte [r8 + rcx + 6]
xor byte [rbx + 0xfe], dl
cmp rax, 7
jbe 0x1401e19a8
movzx edx, byte [r8 + rcx + 7]
xor byte [rbx + 0xff], dl
cmp rax, 8
jbe 0x1401e19a8
movzx edx, byte [r8 + rcx + 8]
xor byte [rbx + 0x100], dl
cmp rax, 9
jbe 0x1401e19a8
movzx edx, byte [r8 + rcx + 9]
xor byte [rbx + 0x101], dl
cmp rax, 0xa
jbe 0x1401e19a8
movzx edx, byte [r8 + rcx + 0xa]
xor byte [rbx + 0x102], dl
cmp rax, 0xb
jbe 0x1401e19a8
movzx edx, byte [r8 + rcx + 0xb]
xor byte [rbx + 0x103], dl
cmp rax, 0xc
jbe 0x1401e19a8
movzx edx, byte [r8 + rcx + 0xc]
xor byte [rbx + 0x104], dl
cmp rax, 0xd
jbe 0x1401e19a8
movzx edx, byte [r8 + rcx + 0xd]
xor byte [rbx + 0x105], dl
cmp rax, 0xe
jbe 0x1401e19a8
movzx edx, byte [r8 + rcx + 0xe]
xor byte [rbx + 0x106], dl
cmp rax, 0xf
jbe 0x1401e19a8
movzx eax, byte [r8 + rcx + 0xf]
xor byte [rbx + 0x107], al
nop dword [rax + rax]
mov rcx, qword [rbx + 0xa8]
xor r8d, r8d
xor edx, edx
mov r9, rsi
mov dword [rsp + 0x28], 0xffffffff
mov qword [rsp + 0x20], 0
call fcn.1400b5350
test eax, eax
je 0x1401e14cb
mov rcx, qword [rbx + 0xb0]
xor r8d, r8d
xor edx, edx
mov r9, rsi
mov dword [rsp + 0x28], 0xffffffff
mov qword [rsp + 0x20], 0
call fcn.1400b5350
test eax, eax
setne al
movzx eax, al
add rsp, 0x108
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp qword [rsp + 0x158], 0
je 0x1401e1c2a
cmp qword [rsp + 0x160], 0
je 0x1401e1c2a
cmp r13, qword [rsp + 0x160]
mov rdx, r13
cmova rdx, qword [rsp + 0x160]
test rdx, rdx
je 0x1401e1a9d
lea rcx, [rdx - 1]
cmp rcx, 6
jbe 0x1401e216b
mov rax, qword [rsp + 0x158]
mov r8, rsi
add rax, 1
sub r8, rax
xor eax, eax
cmp r8, 0xe
ja 0x1401e1fc6
mov r8, qword [rsp + 0x158]
nop dword [rax]
movzx ecx, byte [r8 + rax]
xor byte [rbx + rax + 0xd8], cl
add rax, 1
cmp rdx, rax
jne 0x1401e1a88
cmp r13, qword [rsp + 0x160]
jae 0x1401e2134
mov rax, qword [rsp + 0x160]
mov edx, 0x10
sub rax, r13
cmp rax, rdx
cmovbe rdx, rax
sub rdx, 1
cmp rdx, 6
jbe 0x1401e1ae9
mov rdi, qword [rsp + 0x158]
mov rcx, rbp
lea r8, [rdi + r13 + 1]
sub rcx, r8
cmp rcx, 0xe
ja 0x1401e227a
mov rcx, qword [rsp + 0x158]
movzx edx, byte [rcx + r13]
xor byte [rbx + 0xf8], dl
cmp rax, 1
jbe 0x1401e1c2a
movzx edx, byte [rcx + r13 + 1]
xor byte [rbx + 0xf9], dl
cmp rax, 2
jbe 0x1401e1c2a
movzx edx, byte [rcx + r13 + 2]
xor byte [rbx + 0xfa], dl
cmp rax, 3
jbe 0x1401e1c2a
movzx edx, byte [rcx + r13 + 3]
xor byte [rbx + 0xfb], dl
cmp rax, 4
jbe 0x1401e1c2a
movzx edx, byte [rcx + r13 + 4]
xor byte [rbx + 0xfc], dl
cmp rax, 5
jbe 0x1401e1c2a
movzx edx, byte [rcx + r13 + 5]
xor byte [rbx + 0xfd], dl
cmp rax, 6
jbe 0x1401e1c2a
movzx edx, byte [rcx + r13 + 6]
xor byte [rbx + 0xfe], dl
cmp rax, 7
jbe 0x1401e1c2a
movzx edx, byte [rcx + r13 + 7]
xor byte [rbx + 0xff], dl
cmp rax, 8
jbe 0x1401e1c2a
movzx edx, byte [rcx + r13 + 8]
xor byte [rbx + 0x100], dl
cmp rax, 9
jbe 0x1401e1c2a
movzx edx, byte [rcx + r13 + 9]
xor byte [rbx + 0x101], dl
cmp rax, 0xa
jbe 0x1401e1c2a
movzx edx, byte [rcx + r13 + 0xa]
xor byte [rbx + 0x102], dl
cmp rax, 0xb
jbe 0x1401e1c2a
movzx edx, byte [rcx + r13 + 0xb]
xor byte [rbx + 0x103], dl
cmp rax, 0xc
jbe 0x1401e1c2a
movzx edx, byte [rcx + r13 + 0xc]
xor byte [rbx + 0x104], dl
cmp rax, 0xd
jbe 0x1401e1c2a
movzx edx, byte [rcx + r13 + 0xd]
xor byte [rbx + 0x105], dl
cmp rax, 0xe
jbe 0x1401e1c2a
movzx edx, byte [rcx + r13 + 0xe]
xor byte [rbx + 0x106], dl
cmp rax, 0xf
jbe 0x1401e1c2a
movzx eax, byte [rcx + r13 + 0xf]
xor byte [rbx + 0x107], al
cmp qword [rsp + 0x168], 0
je 0x1401e19a8
cmp qword [rsp + 0x170], 0
je 0x1401e19a8
cmp r13, qword [rsp + 0x170]
mov rdx, r13
cmova rdx, qword [rsp + 0x170]
test rdx, rdx
je 0x1401e1cad
lea rcx, [rdx - 1]
cmp rcx, 6
jbe 0x1401e217a
mov rax, qword [rsp + 0x168]
mov r8, rsi
add rax, 1
sub r8, rax
xor eax, eax
cmp r8, 0xe
ja 0x1401e1e58
mov r8, qword [rsp + 0x168]
nop dword [rax]
movzx ecx, byte [r8 + rax]
xor byte [rbx + rax + 0xd8], cl
add rax, 1
cmp rax, rdx
jne 0x1401e1c98
cmp r13, qword [rsp + 0x170]
jae 0x1401e19a8
mov rax, qword [rsp + 0x170]
mov edx, 0x10
sub rax, r13
cmp rax, rdx
cmovbe rdx, rax
sub rdx, 1
cmp rdx, 6
jbe 0x1401e1cf6
mov rdi, qword [rsp + 0x168]
lea rcx, [rdi + r13 + 1]
sub rbp, rcx
cmp rbp, 0xe
ja 0x1401e219d
mov rcx, qword [rsp + 0x168]
movzx edx, byte [rcx + r13]
xor byte [rbx + 0xf8], dl
cmp rax, 1
jbe 0x1401e19a8
movzx edx, byte [rcx + r13 + 1]
xor byte [rbx + 0xf9], dl
cmp rax, 2
jbe 0x1401e19a8
movzx edx, byte [rcx + r13 + 2]
xor byte [rbx + 0xfa], dl
cmp rax, 3
jbe 0x1401e19a8
movzx edx, byte [rcx + r13 + 3]
xor byte [rbx + 0xfb], dl
cmp rax, 4
jbe 0x1401e19a8
movzx edx, byte [rcx + r13 + 4]
xor byte [rbx + 0xfc], dl
cmp rax, 5
jbe 0x1401e19a8
movzx edx, byte [rcx + r13 + 5]
xor byte [rbx + 0xfd], dl
cmp rax, 6
jbe 0x1401e19a8
movzx edx, byte [rcx + r13 + 6]
xor byte [rbx + 0xfe], dl
cmp rax, 7
jbe 0x1401e19a8
movzx edx, byte [rcx + r13 + 7]
xor byte [rbx + 0xff], dl
cmp rax, 8
jbe 0x1401e19a8
movzx edx, byte [rcx + r13 + 8]
xor byte [rbx + 0x100], dl
cmp rax, 9
jbe 0x1401e19a8
movzx edx, byte [rcx + r13 + 9]
xor byte [rbx + 0x101], dl
cmp rax, 0xa
jbe 0x1401e19a8
movzx edx, byte [rcx + r13 + 0xa]
xor byte [rbx + 0x102], dl
cmp rax, 0xb
jbe 0x1401e19a8
movzx edx, byte [rcx + r13 + 0xb]
xor byte [rbx + 0x103], dl
cmp rax, 0xc
jbe 0x1401e19a8
movzx edx, byte [rcx + r13 + 0xc]
xor byte [rbx + 0x104], dl
cmp rax, 0xd
jbe 0x1401e19a8
movzx edx, byte [rcx + r13 + 0xd]
xor byte [rbx + 0x105], dl
cmp rax, 0xe
jbe 0x1401e19a8
movzx edx, byte [rcx + r13 + 0xe]
xor byte [rbx + 0x106], dl
cmp rax, 0xf
jbe 0x1401e19a8
movzx eax, byte [rcx + r13 + 0xf]
xor byte [rbx + 0x107], al
jmp 0x1401e19a8
cmp rcx, 0xe
jbe 0x1401e25bc
mov rax, qword [rsp + 0x168]
movdqu xmm0, xmmword [rbx + 0xd8]
movdqu xmm5, xmmword [rax]
mov rax, rdx
shr rax, 4
pxor xmm0, xmm5
movups xmmword [rsp + 0x30], xmm5
movups xmmword [rbx + 0xd8], xmm0
cmp rax, 1
je 0x1401e1eb8
mov rax, qword [rsp + 0x168]
movdqu xmm0, xmmword [rbx + 0xe8]
movdqu xmm5, xmmword [rax + 0x10]
pxor xmm0, xmm5
movups xmmword [rsp + 0x30], xmm5
movups xmmword [rbx + 0xe8], xmm0
mov rax, rdx
and rax, 0xfffffffffffffff0
test dl, 0xf
je 0x1401e1cad
mov rcx, rdx
sub rcx, rax
lea r8, [rcx - 1]
cmp r8, 6
jbe 0x1401e1f0e
mov rdi, qword [rsp + 0x168]
lea r8, [rbx + rax + 0xd8]
movq xmm0, qword [r8]
movq xmm1, qword [rdi + rax]
pxor xmm0, xmm1
movq qword [r8], xmm0
mov r8, rcx
and r8, 0xfffffffffffffff8
add rax, r8
and ecx, 7
je 0x1401e1cad
mov rdi, qword [rsp + 0x168]
movzx ecx, byte [rdi + rax]
xor byte [rbx + rax + 0xd8], cl
lea rcx, [rax + 1]
cmp rcx, rdx
jae 0x1401e1cad
movzx r8d, byte [rdi + rax + 1]
xor byte [rbx + rcx + 0xd8], r8b
lea rcx, [rax + 2]
cmp rcx, rdx
jae 0x1401e1cad
movzx r8d, byte [rdi + rax + 2]
xor byte [rbx + rcx + 0xd8], r8b
lea rcx, [rax + 3]
cmp rcx, rdx
jae 0x1401e1cad
movzx r8d, byte [rdi + rax + 3]
xor byte [rbx + rcx + 0xd8], r8b
lea rcx, [rax + 4]
cmp rcx, rdx
jae 0x1401e1cad
movzx r8d, byte [rdi + rax + 4]
xor byte [rbx + rcx + 0xd8], r8b
lea rcx, [rax + 5]
cmp rcx, rdx
jae 0x1401e1cad
movzx r8d, byte [rdi + rax + 5]
xor byte [rbx + rcx + 0xd8], r8b
lea rcx, [rax + 6]
cmp rcx, rdx
jae 0x1401e1cad
movzx eax, byte [rdi + rax + 6]
xor byte [rbx + rcx + 0xd8], al
jmp 0x1401e1cad
cmp rcx, 0xe
jbe 0x1401e25b2
mov rax, qword [rsp + 0x158]
movdqu xmm0, xmmword [rbx + 0xd8]
movdqu xmm1, xmmword [rax]
mov rax, rdx
shr rax, 4
pxor xmm0, xmm1
movups xmmword [rsp + 0x30], xmm1
movups xmmword [rbx + 0xd8], xmm0
cmp rax, 1
je 0x1401e2026
mov rax, qword [rsp + 0x158]
movdqu xmm0, xmmword [rbx + 0xe8]
movdqu xmm1, xmmword [rax + 0x10]
pxor xmm0, xmm1
movups xmmword [rsp + 0x30], xmm1
movups xmmword [rbx + 0xe8], xmm0
mov rax, rdx
and rax, 0xfffffffffffffff0
test dl, 0xf
je 0x1401e1a9d
mov rcx, rdx
sub rcx, rax
lea r8, [rcx - 1]
cmp r8, 6
jbe 0x1401e207c
mov rdi, qword [rsp + 0x158]
lea r8, [rbx + rax + 0xd8]
movq xmm0, qword [r8]
movq xmm1, qword [rdi + rax]
pxor xmm0, xmm1
movq qword [r8], xmm0
mov r8, rcx
and r8, 0xfffffffffffffff8
add rax, r8
and ecx, 7
je 0x1401e1a9d
mov rdi, qword [rsp + 0x158]
movzx ecx, byte [rdi + rax]
xor byte [rbx + rax + 0xd8], cl
lea rcx, [rax + 1]
cmp rcx, rdx
jae 0x1401e1a9d
movzx r8d, byte [rdi + rax + 1]
xor byte [rbx + rcx + 0xd8], r8b
lea rcx, [rax + 2]
cmp rcx, rdx
jae 0x1401e1a9d
movzx r8d, byte [rdi + rax + 2]
xor byte [rbx + rcx + 0xd8], r8b
lea rcx, [rax + 3]
cmp rcx, rdx
jae 0x1401e1a9d
movzx r8d, byte [rdi + rax + 3]
xor byte [rbx + rcx + 0xd8], r8b
lea rcx, [rax + 4]
cmp rcx, rdx
jae 0x1401e1a9d
movzx r8d, byte [rdi + rax + 4]
xor byte [rbx + rcx + 0xd8], r8b
lea rcx, [rax + 5]
cmp rcx, rdx
jae 0x1401e1a9d
movzx r8d, byte [rdi + rax + 5]
xor byte [rbx + rcx + 0xd8], r8b
lea rcx, [rax + 6]
cmp rcx, rdx
jae 0x1401e1a9d
movzx eax, byte [rdi + rax + 6]
xor byte [rbx + rcx + 0xd8], al
jmp 0x1401e1a9d
cmp qword [rsp + 0x170], 0
je 0x1401e19a8
cmp qword [rsp + 0x168], 0
je 0x1401e19a8
cmp r13, qword [rsp + 0x170]
mov rdx, r13
cmova rdx, qword [rsp + 0x170]
jmp 0x1401e1c61
mov r8, qword [rsp + 0x158]
xor eax, eax
jmp 0x1401e1a88
mov r8, qword [rsp + 0x168]
xor eax, eax
jmp 0x1401e1c98
mov qword [rsp + 0x180], 0
mov rax, r8
jmp 0x1401e161a
cmp rdx, 0xf
jne 0x1401e21c1
movdqu xmm0, xmmword [rdi + r13]
movdqu xmm5, xmmword [rbx + 0xf8]
pxor xmm0, xmm5
movups xmmword [rbx + 0xf8], xmm0
jmp 0x1401e19a8
movq xmm0, qword [rbx + 0xf8]
movq xmm1, qword [rdi + r13]
pxor xmm0, xmm1
movq qword [rbx + 0xf8], xmm0
cmp rax, 8
je 0x1401e19a8
movzx edx, byte [rdi + r13 + 8]
xor byte [rbx + 0x100], dl
cmp rax, 9
je 0x1401e19a8
movzx edx, byte [rdi + r13 + 9]
xor byte [rbx + 0x101], dl
cmp rax, 0xa
je 0x1401e19a8
movzx edx, byte [rdi + r13 + 0xa]
xor byte [rbx + 0x102], dl
cmp rax, 0xb
je 0x1401e19a8
movzx edx, byte [rdi + r13 + 0xb]
xor byte [rbx + 0x103], dl
cmp rax, 0xc
je 0x1401e19a8
movzx edx, byte [rdi + r13 + 0xc]
xor byte [rbx + 0x104], dl
cmp rax, 0xd
je 0x1401e19a8
movzx edx, byte [rdi + r13 + 0xd]
xor byte [rbx + 0x105], dl
cmp rax, 0xf
jne 0x1401e19a8
movzx eax, byte [rdi + r13 + 0xe]
xor byte [rbx + 0x106], al
jmp 0x1401e19a8
cmp rdx, 0xf
jne 0x1401e229e
movdqu xmm0, xmmword [rdi + r13]
movdqu xmm1, xmmword [rbx + 0xf8]
pxor xmm0, xmm1
movups xmmword [rbx + 0xf8], xmm0
jmp 0x1401e1c2a
movq xmm0, qword [rbx + 0xf8]
movq xmm1, qword [rdi + r13]
pxor xmm0, xmm1
movq qword [rbx + 0xf8], xmm0
cmp rax, 8
je 0x1401e1c2a
movzx edx, byte [rdi + r13 + 8]
xor byte [rbx + 0x100], dl
cmp rax, 9
je 0x1401e1c2a
movzx edx, byte [rdi + r13 + 9]
xor byte [rbx + 0x101], dl
cmp rax, 0xa
je 0x1401e1c2a
movzx edx, byte [rdi + r13 + 0xa]
xor byte [rbx + 0x102], dl
cmp rax, 0xb
je 0x1401e1c2a
movzx edx, byte [rdi + r13 + 0xb]
xor byte [rbx + 0x103], dl
cmp rax, 0xc
je 0x1401e1c2a
movzx edx, byte [rdi + r13 + 0xc]
xor byte [rbx + 0x104], dl
cmp rax, 0xd
je 0x1401e1c2a
movzx edx, byte [rdi + r13 + 0xd]
xor byte [rbx + 0x105], dl
cmp rax, 0xf
jne 0x1401e1c2a
movzx eax, byte [rdi + r13 + 0xe]
xor byte [rbx + 0x106], al
jmp 0x1401e1c2a
mov qword [rsp + 0x170], 0
jmp 0x1401e1631
cmp rax, 0xe
jbe 0x1401e25c6
movdqu xmm0, xmmword [rbx + 0xd8]
movdqu xmm5, xmmword [rbx + 0x120]
mov rax, r9
shr rax, 4
pxor xmm0, xmm5
movups xmmword [rbx + 0xd8], xmm0
cmp rax, 1
je 0x1401e23b5
movdqu xmm0, xmmword [rbx + 0xe8]
movdqu xmm1, xmmword [rbx + 0x130]
pxor xmm0, xmm1
movups xmmword [rbx + 0xe8], xmm0
mov rax, r9
and rax, 0xfffffffffffffff0
test r9b, 0xf
je 0x1401e1830
mov r10, r9
sub r10, rax
lea r11, [r10 - 1]
cmp r11, 6
jbe 0x1401e2409
lea r11, [rbx + rax + 0xd8]
movq xmm1, qword [rbx + rax + 0x120]
movq xmm0, qword [r11]
pxor xmm0, xmm1
movq qword [r11], xmm0
mov r11, r10
and r11, 0xfffffffffffffff8
add rax, r11
and r10d, 7
je 0x1401e1830
movzx r10d, byte [rbx + rax + 0x120]
xor byte [rbx + rax + 0xd8], r10b
lea r10, [rax + 1]
cmp r10, r9
jae 0x1401e1830
movzx r11d, byte [rbx + rax + 0x121]
xor byte [rbx + r10 + 0xd8], r11b
lea r10, [rax + 2]
cmp r10, r9
jae 0x1401e1830
movzx r11d, byte [rbx + rax + 0x122]
xor byte [rbx + r10 + 0xd8], r11b
lea r10, [rax + 3]
cmp r10, r9
jae 0x1401e1830
movzx r11d, byte [rbx + rax + 0x123]
xor byte [rbx + r10 + 0xd8], r11b
lea r10, [rax + 4]
cmp r10, r9
jae 0x1401e1830
movzx r11d, byte [rbx + rax + 0x124]
xor byte [rbx + r10 + 0xd8], r11b
lea r10, [rax + 5]
cmp r10, r9
jae 0x1401e1830
movzx r11d, byte [rbx + rax + 0x125]
add rax, 6
xor byte [rbx + r10 + 0xd8], r11b
cmp rax, r9
jae 0x1401e1830
movzx r9d, byte [rbx + rax + 0x120]
xor byte [rbx + rax + 0xd8], r9b
jmp 0x1401e1830
cmp rdx, 0xf
jne 0x1401e24f8
movdqu xmm0, xmmword [r12 + rcx + 0x78]
movdqu xmm5, xmmword [rbx + 0xf8]
pxor xmm0, xmm5
movups xmmword [rbx + 0xf8], xmm0
jmp 0x1401e19a8
movq xmm0, qword [rbx + 0xf8]
movq xmm1, qword [r12 + rcx + 0x78]
pxor xmm0, xmm1
movq qword [rbx + 0xf8], xmm0
cmp rax, 8
je 0x1401e19a8
movzx edx, byte [r8 + rcx + 8]
xor byte [rbx + 0x100], dl
cmp rax, 9
je 0x1401e19a8
movzx edx, byte [r8 + rcx + 9]
xor byte [rbx + 0x101], dl
cmp rax, 0xa
je 0x1401e19a8
movzx edx, byte [r8 + rcx + 0xa]
xor byte [rbx + 0x102], dl
cmp rax, 0xb
je 0x1401e19a8
movzx edx, byte [r8 + rcx + 0xb]
xor byte [rbx + 0x103], dl
cmp rax, 0xc
je 0x1401e19a8
movzx edx, byte [r8 + rcx + 0xc]
xor byte [rbx + 0x104], dl
cmp rax, 0xd
je 0x1401e19a8
movzx edx, byte [r8 + rcx + 0xd]
xor byte [rbx + 0x105], dl
cmp rax, 0xf
jne 0x1401e19a8
movzx eax, byte [r8 + rcx + 0xe]
xor byte [rbx + 0x106], al
jmp 0x1401e19a8
mov rcx, rdx
xor eax, eax
jmp 0x1401e2046
mov rcx, rdx
xor eax, eax
jmp 0x1401e1ed8
mov r10, r9
xor eax, eax
jmp 0x1401e23d6
mov r8d, 0x10
xor edx, edx
lea rcx, [rbx + rax + 0x108]
mov r15d, 0x20
sub r8, rax
call sub.msvcrt.dll_memset
cmp qword [rbx + 0xd0], 0x10
movdqu xmm0, xmmword [rbx + 0x108]
je 0x1401e260e
movups xmmword [rsp + 0xf0], xmm0
mov r15d, 0x30
movdqu xmm1, xmmword [rbx + 0x120]
mov dword [rsp + 0x6c], 0x10
pxor xmm1, xmm0
movups xmmword [rbx + 0x120], xmm1
movdqu xmm5, xmmword [r13]
pxor xmm0, xmm5
movups xmmword [r13], xmm0
cmp r15d, 0x30
jne 0x1401e2650
movdqu xmm0, xmmword [r14]
pxor xmm0, xmmword [rsp + 0xf0]
movups xmmword [r14], xmm0
mov rcx, qword [rbx + 0xb8]
mov dword [rsp + 0x20], r15d
mov r9, rdi
lea r8, [rsp + 0x6c]
mov rdx, rdi
call fcn.1400b5850
test eax, eax
je 0x1401e14cb
cmp dword [rsp + 0x6c], r15d
je 0x1401e16e9
xor eax, eax
jmp 0x1401e1a02