Function at 0x140071a10
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x48], edx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x80
mov ebp, edx
mov rdi, r8
mov eax, r9d
add rbp, rcx
add rax, r8
mov esi, edx
mov qword [rsp + 0x58], rax
mov r13, rcx
cmp r9d, 0x12c
jb 0x14007211b
cmp rcx, 0x10001
ja 0x140071a68
mov eax, 0xc00000bb
jmp 0x140072120
mov r12, qword [rsp + 0xe8]
xor edx, edx
mov rcx, r12
mov r8d, 0x40000
call sub.msvcrt.dll_memset
xor edx, edx
mov qword [rsp + 0x48], rdi
lea rdi, [r12 + 0x147b20]
mov qword [r12 + 0x40000], rdx
mov qword [rsp + 0x60], rdx
mov rbx, r13
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0xf8], rdx
mov qword [rsp + 0xf0], rdi
mov dword [rsp + 0x70], esi
nop dword [rax + rax]
mov qword [rsp + 0x38], rdx
lea rcx, [r12 + 0x147220]
mov qword [rsp + 0x40], rdx
mov r8d, 0x800
xor edx, edx
call sub.msvcrt.dll_memset
lea rax, [rbx + 0x10000]
mov rcx, rbp
cmp rax, rbp
lea r14, [rdi + 4]
mov r15d, 1
cmovbe rcx, rax
add rsi, rbx
mov qword [rsp + 0x50], rcx
lea r11, [rcx - 5]
cmp r11, rsi
mov qword [rsp + 0x30], r11
cmovb rsi, r11
mov qword [rsp + 0xc0], rsi
cmp rbx, r13
jne 0x140071b3c
movzx eax, byte [rbx]
mov r15d, 2
inc dword [r12 + rax*4 + 0x147220]
movzx eax, byte [rbx]
inc rbx
mov byte [r14], al
inc r14
cmp rbx, r11
jae 0x140072001
mov rax, rbx
lea rsi, [0x140000000]
sub rax, r13
mov r10, rbx
cqo
and edx, 0x1ffff
lea r9, [rdx + rax]
and r9d, 0x1ffff
sub r9, rdx
nop dword [rax + rax]
movzx ecx, byte [r10 + 2]
lea r8, [r10 + 1]
movzx edx, word [rsi + rcx*2 + 0xb1930]
movzx ecx, byte [r8]
movzx eax, word [rsi + rcx*2 + 0xb1730]
xor rdx, rax
movzx eax, byte [r10]
movzx eax, word [rsi + rax*2 + 0xb1530]
xor rdx, rax
mov rax, qword [r12 + rdx*8]
mov qword [r12 + rdx*8], r10
mov r10, r8
mov qword [r12 + r9*8 + 0x40000], rax
inc r9
and r9d, 0x1ffff
cmp r8, r11
jb 0x140071b70
mov rsi, qword [rsp + 0xc0]
cmp rbx, rsi
jb 0x140071bef
cmp rbx, r11
jae 0x140071ffc
mov r8, rbx
lea rcx, [rsp + 0x60]
mov rdx, r11
call fcn.14006fb30
mov qword [rsp + 0xc0], rax
mov esi, dword [rbx]
mov rax, rbx
sub rax, r13
cqo
and edx, 0x1ffff
add rax, rdx
and eax, 0x1ffff
sub rax, rdx
mov rdx, qword [r12 + rax*8 + 0x40000]
lea rcx, [rdx + 0x10000]
cmp rcx, rbx
jbe 0x140071eab
mov eax, dword [rdx]
xor eax, esi
jne 0x140071c40
xor eax, eax
lea rdi, [rbx - 0x10000]
mov r10, rbx
mov r9d, eax
lea r11d, [rax + 3]
jmp 0x140071d1f
test eax, 0xffffff
je 0x140071ccf
sub rdx, r13
mov rax, rdx
cqo
and edx, 0x1ffff
add rax, rdx
and eax, 0x1ffff
sub rax, rdx
mov rdx, qword [r12 + rax*8 + 0x40000]
lea rax, [rdx + 0x10000]
cmp rax, rbx
jbe 0x140071eab
mov eax, dword [rdx]
xor eax, esi
je 0x140071c28
test eax, 0xffffff
je 0x140071ccf
sub rdx, r13
mov rax, rdx
cqo
and edx, 0x1ffff
add rax, rdx
and eax, 0x1ffff
sub rax, rdx
mov rdx, qword [r12 + rax*8 + 0x40000]
lea rax, [rdx + 0x10000]
cmp rax, rbx
jbe 0x140071eab
mov eax, dword [rdx]
xor eax, esi
je 0x140071c28
test eax, 0xffffff
jne 0x140071eab
xor eax, eax
mov qword [rsp + 0xf8], rdx
mov r10, rbx
lea rdi, [rbx - 0x10000]
mov r9d, eax
lea r11d, [rax + 3]
sub rdx, r13
mov rax, rdx
cqo
and edx, 0x1ffff
add rax, rdx
and eax, 0x1ffff
sub rax, rdx
mov rdx, qword [r12 + rax*8 + 0x40000]
cmp rdx, rdi
jbe 0x140071e7f
cmp esi, dword [rdx]
jne 0x140071e72
mov rbx, r10
mov rax, rbx
add rdx, 4
add rax, 0x24
add rbx, 4
cmp rax, rbp
jae 0x140071daa
mov ecx, dword [rdx]
mov eax, dword [rbx]
cmp eax, ecx
jne 0x140071e34
mov ecx, dword [rdx + 4]
mov eax, dword [rbx + 4]
cmp eax, ecx
jne 0x140071e2c
mov ecx, dword [rdx + 8]
mov eax, dword [rbx + 8]
cmp eax, ecx
jne 0x140071e22
mov ecx, dword [rdx + 0xc]
mov eax, dword [rbx + 0xc]
cmp eax, ecx
jne 0x140071e18
mov ecx, dword [rdx + 0x10]
mov eax, dword [rbx + 0x10]
cmp eax, ecx
jne 0x140071e0e
mov ecx, dword [rdx + 0x14]
mov eax, dword [rbx + 0x14]
cmp eax, ecx
jne 0x140071e04
mov ecx, dword [rdx + 0x18]
mov eax, dword [rbx + 0x18]
cmp eax, ecx
jne 0x140071dfa
mov ecx, dword [rdx + 0x1c]
mov eax, dword [rbx + 0x1c]
cmp eax, ecx
jne 0x140071df0
add rbx, 0x20
add rdx, 0x20
lea rax, [rbx + 0x20]
cmp rax, rbp
jb 0x140071d33
cmp rbx, rbp
jae 0x140071dc2
nop
movzx eax, byte [rdx]
cmp byte [rbx], al
jne 0x140071dc2
inc rbx
inc rdx
cmp rbx, rbp
jb 0x140071db0
sub rbx, r10
mov rax, rdx
sub rdx, rbx
cmp rbx, r11
jbe 0x140071e6f
mov qword [rsp + 0xf8], rdx
mov r11, rbx
mov rcx, rdx
cmp rax, r10
ja 0x140071e87
jmp 0x140071e72
add rbx, 0x1c
add rdx, 0x1c
jmp 0x140071e34
add rbx, 0x18
add rdx, 0x18
jmp 0x140071e34
add rbx, 0x14
add rdx, 0x14
jmp 0x140071e34
add rbx, 0x10
add rdx, 0x10
jmp 0x140071e34
add rbx, 0xc
add rdx, 0xc
jmp 0x140071e34
add rbx, 8
add rdx, 8
jmp 0x140071e34
add rbx, 4
add rdx, 4
cmp al, cl
jne 0x140071dc2
movzx eax, byte [rdx + 1]
cmp byte [rbx + 1], al
je 0x140071e4c
inc rbx
inc rdx
jmp 0x140071dc2
movzx eax, byte [rdx + 2]
cmp byte [rbx + 2], al
je 0x140071e62
add rbx, 2
add rdx, 2
jmp 0x140071dc2
add rbx, 3
add rdx, 3
jmp 0x140071dc2
add r9, rbx
inc r9
cmp r9, 0xc
jb 0x140071cea
mov rcx, qword [rsp + 0xf8]
mov rdx, r10
lea rbx, [r10 + r11]
sub rdx, rcx
cmp r11, 3
jne 0x140071ef7
cmp rdx, 0x1000
jbe 0x140071ef7
mov rdi, qword [rsp + 0xf0]
mov rbx, r10
movzx eax, sil
inc rbx
inc dword [r12 + rax*4 + 0x147220]
mov byte [r14], al
inc r14
lea eax, [r15 + r15]
test r15d, r15d
jle 0x140071ed6
mov r11, qword [rsp + 0x30]
mov r15d, eax
jmp 0x140071bc1
mov dword [rdi], eax
mov r11, qword [rsp + 0x30]
mov rdi, r14
mov qword [rsp + 0xf0], r14
mov r15d, 1
add r14, 4
jmp 0x140071bc1
cmp rdx, 0x100
jb 0x140071f1c
mov rax, rdx
lea rcx, [0x140000000]
shr rax, 8
movzx ecx, byte [rax + rcx + 0xb1b30]
add rcx, 8
jmp 0x140071f2b
lea rax, [0x140000000]
movzx ecx, byte [rdx + rax + 0xb1b30]
add qword [rsp + 0x38], rcx
lea r8, [r14 + 1]
mov eax, 1
shl rax, cl
sub rdx, rax
shl cl, 4
lea rax, [r11 - 3]
cmp rax, 0xf
jb 0x140071fb0
add cl, 0xf
sub rax, 0xf
mov byte [r14], cl
lea r14, [r8 + 1]
cmp rax, 0xff
jae 0x140071f71
mov byte [r8], al
mov eax, 1
add qword [rsp + 0x40], rax
jmp 0x140071fb8
add rax, 0xf
mov byte [r8], 0xff
cmp rax, 0x10000
jae 0x140071f95
mov word [r14], ax
mov eax, 3
add qword [rsp + 0x40], rax
lea r14, [r8 + 3]
jmp 0x140071fb8
xor r9d, r9d
mov dword [r8 + 3], eax
mov eax, 7
mov word [r14], r9w
add qword [rsp + 0x40], rax
lea r14, [r8 + 7]
jmp 0x140071fb8
add cl, al
mov byte [r14], cl
mov r14, r8
movzx eax, cl
inc dword [r12 + rax*4 + 0x147620]
lea eax, [r15*2 + 1]
mov word [r14], dx
add r14, 2
test r15d, r15d
jle 0x140071fed
mov rdi, qword [rsp + 0xf0]
mov r15d, eax
mov r11, qword [rsp + 0x30]
jmp 0x140071bc1
mov rdx, qword [rsp + 0xf0]
mov dword [rdx], eax
jmp 0x140071ed8
mov rcx, qword [rsp + 0x50]
cmp rbx, rcx
jae 0x140072049
nop word [rax + rax]
movzx eax, byte [rbx]
inc dword [r12 + rax*4 + 0x147220]
movzx eax, byte [rbx]
inc rbx
mov byte [r14], al
inc r14
lea eax, [r15 + r15]
test r15d, r15d
jle 0x140072035
mov r15d, eax
jmp 0x140072044
mov dword [rdi], eax
mov r15d, 1
mov rdi, r14
add r14, 4
cmp rbx, rcx
jb 0x140072010
test r15d, r15d
jle 0x14007205d
nop
lea r15d, [r15*2 + 1]
test r15d, r15d
jg 0x140072050
lea eax, [r15*2 + 1]
mov dword [rdi], eax
cmp rbx, rbp
jb 0x14007207b
inc dword [r12 + 0x147620]
mov edi, 1
jmp 0x14007207f
xor eax, eax
mov edi, eax
lea rcx, [r12 + 0x140000]
call fcn.140070a90
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x48]
add rdx, 0x1f
add rdx, rax
mov rax, qword [rsp + 0x40]
shr rdx, 5
lea rax, [rax + rdx*4]
lea rdx, [rcx + 0x102]
add rdx, rax
cmp rdx, qword [rsp + 0x58]
jae 0x14007211b
lea rdx, [r12 + 0x147b20]
mov dword [rsp + 0x20], edi
mov r9, rcx
mov qword [rsp + 0xf0], rdx
lea rcx, [r12 + 0x140000]
mov r8, r14
call fcn.140070ea0
mov esi, dword [rsp + 0x100]
test edi, edi
lea rdi, [r12 + 0x147b20]
mov qword [rsp + 0x48], rax
mov rcx, rax
mov edx, 0
je 0x140071ac0
mov rax, qword [rsp + 0xe0]
sub ecx, dword [rsp + 0xd0]
mov dword [rax], ecx
xor eax, eax
jmp 0x140072120
mov eax, 0xc0000023
mov rbx, qword [rsp + 0xc8]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret