Function at 0x1401c7f7d
Capabilities:
Encode data using xor

Disassembly:
mov r9d, 7
lea r8, [0x140486b60]
mov edx, 0x17
jmp 0x1401c6f8c
mov r9d, 8
lea r8, [0x140486b40]
mov edx, 0x16
jmp 0x1401c6f8c
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x138
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0x30], rcx
mov rbx, qword [rsp + 0x30]
mov r10d, edx
mov edx, r8d
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x30]
mov rcx, rdx
mov qword [rsp + 0x28], r9
add rdx, qword [rbx + 0xa0]
mov eax, dword [rax + 4]
bswap rdx
mov ebx, eax
mov qword [rsp + 0x70], rdx
lea rdx, [rsp + 0x6c]
or ebx, ecx
je 0x1401c8015
cmp eax, 3
jbe 0x1401c7fe0
test ecx, ecx
je 0x1401c801a
cmp eax, 4
jne 0x1401c7fe7
xor eax, eax
mov r8d, 0xffffff00
mov r9d, eax
sar r8d, cl
lea ecx, [rax + 1]
and r8d, r10d
mov byte [rsp + r9 + 0x6c], r8b
mov r8, rcx
add rcx, rdx
cmp r8d, 3
ja 0x1401c801a
mov byte [rcx], 0
inc r8d
inc rcx
jmp 0x1401c8004
mov eax, 4
mov rcx, qword [rsp + 0x30]
mov r8d, 0x10
add rdx, rax
mov r15d, 0xa
sub r8, rax
call fcn.1401c1f60
mov rax, qword [rsp + 0x30]
lea r9, [rsp + 0xb8]
mov rdi, r9
imul r8d, dword [rax + 8], 6
lea rdx, [rax + 0xc]
mov eax, 0x1e
sub rax, r8
lea rcx, [r8*4]
lea rsi, [rdx + rax*4]
rep movsb byte [rdi], byte [rsi]
mov ecx, eax
mov rsi, rdx
shl rcx, 2
rep movsb byte [rdi], byte [rsi]
lea rdi, [0x1404862c0]
lea rsi, [0x140485ec0]
mov rax, qword [rsp + 0x124]
lea rdx, [rsp + 0xb8]
lea rcx, [rsp + 0xc4]
mov r8d, 0x6c
lea rbp, [0x1404866c0]
lea r12, [0x140485ac0]
mov qword [rsp + 0x7c], rax
mov eax, dword [rsp + 0x12c]
mov dword [rsp + 0x84], eax
call sub.msvcrt.dll_memmove
mov rax, qword [rsp + 0x7c]
mov edx, dword [rsp + 0xd0]
mov r10d, dword [rsp + 0x84]
xor dword [rsp + 0xfc], edx
mov qword [rsp + 0xb8], rax
xor eax, dword [rsp + 0xc8]
xor r10d, edx
mov edx, eax
mov r9d, dword [rsp + 0xbc]
movzx r8d, al
shr edx, 0x10
xor r9d, dword [rsp + 0xcc]
mov rcx, qword [rsp + 0xc8]
movzx edx, dl
mov ebx, r9d
movzx r11d, r9b
mov r8d, dword [r12 + r8*4]
xor qword [rsp + 0xf4], rcx
mov ecx, dword [rdi + rdx*4]
movzx edx, ah
shr eax, 0x18
mov r13d, dword [rbp + rax*4]
mov eax, r9d
mov r11d, dword [r12 + r11*4]
movzx ebx, bh
shr eax, 0x18
mov r14d, dword [rsi + rbx*4]
mov rbx, r12
shr r9d, 0x10
mov eax, dword [rbp + rax*4]
xor r13d, r8d
xor r8d, r11d
mov edx, dword [rsi + rdx*4]
movzx r9d, r9b
xor r13d, ecx
mov r12d, eax
xor r13d, edx
xor edx, r14d
xor r12d, r11d
mov r11d, r10d
xor r12d, dword [rdi + r9*4]
mov r9d, r10d
shr r11d, 0x10
xor r12d, r14d
shr r9d, 0x18
movzx r11d, r11b
mov r9d, dword [rbp + r9*4]
mov r14d, dword [rdi + r11*4]
movzx r11d, r10b
mov r11d, dword [rbx + r11*4]
xor eax, r9d
mov ebx, r10d
movzx ebx, bh
xor ecx, r14d
xor r8d, r11d
xor r9d, r11d
mov r11d, dword [rsp + 0xc4]
xor r9d, r14d
xor r9d, dword [rsi + rbx*4]
mov r10d, r11d
mov ebx, r11d
shr r10d, 0x18
mov r10d, dword [rbp + r10*4]
mov ebp, r11d
movzx r11d, r11b
shr ebp, 0x10
movzx ebp, bpl
xor eax, r10d
mov r14d, dword [rdi + rbp*4]
movzx ebp, bh
lea rbx, [0x140485ac0]
mov ebp, dword [rsi + rbp*4]
xor r10d, dword [rbx + r11*4]
mov r11d, r13d
xor ecx, r14d
xor edx, ebp
xor r10d, r14d
xor r11d, eax
mov r14d, r8d
xor r10d, ebp
mov ebp, r12d
and r11d, 0xff000000
shr r14d, 0x18
xor ebp, ecx
xor r14d, r13d
and ebp, 0xff0000
movzx r14d, r14b
or r11d, ebp
mov ebp, r8d
xor ebp, r10d
movzx ebp, bpl
or r11d, ebp
mov ebp, r9d
xor ebp, edx
and ebp, 0xff00
or r11d, ebp
mov ebp, eax
shl ebp, 8
mov dword [rsp + 0xb8], r11d
xor ebp, r12d
and ebp, 0xff000000
or ebp, r14d
mov r14d, ecx
shl r14d, 8
xor r14d, r9d
and r14d, 0xff0000
or ebp, r14d
mov r14d, edx
shl r14d, 8
xor r14d, r10d
and r14d, 0xff00
or ebp, r14d
mov r14d, r8d
mov dword [rsp + 0xbc], ebp
mov ebp, eax
shr r14d, 0x10
shl ebp, 0x10
xor r14d, r12d
xor ebp, r9d
movzx r14d, r14b
and ebp, 0xff000000
or ebp, r14d
mov r14d, ecx
shl r14d, 0x10
shl eax, 0x18
shr r8d, 8
xor r14d, r10d
xor eax, r10d
shr ecx, 8
and r14d, 0xff0000
xor r8d, r9d
and eax, 0xff000000
xor ecx, r13d
or ebp, r14d
mov r14d, edx
movzx r8d, r8b
shr edx, 8
shr r14d, 0x10
or eax, r8d
and ecx, 0xff0000
xor edx, r12d
xor r14d, r13d
or eax, ecx
and edx, 0xff00
and r14d, 0xff00
or eax, edx
or ebp, r14d
mov dword [rsp + 0xc0], ebp
mov dword [rsp + 0xc4], eax
dec r15d
jne 0x1401c807e
mov dword [rsp + 0x54], 0xd
lea r12, [0x1404862c0]
lea rbp, [0x140485ec0]
mov eax, dword [rsp + 0xc8]
lea rdi, [rsp + 0x7c]
lea rsi, [rsp + 0xf4]
mov ecx, 0xf
lea r13, [0x1404866c0]
lea rbx, [0x140485ac0]
xor eax, r11d
xor r11d, dword [rsp + 0xf4]
mov dword [rsp + 0xc8], eax
mov dword [rsp + 0x40], eax
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0xf4]
mov dword [rsp + 0xf4], r11d
rep movsd dword [rdi], dword [rsi]
mov rdi, rax
mov eax, r11d
mov rsi, qword [rsp + 0x38]
shr eax, 0x10
mov ecx, 0xf
rep movsd dword [rdi], dword [rsi]
movzx eax, al
mov rdi, qword [rsp + 0x38]
lea rsi, [rsp + 0x7c]
mov ecx, 0xf
rep movsd dword [rdi], dword [rsi]
mov edi, dword [r12 + rax*4]
mov eax, r11d
movzx eax, ah
mov eax, dword [rbp + rax*4]
mov ecx, dword [rsp + 0xbc]
mov esi, dword [rsp + 0xc0]
mov dword [rsp + 0x44], eax
movzx eax, r11b
shr r11d, 0x18
mov r15d, dword [rsp + 0x44]
mov r10d, dword [rbx + rax*4]
mov eax, dword [r13 + r11*4]
movzx r14d, sil
mov r14d, dword [rbx + r14*4]
xor eax, r10d
xor eax, edi
xor r15d, eax
mov eax, ecx
shr eax, 0x18
mov r8d, dword [r13 + rax*4]
movzx eax, ch
mov edx, dword [rbp + rax*4]
movzx eax, cl
shr ecx, 0x10
mov eax, dword [rbx + rax*4]
movzx ecx, cl
mov r11d, r8d
mov ebx, esi
xor r11d, eax
xor r11d, dword [r12 + rcx*4]
mov ecx, esi
xor eax, r14d
shr ecx, 0x18
xor eax, r10d
xor r11d, edx
mov r9d, dword [r13 + rcx*4]
mov ecx, esi
movzx esi, bh
shr ecx, 0x10
movzx ecx, cl
xor r8d, r9d
xor r9d, r14d
mov ecx, dword [r12 + rcx*4]
xor r9d, ecx
xor r9d, dword [rbp + rsi*4]
mov esi, dword [rsp + 0xc4]
mov r14d, esi
mov r10d, esi
mov ebx, esi
movzx esi, sil
shr r14d, 0x10
shr r10d, 0x18
movzx r14d, r14b
mov r10d, dword [r13 + r10*4]
mov r14d, dword [r12 + r14*4]
xor r8d, r10d
xor ecx, r14d
xor ecx, edi
movzx edi, bh
mov ebx, dword [rsp + 0x44]
mov edi, dword [rbp + rdi*4]
xor edx, edi
xor edx, ebx
lea rbx, [0x140485ac0]
xor r10d, dword [rbx + rsi*4]
mov esi, r11d
lea rbx, [0x140485ac0]
xor r10d, r14d
xor esi, ecx
mov r14d, edx
xor r10d, edi
mov edi, r9d
and esi, 0xff0000
xor edi, edx
shl r14d, 8
and edi, 0xff00
xor r14d, r10d
or esi, edi
mov edi, eax
and r14d, 0xff00
xor edi, r10d
movzx edi, dil
or esi, edi
mov edi, r15d
xor edi, r8d
and edi, 0xff000000
or esi, edi
mov edi, ecx
shl edi, 8
mov dword [rsp + 0xb8], esi
xor edi, r9d
and edi, 0xff0000
or edi, r14d
mov r14d, r8d
shl r14d, 8
xor r14d, r11d
and r14d, 0xff000000
or edi, r14d
mov r14d, eax
shr r14d, 0x18
xor r14d, r15d
movzx r14d, r14b
or edi, r14d
mov r14d, eax
mov dword [rsp + 0x44], edi
shr r14d, 0x10
mov dword [rsp + 0xbc], edi
mov edi, r8d
xor r14d, r11d
shl edi, 0x10
movzx r14d, r14b
xor edi, r9d
and edi, 0xff000000
or edi, r14d
mov r14d, ecx
shl r14d, 0x10
xor r14d, r10d
and r14d, 0xff0000
or edi, r14d
mov r14d, edx
shr r14d, 0x10
shl r8d, 0x18
shr eax, 8
xor r8d, r10d
shr ecx, 8
xor r14d, r15d
xor eax, r9d
and r8d, 0xff000000
xor ecx, r15d
shr edx, 8
movzx eax, al
xor edx, r11d
and ecx, 0xff0000
and r14d, 0xff00
or eax, r8d
and edx, 0xff00
or edi, r14d
mov r8d, 0x40
or eax, ecx
mov dword [rsp + 0x48], edi
mov ecx, 0xe
or eax, edx
mov dword [rsp + 0xc0], edi
lea rdi, [rsp + 0x7c]
mov rdx, qword [rsp + 0x38]
mov dword [rsp + 0x4c], eax
mov dword [rsp + 0xc4], eax
mov eax, dword [rsp + 0xc8]
xor eax, esi
xor esi, dword [rsp + 0xf8]
mov r15d, esi
mov dword [rsp + 0xf8], esi
lea rsi, [rsp + 0xf8]
rep movsd dword [rdi], dword [rsi]
mov dword [rsp + 0x50], eax
lea rcx, [rsp + 0xf0]
lea rsi, [rsp + 0x7c]
mov dword [rsp + 0xc8], eax
call sub.msvcrt.dll_memmove
mov eax, r15d
mov rdi, qword [rsp + 0x38]
mov ecx, 0xe
rep movsd dword [rdi], dword [rsi]
shr eax, 0x10
mov esi, r15d
movzx eax, al
shr esi, 0x18
mov edi, dword [r12 + rax*4]
mov eax, r15d
mov edx, dword [rsp + 0xbc]
movzx eax, ah
mov r11d, dword [rbp + rax*4]
movzx eax, r15b
movzx ecx, dl
mov r14d, dword [rbx + rax*4]
mov eax, dword [r13 + rsi*4]
mov ecx, dword [rbx + rcx*4]
mov esi, dword [rsp + 0xc0]
xor eax, r14d
xor eax, edi
movzx r15d, sil
xor eax, r11d
mov r15d, dword [rbx + r15*4]
mov ebx, esi
mov dword [rsp + 0x38], eax
mov eax, edx
shr eax, 0x18
mov r8d, dword [r13 + rax*4]
movzx eax, dh
shr edx, 0x10
movzx edx, dl
mov eax, dword [rbp + rax*4]
mov r10d, r8d
xor r10d, ecx
xor r10d, dword [r12 + rdx*4]
mov edx, esi
shr edx, 0x18
xor r10d, eax
mov r9d, dword [r13 + rdx*4]
mov edx, esi
movzx esi, bh
mov ebx, dword [rsp + 0x40]
xor r8d, r9d
shr edx, 0x10
xor r9d, r15d
xor ecx, r15d
movzx edx, dl
xor ecx, r14d
mov edx, dword [r12 + rdx*4]
xor r9d, edx
xor r9d, dword [rbp + rsi*4]
mov esi, dword [rsp + 0x40]
shr esi, 0x18
mov esi, dword [r13 + rsi*4]
mov r13d, dword [rsp + 0x40]
shr r13d, 0x10
xor r8d, esi
movzx r13d, r13b
mov r14d, r8d
mov r13d, dword [r12 + r13*4]
xor edx, r13d
xor edx, edi
movzx edi, bh
lea rbx, [0x140485ac0]
mov edi, dword [rbp + rdi*4]
xor eax, edi
xor eax, r11d
movzx r11d, byte [rsp + 0x40]
xor esi, dword [rbx + r11*4]
mov r11d, r10d
mov ebx, dword [rsp + 0x38]
xor esi, r13d
xor r11d, edx
mov r13d, eax
xor esi, edi
mov edi, r9d
and r11d, 0xff0000
shl r13d, 8
xor edi, eax
xor r13d, esi
and edi, 0xff00
or r11d, edi
mov edi, ecx
xor edi, esi
movzx edi, dil
or r11d, edi
mov edi, dword [rsp + 0x38]
xor edi, r8d
and edi, 0xff000000
or r11d, edi
mov edi, edx
shl edi, 8
mov dword [rsp + 0xb8], r11d
xor edi, r9d
and edi, 0xff0000
and r13d, 0xff00
shl r14d, 0x10
or edi, r13d
mov r13d, r8d
xor r14d, r9d
shl r8d, 0x18
shl r13d, 8
and r14d, 0xff000000
xor r8d, esi
xor r13d, r10d
and r8d, 0xff000000
and r13d, 0xff000000
or edi, r13d
mov r13d, ecx
shr r13d, 0x18
xor r13d, ebx
movzx r13d, r13b
or edi, r13d
mov r13d, ecx
shr ecx, 8
shr r13d, 0x10
xor ecx, r9d
mov dword [rsp + 0xbc], edi
xor r13d, r10d
movzx ecx, cl
movzx r13d, r13b
or ecx, r8d
or r14d, r13d
mov r13d, edx
shr edx, 8
shl r13d, 0x10
xor edx, ebx
xor r13d, esi
and edx, 0xff0000
and r13d, 0xff0000
or r14d, r13d
mov r13d, eax
shr r13d, 0x10
xor r13d, ebx
and r13d, 0xff00
or r13d, r14d
or edx, ecx
shr eax, 8
xor eax, r10d
mov dword [rsp + 0xc0], r13d
and eax, 0xff00
or eax, edx
mov dword [rsp + 0xc4], eax
dec dword [rsp + 0x54]
jne 0x1401c832c
mov ecx, dword [rsp + 0xc8]
mov edx, dword [rsp + 0x44]
xor ecx, r11d
xor edx, r11d
mov dword [rsp + 0xc8], ecx
mov dword [rsp + 0xf4], edx
bswap edi
mov rbx, qword [rsp + 0x28]
mov dword [rbx], edi
bswap r13d
mov dword [rbx + 4], r13d
bswap eax
mov dword [rbx + 8], eax
mov eax, ecx
bswap eax
mov dword [rbx + 0xc], eax
mov eax, edx
bswap eax
mov dword [rbx + 0x10], eax
mov eax, dword [rsp + 0x48]
bswap eax
mov dword [rbx + 0x14], eax
mov eax, dword [rsp + 0x4c]
bswap eax
cmp qword [rsp + 0x58], 8
mov dword [rbx + 0x18], eax
jne 0x1401c88c1
mov eax, dword [rsp + 0x50]
bswap eax
mov rcx, qword [rsp + 0x30]
mov dword [rbx + 0x1c], eax
add rsp, 0x138
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp 0x1401c7f66
mov rcx, qword [rsp + 0x30]
add rsp, 0x138
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp 0x1401c7f4a