Function at 0x140100a90
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 0x140100ad6
cmp edx, 0xa0
je 0x140100af3
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 0x140100b02
test al, al
jne 0x140100b14
cmp r14, 0x13
jbe 0x140100b0c
test al, al
je 0x140100b14
mov r11d, 0x2d
jmp 0x140100adc
cmp r14, 0x14
mov ecx, 0x14
cmovae rcx, r14
call fcn.1400eb8b0
test rax, rax
mov rbx, rax
je 0x140101078
mov ecx, 2
lea r13, [rsp + 0xd0]
lea rsi, [rsp + 0xb0]
call fcn.140121b80
mov ecx, 0x400
mov qword [rsp + 0x48], rax
call fcn.140121c90
mov ecx, 0x400
mov r15, rax
call fcn.140121c90
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 0x140100ccd
mov rdx, qword [rsp + 0x150]
mov r8, r14
mov rcx, rbx
mov r12d, r14d
call sub.msvcrt.dll_memcpy
sub r12d, 1
js 0x140100bf6
movsxd rdx, r12d
add rdx, rbx
lea eax, [r12 - 1]
add byte [rdx], 1
cdqe
je 0x140100bf2
jmp 0x140100bf6
movzx edi, byte [rbx + rax]
lea edx, [rdi + 1]
mov byte [rbx + rax], dl
sub rax, 1
test dl, dl
jne 0x140100bf6
test eax, eax
jns 0x140100be0
mov r8, qword [rsp + 0x150]
mov r9, r14
mov rdx, r13
mov ecx, 2
call fcn.1400fcd40
mov r9, r14
mov r8, rbx
mov rdx, rsi
mov ecx, 2
call fcn.1400fcd40
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 0x140100c23
mov rcx, qword [rsp + 0x88]
call fcn.140121cb0
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.14011e110
test eax, eax
mov r11d, eax
jne 0x140100e04
mov rcx, qword [rsp + 0x88]
mov edx, 0x9f
call fcn.14011a6c0
mov rcx, qword [rsp + 0x88]
xor edx, edx
call fcn.14011a640
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x88]
xor r9d, r9d
mov qword [rsp + 0x20], 0
mov r8d, 0x40
call fcn.1400fea00
test eax, eax
jne 0x140100e5b
mov rdi, qword [rsp + 0x70]
mov edx, 0x14
mov r12d, 0x13
mov r14d, 0x14
mov rcx, rdi
call fcn.140116400
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 0x140100bcb
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
xor r9d, r9d
mov qword [rsp + 0x20], 0
mov r8d, 0x40
call fcn.1400fea00
test eax, eax
je 0x140101040
cmp qword [rsp + 0x160], 0
mov r11d, ebp
mov r14, qword [rsp + 0x158]
je 0x140100d7c
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 0x140100da0
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 0x140100db9
mov rax, qword [rsp + 0x170]
mov edi, dword [rsp + 0x64]
mov dword [rax], edi
cmp qword [rsp + 0x178], 0
je 0x140100e04
cmp qword [rsp + 0x180], 0
je 0x140100e04
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.140121cb0
mov rcx, qword [rsp + 0x68]
call fcn.140121cb0
mov rcx, r15
call fcn.140121cb0
mov rcx, qword [rsp + 0x50]
call fcn.140121cb0
mov rcx, qword [rsp + 0x88]
call fcn.140121cb0
mov rcx, rbx
call fcn.1400eba10
mov rcx, qword [rsp + 0x48]
call fcn.140121cb0
mov r11d, dword [rsp + 0x38]
jmp 0x140100adc
mov ecx, 0x400
call fcn.140121c90
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.140121ab0
test r12d, r12d
js 0x140100ed7
lea rdx, [rbx + r13]
add byte [rdx], 1
jne 0x140100ed7
mov rcx, qword [rsp + 0x40]
lea rax, [rbx + r14]
add rcx, rbx
jmp 0x140100ed2
movzx edx, byte [rax]
sub rax, 1
add edx, 1
mov byte [rax + 1], dl
test dl, dl
jne 0x140100ed7
cmp rcx, rax
jne 0x140100ec1
mov r9, qword [rsp + 0x158]
mov r8, rbx
mov rdx, rsi
mov ecx, 2
call fcn.1400fcd40
mov rcx, qword [rsp + 0x80]
call fcn.140121cb0
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.14011e110
test eax, eax
jne 0x140101070
cmp edi, 6
je 0x140100f6a
mov rcx, qword [rsp + 0x80]
mov r8d, ebp
add edi, 1
add ebp, 0xa0
mov rdx, rcx
call fcn.14011ab40
mov r8, qword [rsp + 0x80]
mov rdx, r15
mov rcx, r15
call fcn.140119f60
jmp 0x140100ea5
mov rcx, qword [rsp + 0x80]
mov edx, 0x3f
mov ebp, eax
call fcn.14011a780
mov rcx, qword [rsp + 0x80]
mov r8d, 0x3c0
mov rdx, rcx
call fcn.14011ab40
mov r8, qword [rsp + 0x80]
mov rdx, r15
mov rcx, r15
call fcn.140119f60
mov rdi, qword [rsp + 0x68]
xor edx, edx
mov rcx, rdi
call fcn.140121ab0
mov rcx, rdi
mov edx, 0x3ff
call fcn.14011a6c0
mov rdx, rdi
mov rcx, rdi
mov r8, r15
call fcn.140119f60
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x80]
mov r8d, 1
call fcn.14011c350
mov rcx, qword [rsp + 0x80]
mov rdx, rdi
mov r8, rcx
call fcn.14011bcb0
mov rcx, qword [rsp + 0x80]
mov r8d, 1
mov rdx, rcx
call fcn.14011a2b0
mov rdx, rdi
mov rdi, qword [rsp + 0x50]
mov r8, qword [rsp + 0x80]
mov rcx, rdi
call fcn.14011a440
mov rcx, rdi
call fcn.14011a560
cmp eax, 0x3fe
ja 0x140100d1e
add dword [rsp + 0x64], 1
mov eax, dword [rsp + 0x64]
cmp eax, 0x1000
jne 0x140100e97
mov r14, qword [rsp + 0x158]
mov r13, qword [rsp + 0x78]
jmp 0x140100b9d
mov r11d, eax
jmp 0x140100e04
call fcn.14014d490
xor r15d, r15d
mov r11d, eax
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x48], 0
jmp 0x140100e04