Function at 0x140100ba0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xf8
cmp ecx, 0x400
mov qword [rsp + 0x150], r8
mov r14, r9
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x88], 0
jne 0x140100be6
cmp edx, 0xa0
je 0x140100c03
mov r11d, 0x2c
mov eax, r11d
add rsp, 0xf8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test r8, r8
sete al
test r9, r9
jne 0x140100c12
test al, al
jne 0x140100c24
cmp r14, 0x13
jbe 0x140100c1c
test al, al
je 0x140100c24
mov r11d, 0x2d
jmp 0x140100bec
cmp r14, 0x14
mov ecx, 0x14
cmovae rcx, r14
call fcn.1400eb9c0
test rax, rax
mov rbx, rax
je 0x140101188
mov ecx, 2
lea r13, [rsp + 0xd0]
lea rsi, [rsp + 0xb0]
call fcn.140121c90
mov ecx, 0x400
mov qword [rsp + 0x48], rax
call fcn.140121da0
mov ecx, 0x400
mov r15, rax
call fcn.140121da0
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x88]
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x150], 0
je 0x140100ddd
mov rdx, qword [rsp + 0x150]
mov r8, r14
mov rcx, rbx
mov r12d, r14d
call sub.msvcrt.dll_memcpy
sub r12d, 1
js 0x140100d06
movsxd rdx, r12d
add rdx, rbx
lea eax, [r12 - 1]
add byte [rdx], 1
cdqe
je 0x140100d02
jmp 0x140100d06
movzx edi, byte [rbx + rax]
lea edx, [rdi + 1]
mov byte [rbx + rax], dl
sub rax, 1
test dl, dl
jne 0x140100d06
test eax, eax
jns 0x140100cf0
mov r8, qword [rsp + 0x150]
mov r9, r14
mov rdx, r13
mov ecx, 2
call fcn.1400fce50
mov r9, r14
mov r8, rbx
mov rdx, rsi
mov ecx, 2
call fcn.1400fce50
xor eax, eax
movzx edx, byte [r13 + rax]
xor dl, byte [rsi + rax]
mov byte [r13 + rax], dl
add rax, 1
cmp rax, 0x14
jne 0x140100d33
mov rcx, qword [rsp + 0x88]
call fcn.140121dc0
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x20], 0
mov r9d, 0x14
mov r8, r13
mov edx, 5
mov qword [rsp + 0x88], 0
call fcn.14011e220
test eax, eax
mov r11d, eax
jne 0x140100f14
mov rcx, qword [rsp + 0x88]
mov edx, 0x9f
call fcn.14011a7d0
mov rcx, qword [rsp + 0x88]
xor edx, edx
call fcn.14011a750
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x88]
xor r9d, r9d
mov qword [rsp + 0x20], 0
mov r8d, 0x40
call fcn.1400feb10
test eax, eax
jne 0x140100f6b
mov rdi, qword [rsp + 0x70]
mov edx, 0x14
mov r12d, 0x13
mov r14d, 0x14
mov rcx, rdi
call fcn.140116510
mov rax, qword [rsp + 0x90]
mov edx, 0x13
mov qword [rsp + 0x150], rdi
mov qword [rbx], rax
mov rax, qword [rsp + 0x98]
mov qword [rbx + 8], rax
mov eax, dword [rsp + 0xa0]
mov dword [rbx + 0x10], eax
jmp 0x140100cdb
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
xor r9d, r9d
mov qword [rsp + 0x20], 0
mov r8d, 0x40
call fcn.1400feb10
test eax, eax
je 0x140101150
cmp qword [rsp + 0x160], 0
mov r11d, ebp
mov r14, qword [rsp + 0x158]
je 0x140100e8c
mov rax, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x160]
mov qword [rsp + 0x88], 0
mov qword [rdi], rax
cmp qword [rsp + 0x168], 0
je 0x140100eb0
mov rdi, qword [rsp + 0x50]
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x50], 0
mov qword [rax], rdi
cmp qword [rsp + 0x170], 0
je 0x140100ec9
mov rax, qword [rsp + 0x170]
mov edi, dword [rsp + 0x64]
mov dword [rax], edi
cmp qword [rsp + 0x178], 0
je 0x140100f14
cmp qword [rsp + 0x180], 0
je 0x140100f14
mov rdx, qword [rsp + 0x150]
mov rcx, rbx
mov r8, r14
mov dword [rsp + 0x38], r11d
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x178]
mov r11d, dword [rsp + 0x38]
mov qword [rax], rbx
mov rax, qword [rsp + 0x180]
xor ebx, ebx
mov qword [rax], r14
mov rcx, qword [rsp + 0x80]
mov dword [rsp + 0x38], r11d
call fcn.140121dc0
mov rcx, qword [rsp + 0x68]
call fcn.140121dc0
mov rcx, r15
call fcn.140121dc0
mov rcx, qword [rsp + 0x50]
call fcn.140121dc0
mov rcx, qword [rsp + 0x88]
call fcn.140121dc0
mov rcx, rbx
call fcn.1400ebb20
mov rcx, qword [rsp + 0x48]
call fcn.140121dc0
mov r11d, dword [rsp + 0x38]
jmp 0x140100bec
mov ecx, 0x400
call fcn.140121da0
mov qword [rsp + 0x50], rax
movsxd rax, r12d
mov qword [rsp + 0x158], r14
lea rdi, [rax - 1]
mov qword [rsp + 0x78], r13
mov dword [rsp + 0x64], 0
mov r13, rax
mov rcx, rdi
mov r14, rdi
sub rcx, rax
mov qword [rsp + 0x40], rcx
xor edx, edx
mov rcx, r15
xor ebp, ebp
xor edi, edi
call fcn.140121bc0
test r12d, r12d
js 0x140100fe7
lea rdx, [rbx + r13]
add byte [rdx], 1
jne 0x140100fe7
mov rcx, qword [rsp + 0x40]
lea rax, [rbx + r14]
add rcx, rbx
jmp 0x140100fe2
movzx edx, byte [rax]
sub rax, 1
add edx, 1
mov byte [rax + 1], dl
test dl, dl
jne 0x140100fe7
cmp rcx, rax
jne 0x140100fd1
mov r9, qword [rsp + 0x158]
mov r8, rbx
mov rdx, rsi
mov ecx, 2
call fcn.1400fce50
mov rcx, qword [rsp + 0x80]
call fcn.140121dc0
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x20], 0
mov r9d, 0x14
mov r8, rsi
mov edx, 5
mov qword [rsp + 0x80], 0
call fcn.14011e220
test eax, eax
jne 0x140101180
cmp edi, 6
je 0x14010107a
mov rcx, qword [rsp + 0x80]
mov r8d, ebp
add edi, 1
add ebp, 0xa0
mov rdx, rcx
call fcn.14011ac50
mov r8, qword [rsp + 0x80]
mov rdx, r15
mov rcx, r15
call fcn.14011a070
jmp 0x140100fb5
mov rcx, qword [rsp + 0x80]
mov edx, 0x3f
mov ebp, eax
call fcn.14011a890
mov rcx, qword [rsp + 0x80]
mov r8d, 0x3c0
mov rdx, rcx
call fcn.14011ac50
mov r8, qword [rsp + 0x80]
mov rdx, r15
mov rcx, r15
call fcn.14011a070
mov rdi, qword [rsp + 0x68]
xor edx, edx
mov rcx, rdi
call fcn.140121bc0
mov rcx, rdi
mov edx, 0x3ff
call fcn.14011a7d0
mov rdx, rdi
mov rcx, rdi
mov r8, r15
call fcn.14011a070
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x80]
mov r8d, 1
call fcn.14011c460
mov rcx, qword [rsp + 0x80]
mov rdx, rdi
mov r8, rcx
call fcn.14011bdc0
mov rcx, qword [rsp + 0x80]
mov r8d, 1
mov rdx, rcx
call fcn.14011a3c0
mov rdx, rdi
mov rdi, qword [rsp + 0x50]
mov r8, qword [rsp + 0x80]
mov rcx, rdi
call fcn.14011a550
mov rcx, rdi
call fcn.14011a670
cmp eax, 0x3fe
ja 0x140100e2e
add dword [rsp + 0x64], 1
mov eax, dword [rsp + 0x64]
cmp eax, 0x1000
jne 0x140100fa7
mov r14, qword [rsp + 0x158]
mov r13, qword [rsp + 0x78]
jmp 0x140100cad
mov r11d, eax
jmp 0x140100f14
call fcn.14014d590
xor r15d, r15d
mov r11d, eax
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x48], 0
jmp 0x140100f14