Function at 0x1401b4020
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xe8
mov ebp, 0x20
movzx eax, byte [rdx + 0x63]
movdqu xmm2, xmmword [rdx + 0x54]
mov r12, qword [rsp + 0x150]
mov r13, r8
mov r8d, eax
add eax, 1
mov rbx, rdx
shr eax, 8
mov rdi, rcx
lea ecx, [r8 + 1]
movups xmmword [rsp + 0x50], xmm2
mov byte [rdx + 0x63], cl
mov edx, eax
movzx eax, byte [rbx + 0x62]
mov rsi, r9
mov dword [rsp + 0x44], 0x10
add eax, edx
mov byte [rbx + 0x62], al
shr eax, 8
mov edx, eax
movzx eax, byte [rbx + 0x61]
add eax, edx
mov byte [rbx + 0x61], al
shr eax, 8
mov edx, eax
movzx eax, byte [rbx + 0x60]
add eax, edx
mov byte [rbx + 0x60], al
shr eax, 8
mov edx, eax
movzx eax, byte [rbx + 0x5f]
add eax, edx
mov byte [rbx + 0x5f], al
shr eax, 8
mov edx, eax
movzx eax, byte [rbx + 0x5e]
add eax, edx
mov byte [rbx + 0x5e], al
shr eax, 8
mov edx, eax
movzx eax, byte [rbx + 0x5d]
add eax, edx
mov byte [rbx + 0x5d], al
shr eax, 8
mov edx, eax
movzx eax, byte [rbx + 0x5c]
add eax, edx
mov byte [rbx + 0x5c], al
shr eax, 8
mov edx, eax
movzx eax, byte [rbx + 0x5b]
add eax, edx
mov byte [rbx + 0x5b], al
shr eax, 8
mov edx, eax
movzx eax, byte [rbx + 0x5a]
add eax, edx
mov byte [rbx + 0x5a], al
shr eax, 8
mov edx, eax
movzx eax, byte [rbx + 0x59]
add eax, edx
mov byte [rbx + 0x59], al
shr eax, 8
mov edx, eax
movzx eax, byte [rbx + 0x58]
add eax, edx
mov byte [rbx + 0x58], al
shr eax, 8
mov edx, eax
movzx eax, byte [rbx + 0x57]
add eax, edx
mov byte [rbx + 0x57], al
shr eax, 8
mov edx, eax
movzx eax, byte [rbx + 0x56]
add eax, edx
mov byte [rbx + 0x56], al
shr eax, 8
mov edx, eax
movzx eax, byte [rbx + 0x55]
add eax, edx
mov byte [rbx + 0x55], al
shr eax, 8
add byte [rbx + 0x54], al
movdqu xmm3, xmmword [rbx + 0x54]
cmp qword [rbx + 0x28], 0x10
movups xmmword [rsp + 0x60], xmm3
je 0x1401b4233
movzx ecx, cl
movzx eax, byte [rbx + 0x62]
add r8d, 2
mov ebp, 0x30
add ecx, 1
mov byte [rbx + 0x63], r8b
shr ecx, 8
add eax, ecx
mov byte [rbx + 0x62], al
shr eax, 8
mov ecx, eax
movzx eax, byte [rbx + 0x61]
add eax, ecx
mov byte [rbx + 0x61], al
shr eax, 8
mov edx, eax
movzx eax, byte [rbx + 0x60]
add eax, edx
mov byte [rbx + 0x60], al
shr eax, 8
mov edx, eax
movzx eax, byte [rbx + 0x5f]
add eax, edx
mov byte [rbx + 0x5f], al
shr eax, 8
mov edx, eax
movzx eax, byte [rbx + 0x5e]
add eax, edx
mov byte [rbx + 0x5e], al
shr eax, 8
mov edx, eax
movzx eax, byte [rbx + 0x5d]
add eax, edx
mov byte [rbx + 0x5d], al
shr eax, 8
mov edx, eax
movzx eax, byte [rbx + 0x5c]
add eax, edx
mov byte [rbx + 0x5c], al
shr eax, 8
mov edx, eax
movzx eax, byte [rbx + 0x5b]
add eax, edx
mov byte [rbx + 0x5b], al
shr eax, 8
mov edx, eax
movzx eax, byte [rbx + 0x5a]
add eax, edx
mov byte [rbx + 0x5a], al
shr eax, 8
mov edx, eax
movzx eax, byte [rbx + 0x59]
add eax, edx
mov byte [rbx + 0x59], al
shr eax, 8
mov edx, eax
movzx eax, byte [rbx + 0x58]
add eax, edx
mov byte [rbx + 0x58], al
shr eax, 8
mov edx, eax
movzx eax, byte [rbx + 0x57]
add eax, edx
mov byte [rbx + 0x57], al
shr eax, 8
mov edx, eax
movzx eax, byte [rbx + 0x56]
add eax, edx
mov byte [rbx + 0x56], al
shr eax, 8
mov edx, eax
movzx eax, byte [rbx + 0x55]
add eax, edx
mov byte [rbx + 0x55], al
shr eax, 8
add byte [rbx + 0x54], al
movdqu xmm4, xmmword [rbx + 0x54]
movups xmmword [rsp + 0x70], xmm4
mov dword [rsp + 0x20], ebp
lea r14, [rsp + 0x80]
mov rcx, qword [rbx]
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x44]
mov rdx, r14
call fcn.1400d2d10
test eax, eax
je 0x1401b425e
cmp dword [rsp + 0x44], ebp
je 0x1401b4278
xor eax, eax
add rsp, 0xe8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rbp, qword [rbx + 0x28]
lea r15, [rbx + 0x34]
mov rdx, r14
mov rcx, r15
mov r8, rbp
call sub.msvcrt.dll_memcpy
mov edx, dword [rbx + 0x30]
movdqu xmm5, xmmword [rsp + rbp + 0x80]
movups xmmword [rbx + 0x54], xmm5
test edx, edx
jne 0x1401b4777
test r13, r13
je 0x1401b44d3
test rsi, rsi
je 0x1401b44d3
cmp rbp, rsi
mov rdx, rsi
cmovbe rdx, rbp
test rdx, rdx
je 0x1401b4479
lea rax, [r13 + 0x10]
cmp rax, r15
lea rax, [rbx + 0x44]
setbe cl
cmp r13, rax
setae al
or cl, al
je 0x1401b4d01
lea rax, [rdx - 1]
cmp rax, 0xe
jbe 0x1401b4d01
movdqu xmm0, xmmword [rbx + 0x34]
movdqu xmm1, xmmword [r13]
mov rax, rdx
shr rax, 4
pxor xmm0, xmm1
movups xmmword [rbx + 0x34], xmm0
cmp rax, 1
je 0x1401b4328
movdqu xmm0, xmmword [rbx + 0x44]
movdqu xmm5, xmmword [r13 + 0x10]
pxor xmm0, xmm5
movups xmmword [rbx + 0x44], xmm0
mov rax, rdx
and rax, 0xfffffffffffffff0
test dl, 0xf
je 0x1401b4479
movzx ecx, byte [r13 + rax]
xor byte [rbx + rax + 0x34], cl
lea rcx, [rax + 1]
cmp rdx, rcx
jbe 0x1401b4479
movzx r8d, byte [r13 + rax + 1]
xor byte [rbx + rcx + 0x34], r8b
lea rcx, [rax + 2]
cmp rdx, rcx
jbe 0x1401b4479
movzx r8d, byte [r13 + rax + 2]
xor byte [rbx + rcx + 0x34], r8b
lea rcx, [rax + 3]
cmp rdx, rcx
jbe 0x1401b4479
movzx r8d, byte [r13 + rax + 3]
xor byte [rbx + rcx + 0x34], r8b
lea rcx, [rax + 4]
cmp rdx, rcx
jbe 0x1401b4479
movzx r8d, byte [r13 + rax + 4]
xor byte [rbx + rcx + 0x34], r8b
lea rcx, [rax + 5]
cmp rdx, rcx
jbe 0x1401b4479
movzx r8d, byte [r13 + rax + 5]
xor byte [rbx + rcx + 0x34], r8b
lea rcx, [rax + 6]
cmp rdx, rcx
jbe 0x1401b4479
movzx r8d, byte [r13 + rax + 6]
xor byte [rbx + rcx + 0x34], r8b
lea rcx, [rax + 7]
cmp rdx, rcx
jbe 0x1401b4479
movzx r8d, byte [r13 + rax + 7]
xor byte [rbx + rcx + 0x34], r8b
lea rcx, [rax + 8]
cmp rdx, rcx
jbe 0x1401b4479
movzx r8d, byte [r13 + rax + 8]
xor byte [rbx + rcx + 0x34], r8b
lea rcx, [rax + 9]
cmp rdx, rcx
jbe 0x1401b4479
movzx r8d, byte [r13 + rax + 9]
xor byte [rbx + rcx + 0x34], r8b
lea rcx, [rax + 0xa]
cmp rdx, rcx
jbe 0x1401b4479
movzx r8d, byte [r13 + rax + 0xa]
xor byte [rbx + rcx + 0x34], r8b
lea rcx, [rax + 0xb]
cmp rdx, rcx
jbe 0x1401b4479
movzx r8d, byte [r13 + rax + 0xb]
xor byte [rbx + rcx + 0x34], r8b
lea rcx, [rax + 0xc]
cmp rdx, rcx
jbe 0x1401b4479
movzx r8d, byte [r13 + rax + 0xc]
xor byte [rbx + rcx + 0x34], r8b
lea rcx, [rax + 0xd]
cmp rdx, rcx
jbe 0x1401b4479
movzx r8d, byte [r13 + rax + 0xd]
xor byte [rbx + rcx + 0x34], r8b
lea rcx, [rax + 0xe]
cmp rdx, rcx
jbe 0x1401b4479
movzx eax, byte [r13 + rax + 0xe]
xor byte [rbx + rcx + 0x34], al
cmp rbp, rsi
jae 0x1401b44d3
lea rax, [r13 + rbp + 0x10]
lea rcx, [rbx + 0x54]
sub rsi, rbp
lea rdx, [r13 + rbp]
cmp rax, rcx
lea rax, [rbx + 0x64]
setbe cl
cmp rdx, rax
setae al
or cl, al
je 0x1401b4e43
cmp rsi, 0x10
mov eax, 0x10
cmovbe rax, rsi
sub rax, 1
cmp rax, 0xe
jbe 0x1401b4e43
movdqu xmm0, xmmword [rdx]
movdqu xmm1, xmmword [rbx + 0x54]
pxor xmm0, xmm1
movups xmmword [rbx + 0x54], xmm0
test r12, r12
je 0x1401b471f
cmp qword [rsp + 0x158], 0
je 0x1401b471f
cmp rbp, qword [rsp + 0x158]
mov rdx, rbp
cmova rdx, qword [rsp + 0x158]
test rdx, rdx
je 0x1401b46b7
lea rax, [r12 + 0x10]
cmp r15, rax
lea rax, [rbx + 0x44]
setae cl
cmp r12, rax
setae al
or cl, al
je 0x1401b4ce8
lea rax, [rdx - 1]
cmp rax, 0xe
jbe 0x1401b4ce8
movdqu xmm0, xmmword [rbx + 0x34]
movdqu xmm1, xmmword [r12]
mov rax, rdx
shr rax, 4
pxor xmm0, xmm1
movups xmmword [rbx + 0x34], xmm0
cmp rax, 1
je 0x1401b4567
movdqu xmm0, xmmword [rbx + 0x44]
movdqu xmm1, xmmword [r12 + 0x10]
pxor xmm0, xmm1
movups xmmword [rbx + 0x44], xmm0
mov rax, rdx
and rax, 0xfffffffffffffff0
test dl, 0xf
je 0x1401b46b7
movzx ecx, byte [r12 + rax]
xor byte [rbx + rax + 0x34], cl
lea rcx, [rax + 1]
cmp rdx, rcx
jbe 0x1401b46b7
movzx r8d, byte [r12 + rax + 1]
xor byte [rbx + rcx + 0x34], r8b
lea rcx, [rax + 2]
cmp rdx, rcx
jbe 0x1401b46b7
movzx r8d, byte [r12 + rax + 2]
xor byte [rbx + rcx + 0x34], r8b
lea rcx, [rax + 3]
cmp rdx, rcx
jbe 0x1401b46b7
movzx r8d, byte [r12 + rax + 3]
xor byte [rbx + rcx + 0x34], r8b
lea rcx, [rax + 4]
cmp rdx, rcx
jbe 0x1401b46b7
movzx r8d, byte [r12 + rax + 4]
xor byte [rbx + rcx + 0x34], r8b
lea rcx, [rax + 5]
cmp rdx, rcx
jbe 0x1401b46b7
movzx r8d, byte [r12 + rax + 5]
xor byte [rbx + rcx + 0x34], r8b
lea rcx, [rax + 6]
cmp rdx, rcx
jbe 0x1401b46b7
movzx r8d, byte [r12 + rax + 6]
xor byte [rbx + rcx + 0x34], r8b
lea rcx, [rax + 7]
cmp rdx, rcx
jbe 0x1401b46b7
movzx r8d, byte [r12 + rax + 7]
xor byte [rbx + rcx + 0x34], r8b
lea rcx, [rax + 8]
cmp rdx, rcx
jbe 0x1401b46b7
movzx r8d, byte [r12 + rax + 8]
xor byte [rbx + rcx + 0x34], r8b
lea rcx, [rax + 9]
cmp rdx, rcx
jbe 0x1401b46b7
movzx r8d, byte [r12 + rax + 9]
xor byte [rbx + rcx + 0x34], r8b
lea rcx, [rax + 0xa]
cmp rdx, rcx
jbe 0x1401b46b7
movzx r8d, byte [r12 + rax + 0xa]
xor byte [rbx + rcx + 0x34], r8b
lea rcx, [rax + 0xb]
cmp rdx, rcx
jbe 0x1401b46b7
movzx r8d, byte [r12 + rax + 0xb]
xor byte [rbx + rcx + 0x34], r8b
lea rcx, [rax + 0xc]
cmp rdx, rcx
jbe 0x1401b46b7
movzx r8d, byte [r12 + rax + 0xc]
xor byte [rbx + rcx + 0x34], r8b
lea rcx, [rax + 0xd]
cmp rdx, rcx
jbe 0x1401b46b7
movzx r8d, byte [r12 + rax + 0xd]
xor byte [rbx + rcx + 0x34], r8b
lea rcx, [rax + 0xe]
cmp rdx, rcx
jbe 0x1401b46b7
movzx eax, byte [r12 + rax + 0xe]
xor byte [rbx + rcx + 0x34], al
cmp rbp, qword [rsp + 0x158]
jae 0x1401b471f
mov rax, qword [rsp + 0x158]
lea r8, [rbx + 0x54]
lea rdx, [r12 + rbp + 0x10]
lea rcx, [r12 + rbp]
sub rax, rbp
cmp r8, rdx
lea rdx, [rbx + 0x64]
setae r8b
cmp rcx, rdx
setae dl
or r8b, dl
je 0x1401b4d1b
cmp rax, 0x10
mov edx, 0x10
cmovbe rdx, rax
sub rdx, 1
cmp rdx, 0xe
jbe 0x1401b4d1b
movdqu xmm0, xmmword [rcx]
movdqu xmm5, xmmword [rbx + 0x54]
pxor xmm0, xmm5
movups xmmword [rbx + 0x54], xmm0
mov dword [rsp + 0x28], 0xffffffff
mov rcx, qword [rbx]
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], 0
mov r9, r15
call fcn.1400d8900
test eax, eax
je 0x1401b425e
mov dword [rsp + 0x28], 0xffffffff
xor r8d, r8d
xor edx, edx
mov r9, r15
mov qword [rsp + 0x20], 0
mov rcx, qword [rbx + 8]
call fcn.1400d8900
test eax, eax
setne al
movzx eax, al
jmp 0x1401b4260
mov rax, qword [rsp + 0x160]
or rax, r12
or rax, r13
je 0x1401b4a4d
cmp rbp, 0x10
pxor xmm0, xmm0
mov ebp, 0x20
mov eax, 0x30
mov qword [rsp + 0xc0], 0
cmovne ebp, eax
lea r14, [rbx + 0x80]
mov qword [rsp + 0xc8], 0
mov byte [rsp + 0xc3], 1
movdqu xmm1, xmmword [rsp + 0xc0]
mov qword [r14 + 0x20], 0
mov qword [r14 + 0x28], 0
mov qword [rsp + 0xd0], 0
mov dword [rsp + 0x48], 0x10
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0xb8], 0
mov qword [rsp + 0xd8], 0
mov byte [rsp + 0xd3], 2
mov dword [rsp + 0x4c], 0x10
movups xmmword [rbx + 0x80], xmm0
movups xmmword [rbx + 0x90], xmm1
cmp ebp, 0x30
jne 0x1401b4853
movdqu xmm0, xmmword [rbx + 0xa0]
pxor xmm0, xmmword [rsp + 0xd0]
movups xmmword [rbx + 0xa0], xmm0
mov dword [rsp + 0x20], ebp
lea rax, [rsp + 0x4c]
mov rcx, qword [rbx + 0x10]
mov r9, r14
mov r8, rax
mov rdx, r14
mov qword [rsp + 0x38], rax
call fcn.1400d2d10
test eax, eax
je 0x1401b425e
cmp dword [rsp + 0x4c], ebp
jne 0x1401b425e
test r13, r13
je 0x1401b4cb9
test rsi, rsi
mov r8, rsi
sete dl
cmp qword [rsp + 0x160], 0
mov rax, r8
je 0x1401b4cc6
add rax, qword [rsp + 0x168]
test r12, r12
je 0x1401b4cd7
add rax, qword [rsp + 0x158]
bswap eax
mov dword [rbx + 0x64], eax
xor eax, eax
mov word [rbx + 0x68], ax
movzx eax, byte [rbx + 0x28]
mov byte [rbx + 0x6a], 0
add eax, 0x10
mov qword [rbx + 0x78], 8
mov byte [rbx + 0x6b], al
test dl, dl
jne 0x1401b48fa
mov rdx, r13
mov rcx, rbx
call fcn.1401b3d50
test eax, eax
je 0x1401b425e
cmp qword [rsp + 0x160], 0
je 0x1401b4930
cmp qword [rsp + 0x168], 0
je 0x1401b4930
mov r8, qword [rsp + 0x168]
mov rdx, qword [rsp + 0x160]
mov rcx, rbx
call fcn.1401b3d50
test eax, eax
je 0x1401b425e
test r12, r12
je 0x1401b495b
cmp qword [rsp + 0x158], 0
je 0x1401b495b
mov r8, qword [rsp + 0x158]
mov rdx, r12
mov rcx, rbx
call fcn.1401b3d50
test eax, eax
je 0x1401b425e
mov r8d, 1
lea rdx, [0x140549c20]
mov rcx, rbx
call fcn.1401b3d50
test eax, eax
je 0x1401b425e
mov rax, qword [rbx + 0x78]
test rax, rax
jne 0x1401b4f6b
mov dword [rsp + 0x28], 0xffffffff
mov rcx, qword [rbx]
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], 0
mov r9, r14
call fcn.1400d8900
test eax, eax
je 0x1401b425e
mov r9, qword [rbx + 0x28]
lea rbp, [rsp + 0x48]
mov rcx, qword [rbx]
mov rdx, r14
mov dword [rsp + 0x20], 0x10
mov r8, rbp
add r9, r14
call fcn.1400d2d10
test eax, eax
je 0x1401b425e
cmp dword [rsp + 0x48], 0x10
jne 0x1401b425e
lea r12, [rbx + 0x90]
mov rcx, qword [rbx]
mov r9, r14
mov r8, rbp
mov dword [rsp + 0x20], 0x10
mov rdx, r12
call fcn.1400d2d10
test eax, eax
je 0x1401b425e
cmp dword [rsp + 0x48], 0x10
jne 0x1401b425e
cmp qword [rbx + 0x28], 0x10
je 0x1401b4a4d
mov rcx, qword [rbx]
lea rdx, [rbx + 0xa0]
mov r9, r12
mov r8, rbp
mov dword [rsp + 0x20], 0x10
call fcn.1400d2d10
test eax, eax
je 0x1401b425e
cmp dword [rsp + 0x48], 0x10
jne 0x1401b425e
test rsi, rsi
je 0x1401b471f
mov rdx, qword [rdi]
test rdx, rdx
je 0x1401b471f
mov rcx, qword [rbx + 0x28]
lea r9, [rbx + 0x80]
cmp rdx, rcx
mov r8, rcx
cmovbe r8, rdx
test r8, r8
je 0x1401b4c4a
lea rax, [r8 - 1]
cmp rax, 0xe
jbe 0x1401b5154
movdqu xmm0, xmmword [rbx + 0x34]
movdqu xmm5, xmmword [rbx + 0x80]
mov rax, r8
shr rax, 4
pxor xmm0, xmm5
movups xmmword [rbx + 0x34], xmm0
cmp rax, 1
je 0x1401b4ac5
movdqu xmm5, xmmword [rbx + 0x44]
movdqu xmm0, xmmword [rbx + 0x90]
pxor xmm0, xmm5
movups xmmword [rbx + 0x44], xmm0
mov rax, r8
and rax, 0xfffffffffffffff0
test r8b, 0xf
je 0x1401b4c4a
movzx r10d, byte [rbx + rax + 0x80]
xor byte [rbx + rax + 0x34], r10b
lea r10, [rax + 1]
cmp r8, r10
jbe 0x1401b4c4a
movzx r11d, byte [rbx + rax + 0x81]
xor byte [rbx + r10 + 0x34], r11b
lea r10, [rax + 2]
cmp r8, r10
jbe 0x1401b4c4a
movzx r11d, byte [rbx + rax + 0x82]
xor byte [rbx + r10 + 0x34], r11b
lea r10, [rax + 3]
cmp r8, r10
jbe 0x1401b4c4a
movzx r11d, byte [rbx + rax + 0x83]
xor byte [rbx + r10 + 0x34], r11b
lea r10, [rax + 4]
cmp r8, r10
jbe 0x1401b4c4a
movzx r11d, byte [rbx + rax + 0x84]
xor byte [rbx + r10 + 0x34], r11b
lea r10, [rax + 5]
cmp r8, r10
jbe 0x1401b4c4a
movzx r11d, byte [rbx + rax + 0x85]
xor byte [rbx + r10 + 0x34], r11b
lea r10, [rax + 6]
cmp r8, r10
jbe 0x1401b4c4a
movzx r11d, byte [rbx + rax + 0x86]
xor byte [rbx + r10 + 0x34], r11b
lea r10, [rax + 7]
cmp r8, r10
jbe 0x1401b4c4a
movzx r11d, byte [rbx + rax + 0x87]
xor byte [rbx + r10 + 0x34], r11b
lea r10, [rax + 8]
cmp r8, r10
jbe 0x1401b4c4a
movzx r11d, byte [rbx + rax + 0x88]
xor byte [rbx + r10 + 0x34], r11b
lea r10, [rax + 9]
cmp r8, r10
jbe 0x1401b4c4a
movzx r11d, byte [rbx + rax + 0x89]
xor byte [rbx + r10 + 0x34], r11b
lea r10, [rax + 0xa]
cmp r8, r10
jbe 0x1401b4c4a
movzx r11d, byte [rbx + rax + 0x8a]
xor byte [rbx + r10 + 0x34], r11b
lea r10, [rax + 0xb]
cmp r8, r10
jbe 0x1401b4c4a
movzx r11d, byte [rbx + rax + 0x8b]
xor byte [rbx + r10 + 0x34], r11b
lea r10, [rax + 0xc]
cmp r8, r10
jbe 0x1401b4c4a
movzx r11d, byte [rbx + rax + 0x8c]
xor byte [rbx + r10 + 0x34], r11b
lea r10, [rax + 0xd]
cmp r8, r10
jbe 0x1401b4c4a
movzx r11d, byte [rbx + rax + 0x8d]
add rax, 0xe
xor byte [rbx + r10 + 0x34], r11b
cmp r8, rax
jbe 0x1401b4c4a
movzx r8d, byte [rbx + rax + 0x80]
xor byte [rbx + rax + 0x34], r8b
cmp rdx, rcx
jbe 0x1401b471f
mov rax, rdx
lea r10, [rbx + 0x54]
lea rdx, [rbx + rcx + 0x90]
sub rax, rcx
lea r8, [rbx + rcx + 0x80]
cmp rdx, r10
lea rdx, [rbx + 0x64]
setbe r10b
cmp r8, rdx
setae dl
or r10b, dl
je 0x1401b5027
cmp rax, 0x10
mov edx, 0x10
cmovbe rdx, rax
sub rdx, 1
cmp rdx, 0xe
jbe 0x1401b5027
movdqu xmm0, xmmword [r8]
movdqu xmm1, xmmword [rbx + 0x54]
pxor xmm0, xmm1
movups xmmword [rbx + 0x54], xmm0
jmp 0x1401b471f
mov edx, 1
xor r8d, r8d
jmp 0x1401b4897
mov qword [rsp + 0x168], 0
jmp 0x1401b48b1
mov qword [rsp + 0x158], 0
jmp 0x1401b48c2
xor eax, eax
movzx ecx, byte [r12 + rax]
xor byte [rbx + rax + 0x34], cl
add rax, 1
cmp rax, rdx
jne 0x1401b4cea
jmp 0x1401b46b7
xor eax, eax
movzx ecx, byte [r13 + rax]
xor byte [rbx + rax + 0x34], cl
add rax, 1
cmp rdx, rax
jne 0x1401b4d03
jmp 0x1401b4479
movzx edx, byte [rcx]
xor byte [rbx + 0x54], dl
cmp rax, 1
je 0x1401b471f
movzx edx, byte [r12 + rbp + 1]
xor byte [rbx + 0x55], dl
cmp rax, 2
je 0x1401b471f
movzx edx, byte [r12 + rbp + 2]
xor byte [rbx + 0x56], dl
cmp rax, 3
je 0x1401b471f
movzx edx, byte [r12 + rbp + 3]
xor byte [rbx + 0x57], dl
cmp rax, 4
je 0x1401b471f
movzx edx, byte [r12 + rbp + 4]
xor byte [rbx + 0x58], dl
cmp rax, 5
je 0x1401b471f
movzx edx, byte [r12 + rbp + 5]
xor byte [rbx + 0x59], dl
cmp rax, 6
je 0x1401b471f
movzx edx, byte [r12 + rbp + 6]
xor byte [rbx + 0x5a], dl
cmp rax, 7
je 0x1401b471f
movzx edx, byte [r12 + rbp + 7]
xor byte [rbx + 0x5b], dl
cmp rax, 8
je 0x1401b471f
movzx edx, byte [r12 + rbp + 8]
xor byte [rbx + 0x5c], dl
cmp rax, 9
je 0x1401b471f
movzx edx, byte [r12 + rbp + 9]
xor byte [rbx + 0x5d], dl
cmp rax, 0xa
je 0x1401b471f
movzx edx, byte [r12 + rbp + 0xa]
xor byte [rbx + 0x5e], dl
cmp rax, 0xb
je 0x1401b471f
movzx edx, byte [r12 + rbp + 0xb]
xor byte [rbx + 0x5f], dl
cmp rax, 0xc
je 0x1401b471f
movzx edx, byte [r12 + rbp + 0xc]
xor byte [rbx + 0x60], dl
cmp rax, 0xd
je 0x1401b471f
movzx edx, byte [r12 + rbp + 0xd]
xor byte [rbx + 0x61], dl
cmp rax, 0xe
je 0x1401b471f
movzx edx, byte [r12 + rbp + 0xe]
xor byte [rbx + 0x62], dl
cmp rax, 0xf
jbe 0x1401b471f
movzx eax, byte [r12 + rbp + 0xf]
xor byte [rbx + 0x63], al
jmp 0x1401b471f
movzx eax, byte [rdx]
xor byte [rbx + 0x54], al
cmp rsi, 1
je 0x1401b44d3
movzx eax, byte [r13 + rbp + 1]
xor byte [rbx + 0x55], al
cmp rsi, 2
je 0x1401b44d3
movzx eax, byte [r13 + rbp + 2]
xor byte [rbx + 0x56], al
cmp rsi, 3
je 0x1401b44d3
movzx eax, byte [r13 + rbp + 3]
xor byte [rbx + 0x57], al
cmp rsi, 4
je 0x1401b44d3
movzx eax, byte [r13 + rbp + 4]
xor byte [rbx + 0x58], al
cmp rsi, 5
je 0x1401b44d3
movzx eax, byte [r13 + rbp + 5]
xor byte [rbx + 0x59], al
cmp rsi, 6
je 0x1401b44d3
movzx eax, byte [r13 + rbp + 6]
xor byte [rbx + 0x5a], al
cmp rsi, 7
je 0x1401b44d3
movzx eax, byte [r13 + rbp + 7]
xor byte [rbx + 0x5b], al
cmp rsi, 8
je 0x1401b44d3
movzx eax, byte [r13 + rbp + 8]
xor byte [rbx + 0x5c], al
cmp rsi, 9
je 0x1401b44d3
movzx eax, byte [r13 + rbp + 9]
xor byte [rbx + 0x5d], al
cmp rsi, 0xa
je 0x1401b44d3
movzx eax, byte [r13 + rbp + 0xa]
xor byte [rbx + 0x5e], al
cmp rsi, 0xb
je 0x1401b44d3
movzx eax, byte [r13 + rbp + 0xb]
xor byte [rbx + 0x5f], al
cmp rsi, 0xc
je 0x1401b44d3
movzx eax, byte [r13 + rbp + 0xc]
xor byte [rbx + 0x60], al
cmp rsi, 0xd
je 0x1401b44d3
movzx eax, byte [r13 + rbp + 0xd]
xor byte [rbx + 0x61], al
cmp rsi, 0xe
je 0x1401b44d3
movzx eax, byte [r13 + rbp + 0xe]
xor byte [rbx + 0x62], al
cmp rsi, 0xf
jbe 0x1401b44d3
movzx eax, byte [r13 + rbp + 0xf]
xor byte [rbx + 0x63], al
jmp 0x1401b44d3
mov r8d, 0x10
xor edx, edx
lea rcx, [rbx + rax + 0x64]
sub r8, rax
call sub.msvcrt.dll_memset
movdqu xmm0, xmmword [rbx + 0x64]
cmp qword [rbx + 0x28], 0x10
movups xmmword [rsp + 0xb0], xmm0
movups xmmword [rsp + 0xc0], xmm0
je 0x1401b515b
movdqu xmm1, xmmword [rbx + 0x80]
movdqu xmm5, xmmword [rbx + 0xa0]
mov dword [rsp + 0x4c], 0x10
mov ebp, 0x30
pxor xmm1, xmmword [rsp + 0xb0]
movups xmmword [rsp + 0xd0], xmm0
pxor xmm0, xmm5
movups xmmword [rbx + 0x80], xmm1
movdqu xmm1, xmmword [rbx + 0x90]
pxor xmm1, xmmword [rsp + 0xc0]
movups xmmword [rbx + 0xa0], xmm0
movups xmmword [rbx + 0x90], xmm1
mov dword [rsp + 0x20], ebp
mov rcx, qword [rbx + 0x10]
mov r9, r14
mov rdx, r14
mov r8, qword [rsp + 0x38]
call fcn.1400d2d10
test eax, eax
je 0x1401b425e
cmp ebp, dword [rsp + 0x4c]
je 0x1401b4985
jmp 0x1401b425e
movzx edx, byte [rbx + rcx + 0x80]
xor byte [rbx + 0x54], dl
cmp rax, 1
je 0x1401b471f
movzx edx, byte [r9 + rcx + 1]
xor byte [rbx + 0x55], dl
cmp rax, 2
je 0x1401b471f
movzx edx, byte [r9 + rcx + 2]
xor byte [rbx + 0x56], dl
cmp rax, 3
je 0x1401b471f
movzx edx, byte [r9 + rcx + 3]
xor byte [rbx + 0x57], dl
cmp rax, 4
je 0x1401b471f
movzx edx, byte [r9 + rcx + 4]
xor byte [rbx + 0x58], dl
cmp rax, 5
je 0x1401b471f
movzx edx, byte [r9 + rcx + 5]
xor byte [rbx + 0x59], dl
cmp rax, 6
je 0x1401b471f
movzx edx, byte [r9 + rcx + 6]
xor byte [rbx + 0x5a], dl
cmp rax, 7
je 0x1401b471f
movzx edx, byte [r9 + rcx + 7]
xor byte [rbx + 0x5b], dl
cmp rax, 8
je 0x1401b471f
movzx edx, byte [r9 + rcx + 8]
xor byte [rbx + 0x5c], dl
cmp rax, 9
je 0x1401b471f
movzx edx, byte [r9 + rcx + 9]
xor byte [rbx + 0x5d], dl
cmp rax, 0xa
je 0x1401b471f
movzx edx, byte [r9 + rcx + 0xa]
xor byte [rbx + 0x5e], dl
cmp rax, 0xb
je 0x1401b471f
movzx edx, byte [r9 + rcx + 0xb]
xor byte [rbx + 0x5f], dl
cmp rax, 0xc
je 0x1401b471f
movzx edx, byte [r9 + rcx + 0xc]
xor byte [rbx + 0x60], dl
cmp rax, 0xd
je 0x1401b471f
movzx edx, byte [r9 + rcx + 0xd]
xor byte [rbx + 0x61], dl
cmp rax, 0xe
je 0x1401b471f
movzx edx, byte [r9 + rcx + 0xe]
xor byte [rbx + 0x62], dl
cmp rax, 0xf
jbe 0x1401b471f
movzx eax, byte [r9 + rcx + 0xf]
xor byte [rbx + 0x63], al
jmp 0x1401b471f
xor eax, eax
jmp 0x1401b4ad6
movdqu xmm0, xmmword [rbx + 0x80]
mov dword [rsp + 0x4c], 0x10
mov ebp, 0x20
pxor xmm0, xmmword [rsp + 0xb0]
movups xmmword [rbx + 0x80], xmm0
movdqu xmm0, xmmword [rbx + 0x90]
pxor xmm0, xmmword [rsp + 0xc0]
movups xmmword [rbx + 0x90], xmm0
jmp 0x1401b4ff8