Function at 0x140001000
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov rbx, qword [rsp + 0x90]
lea edi, [r8 - 0x12d0]
mov r13d, r9d
mov dword [rsp + 0x70], edi
xor r15d, r15d
lea r14d, [r8 + 0x4ed]
mov esi, edx
mov dword [rsp + 0x78], r14d
xor r13d, 0x82a
lea eax, [rdi + 0xf65]
xor esi, 0x117c
lea r12d, [rcx - 0x713]
mov dword [rsp + 0x80], r12d
lea ebp, [r9 - 0xe5a]
lea r11d, [r15 + 1]
mov r10d, edi
lea r9d, [rdx + 0xb8]
cmp r14d, eax
je 0x140001416
lea eax, [r9 + 0x1095]
mov r8d, ebp
mov edx, r13d
mov dword [rsp + 0x28], eax
xor r8d, 0xc6f
mov qword [rsp + 0x20], rbx
xor edx, 0xf7d
lea r9d, [rdi + 0xf03]
lea ecx, [rdi + 0xc6f]
call fcn.14000234c
mov ecx, 0x13caa4
sub esi, 0x3ae
sub ecx, dword [rbx + 0x148]
xor edi, 0xbd6
sub ecx, dword [rbx + 0x118]
mov r9d, eax
add dword [rbx + 0x60], ecx
mov rcx, qword [section..data]
cmp dword [rcx + 0x50], 0xc482
jae 0x1400010f1
lea rax, [0x140015f40]
mov qword [rcx + 0xe0], rax
mov r8, r15
mov r11d, 1
mov eax, dword [rbx + 0x5c]
sub eax, dword [rbx + 0x70]
add dword [rbx + 0x98], eax
mov ecx, dword [0x140013050]
mov eax, dword [rbx + 0x3c]
xor ecx, 0xfff35868
imul eax, ecx
mov dword [rbx + 0x3c], eax
mov eax, r11d
sub eax, dword [0x140013014]
add dword [0x14001301c], eax
mov rcx, qword [section..data]
mov eax, dword [rcx + 0xb8]
xor eax, dword [rcx + 0x5c]
xor eax, 0x111098
mov dword [rcx + 0x5c], eax
mov rax, qword [rbx + 0xe0]
movzx ecx, byte [rbx + 0x60]
movzx edx, byte [rax + r8]
add r8, 4
mov rax, qword [rbx + 0xe8]
imul edx, ecx
movsxd rcx, dword [rbx + 0x90]
mov byte [rcx + rax], dl
add dword [rbx + 0x90], r11d
mov eax, dword [rbx + 0x94]
sub eax, dword [0x140013180]
add eax, 0xf5689
add dword [rbx + 0xd0], eax
mov eax, dword [0x140013150]
sub eax, dword [0x14001316c]
mov rcx, qword [section..data]
add eax, 0xb994c
or dword [rcx + 0x170], eax
mov eax, dword [rbx + 4]
mov ecx, dword [rbx + 0x3c]
xor ecx, dword [0x14001316c]
sub ecx, 0x1754d9
imul eax, ecx
mov dword [rbx + 4], eax
mov rdx, qword [section..data]
mov eax, dword [0x140013158]
add eax, 0xffec2437
mov ecx, dword [rdx + 0x98]
imul ecx, eax
mov dword [rdx + 0x98], ecx
mov rcx, qword [section..data]
mov eax, dword [rcx + 4]
sub eax, dword [0x14001304c]
add eax, 0x191739
or dword [rcx + 0x140], eax
mov rax, qword [section..data]
mov edx, dword [rbx + 0x170]
mov ecx, dword [rax + 0x128]
add ecx, dword [rax + 0x100]
xor ecx, r11d
or dword [rbx + 0xb8], ecx
mov eax, dword [0x140013060]
add eax, 0xfff0a977
add edx, eax
mov eax, dword [0x1400130c8]
imul eax, edx
mov dword [0x1400130c8], eax
cmp r8, 0x1c3e0
jl 0x1400010fa
mov rax, qword [section..data]
sub r14d, 0x114b
mov ecx, dword [rbx + 0x11c]
mov dword [rsp + 0x78], r14d
cmp dword [rax + 0x3c], ecx
jb 0x140001273
mov eax, dword [rbx + 0xa8]
sub eax, 0x73ecade3
mov dword [rbx + 0x60], eax
jmp 0x140001288
mov edx, dword [0x140013110]
add edx, dword [rbx + 0xb8]
xor edx, 0x11ce6
add dword [rbx + 0x50], edx
mov rax, qword [section..data]
cmp dword [rax + 0x40], 0x4225
jae 0x1400012ac
mov eax, dword [rbx + 0x98]
xor eax, dword [rbx + 0x118]
add eax, dword [rbx + 0x78]
or dword [rbx + 0x74], eax
jmp 0x1400012ba
lea rcx, [0x140013190]
mov qword [rax + 0xe0], rcx
mov r10, r15
mov eax, dword [0x140013150]
mov edx, dword [0x140013050]
add eax, 0x9fd04
add edx, eax
mov eax, dword [rbx + 0x140]
imul eax, edx
mov dword [rbx + 0x140], eax
mov rcx, qword [section..data]
mov rax, qword [rcx + 0xe0]
mov r8d, dword [r10 + rax]
add r10, 4
mov eax, dword [rbx + 0xa8]
sub eax, dword [rbx + 0x118]
add dword [rcx + 0x78], eax
movsxd rcx, dword [rbx + 0x90]
imul r8d, dword [rbx + 0x60]
mov rax, qword [rbx + 0xe8]
mov edx, r8d
shr edx, 8
mov byte [rcx + rax], dl
add dword [rbx + 0x90], r11d
movsxd rcx, dword [rbx + 0x90]
mov rax, qword [rbx + 0xe8]
mov byte [rcx + rax], r8b
add dword [rbx + 0x90], r11d
mov rax, qword [section..data]
mov ecx, dword [rax + 0xcc]
mov eax, dword [rbx + 0xb8]
add eax, 0xfff0b9cf
add ecx, eax
mov eax, dword [rbx + 0x24]
xor dword [rbx + 0xd0], ecx
mov rcx, qword [section..data]
xor dword [rcx + 0xac], eax
mov rax, qword [section..data]
mov ecx, dword [rax + 0x8c]
sub ecx, 0x1afac8e5
add dword [rbx + 4], ecx
mov ecx, 0x19173a
mov rax, qword [section..data]
sub ecx, dword [rax + 0x3c]
add dword [rbx + 0x74], ecx
mov ecx, dword [0x1400130cc]
mov eax, dword [0x140013150]
xor eax, dword [0x1400130a4]
sub eax, 0x2aa95
or ecx, eax
mov dword [0x1400130cc], ecx
sub ecx, dword [rbx + 0xc]
mov eax, dword [rbx + 0x15c]
sub ecx, 0xa0d22
sub eax, 0xe43e0
or ecx, eax
or dword [rbx + 0xc], ecx
cmp r10, 0x2d30
jl 0x1400012bd
mov r10d, dword [rsp + 0x70]
xor ebp, 0x670
cmp dword [rbx + 0x100], 0x33ef
jne 0x140001400
add dword [0x140013084], 0xffff9124
jmp 0x140001416
mov ecx, dword [rbx + 0x170]
mov rax, qword [section..data]
sub ecx, 0xbe79d
mov dword [rax + 0x60], ecx
mov eax, r12d
xor eax, 0xd55
cmp edi, eax
je 0x140001707
lea eax, [r12 + 0xfae]
cmp ebp, eax
je 0x1400015b5
mov rax, qword [section..data]
mov ecx, dword [rax + 0x24]
sub ecx, dword [rax + 0xa8]
add ecx, 0x46feb7aa
xor dword [rbx + 0x60], ecx
cmp dword [rbx + 0x3c], 0x7f73
jbe 0x140001466
lea rax, [0x1400060a0]
mov qword [rbx + 0xe0], rax
movsxd rdx, dword [rbx + 0x90]
mov rax, qword [rbx + 0xe0]
mov r9d, dword [rax + r15]
add r15, 4
mov eax, dword [rbx + 0xac]
xor eax, dword [0x140013014]
imul r9d, dword [rbx + 0x60]
xor eax, r11d
mov dword [rbx + 0xac], eax
mov rax, qword [section..data]
mov r8d, r9d
mov rcx, qword [rax + 0xe8]
shr r8d, 0x10
mov byte [rdx + rcx], r8b
mov r8d, 0xa0d22
add dword [rbx + 0x90], r11d
mov edx, r9d
mov rax, qword [section..data]
shr edx, 8
mov ecx, dword [rax + 0x140]
xor ecx, dword [rbx + 0x128]
mov eax, dword [rbx + 0xd0]
xor ecx, 0x2aa94
xor eax, dword [rbx + 0xbc]
sub eax, r8d
mov dword [rbx + 0x128], ecx
mov rcx, qword [section..data]
add dword [rcx + 0xc], eax
mov rcx, qword [section..data]
mov eax, dword [rcx + 0xf8]
add eax, dword [rbx + 0xd0]
add dword [rcx + 0x11c], eax
movsxd rcx, dword [rbx + 0x90]
mov rax, qword [rbx + 0xe8]
mov byte [rcx + rax], dl
add dword [rbx + 0x90], r11d
mov eax, dword [rbx + 0x15c]
movsxd rcx, dword [rbx + 0x90]
sub eax, 0xe43e0
add dword [rbx + 0xa8], eax
mov rax, qword [rbx + 0xe8]
mov byte [rcx + rax], r9b
add dword [rbx + 0x90], r11d
mov eax, dword [rbx + 0xbc]
sub eax, r8d
or dword [rbx + 0x158], eax
mov eax, r11d
sub eax, dword [rbx + 0x94]
add dword [rbx + 0x170], eax
mov eax, dword [rbx + 0x170]
xor eax, 0xf568a
or dword [rbx + 0x100], eax
mov eax, dword [0x14001304c]
xor eax, 0x19173a
sub dword [rbx + 0x11c], eax
mov eax, dword [rbx + 0x11c]
cmp r15, 0xb50
jl 0x140001466
xor eax, 0x22c
mov dword [rbx + 0x60], eax
jmp 0x140001707
mov eax, dword [rbx + 0xcc]
mov r12d, r14d
xor eax, dword [0x1400130c0]
imul eax, ebp
cmp r14d, eax
jae 0x140001698
mov r14d, dword [rsp + 0x80]
mov r15d, r13d
or r15d, ebp
and r15d, r9d
or esi, 0xfc7
mov eax, dword [rbx + 0x16c]
mov edx, r15d
mov r8d, dword [0x14001304c]
mov rcx, rbx
mov r9d, dword [rbx + 0xc8]
add r8d, 0xfffffc83
imul eax, r10d
and r9d, edi
add r9d, dword [rbx + 0xb0]
xor r8d, 0x728
mov dword [rsp + 0x20], eax
call fcn.140003d70
mov rcx, qword [section..data]
mov r10d, eax
add r12d, 2
mov edx, dword [rcx + 0xb0]
xor edx, dword [rbx + 0x94]
mov ecx, dword [rbx + 0x8c]
imul ecx, edx
mov dword [rbx + 0x8c], ecx
mov ecx, edi
mov rdx, qword [section..data]
xor ecx, r13d
sub edi, ecx
mov ecx, dword [rbx + 0x54]
xor ecx, dword [rdx + 0x5c]
xor ecx, r14d
mov dword [rdx + 0x5c], ecx
mov rax, qword [section..data]
mov dword [rax + 0xc8], esi
mov eax, dword [rbx + 0xcc]
xor eax, dword [0x1400130c0]
imul eax, ebp
cmp r12d, eax
jb 0x1400015e7
mov r14d, dword [rsp + 0x78]
mov dword [rsp + 0x70], r10d
mov rdx, qword [section..data]
mov ecx, dword [rdx + 0x158]
add ecx, 0xfffff09b
add ecx, dword [rbx + 0xbc]
cmp dword [rbx + 0x3c], ecx
ja 0x140001707
mov eax, edi
and eax, 0xe5a
cmp dword [0x1400130a4], eax
ja 0x140001707
mov ecx, dword [rdx + 0xd0]
and ecx, 0x17bd
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rax, qword [section..data]
mov r8d, dword [rbx + 0xc8]
mov edx, dword [0x140013100]
sub r8d, r14d
sub edx, dword [rbx + 0x78]
add r8d, 0x135e
mov ecx, dword [rax + 0x40]
sub edx, dword [rsp + 0x70]
sub ecx, edi
call qword [sym.imp.KERNEL32.dll_HeapCreate]
lea eax, [rdi + 0x31f]
mov rbx, qword [rsp + 0x88]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret