Function at 0x100076a08
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov rax, qword [0x1004c4740]
xor rax, rsp
mov qword [rsp + 0x58], rax
xor eax, eax
mov qword [rsp + 0x30], r9
mov r13, rdx
mov qword [rsp + 0x28], rdx
mov r15d, ecx
mov byte [rsp + 0x48], 0
mov qword [rsp + 0x49], rax
mov dword [rsp + 0x51], eax
mov word [rsp + 0x55], ax
mov byte [rsp + 0x57], al
mov byte [rsp + 0x38], al
mov qword [rsp + 0x39], rax
mov dword [rsp + 0x41], eax
mov word [rsp + 0x45], ax
mov byte [rsp + 0x47], al
lea rbp, [0x1004a9500]
cmp r8d, 0x10
je 0x100076a81
mov ebx, 0x8007000d
jmp 0x100076cd7
xor r14d, r14d
lea r8, [rsp + 0x20]
lea edx, [r14 + 0x10]
call fcn.1000846a0
mov ebx, eax
test eax, eax
js 0x100076cd7
mov esi, dword [rsp + 0x20]
test esi, esi
je 0x100076b6e
xor edi, edi
xor r13d, r13d
test esi, esi
je 0x100076b69
mov rcx, qword [0x1004a9500]
xor r12d, r12d
xor ebp, ebp
cmp r14d, r15d
jae 0x100076bb3
mov rax, qword [rsp + 0x28]
mov al, byte [r13 + rax]
xor al, byte [rsp + rbp + 0x48]
mov byte [rsp + rbp + 0x38], al
lea eax, [r14 + 1]
cmp eax, r14d
jb 0x100076aef
inc r13
mov r14d, eax
xor ebx, ebx
jmp 0x100076b25
mov ebx, 0x80070216
lea rax, [0x1004a9500]
cmp rcx, rax
je 0x100076b25
test byte [rcx + 0x3c], 2
je 0x100076b25
mov rcx, qword [rcx + 0x30]
lea r8, [0x10003f9c0]
mov edx, 0xa
mov r9d, ebx
call fcn.10005c358
mov rcx, qword [0x1004a9500]
test ebx, ebx
js 0x100076cde
inc r12d
inc rbp
cmp r12d, 0x10
jb 0x100076ac1
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x38]
mov r8d, 0x10
call fcn.10007fb28
mov ebx, eax
test eax, eax
js 0x100076cd7
inc edi
cmp edi, esi
jb 0x100076ab5
lea rbp, [0x1004a9500]
mov r13, qword [rsp + 0x28]
xor ebx, ebx
test esi, esi
je 0x100076bc1
mov ecx, esi
shl ecx, 4
mov eax, ecx
shr eax, 4
cmp eax, esi
je 0x100076bbd
mov ebx, 0x80070216
mov rcx, qword [0x1004a9500]
cmp rcx, rbp
je 0x100076bca
test byte [rcx + 0x3c], 2
je 0x100076bca
mov rcx, qword [rcx + 0x30]
lea r8, [0x10003f9c0]
mov edx, 0xc
mov r9d, ebx
call fcn.10005c358
jmp 0x100076bc3
mov ebx, 0x80004005
jmp 0x100076cde
mov esi, ecx
jmp 0x100076bc3
xor esi, esi
mov rcx, qword [0x1004a9500]
test ebx, ebx
js 0x100076cde
mov edi, r15d
sub edi, esi
cmp edi, r15d
ja 0x100076be0
xor ebx, ebx
jmp 0x100076c13
mov ebx, 0x80070216
cmp rcx, rbp
je 0x100076c0f
test byte [rcx + 0x3c], 2
je 0x100076c0f
mov rcx, qword [rcx + 0x30]
lea r8, [0x10003f830]
mov edx, 0xb
mov r9d, ebx
call fcn.10005c358
mov rcx, qword [0x1004a9500]
mov edi, dword [rsp + 0x20]
test ebx, ebx
js 0x100076cde
cmp edi, 0x10
jae 0x100076bb3
xor eax, eax
xor ebp, ebp
movsxd r12, r14d
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rax
test edi, edi
je 0x100076c9f
lea rsi, [rsp + 0x38]
cmp r14d, r15d
jae 0x100076bb3
mov al, byte [r12 + r13]
mov byte [rsi], al
lea eax, [r14 + 1]
cmp eax, r14d
jb 0x100076c5c
inc r12
mov r14d, eax
xor ebx, ebx
jmp 0x100076c92
mov ebx, 0x80070216
lea rax, [0x1004a9500]
cmp rcx, rax
je 0x100076c92
test byte [rcx + 0x3c], 2
je 0x100076c92
mov rcx, qword [rcx + 0x30]
lea r8, [0x10003f9c0]
mov edx, 0xa
mov r9d, ebx
call fcn.10005c358
mov rcx, qword [0x1004a9500]
test ebx, ebx
js 0x100076cde
inc ebp
inc rsi
cmp ebp, edi
jb 0x100076c3a
xor ecx, ecx
mov eax, edi
lea edx, [rcx + 0x10]
mov byte [rsp + rax + 0x38], 0x80
mov r9, rdx
mov al, byte [rsp + rcx + 0x48]
inc rcx
xor byte [rsp + rcx + 0x37], al
sub r9, 1
jne 0x100076cae
mov r8d, edx
mov rdx, qword [rsp + 0x30]
lea rcx, [rsp + 0x38]
call fcn.10007fb28
mov ebx, eax
test eax, eax
jns 0x100076d08
mov rcx, qword [0x1004a9500]
lea rax, [0x1004a9500]
cmp rcx, rax
je 0x100076d08
test byte [rcx + 0x3c], 2
je 0x100076d08
mov rcx, qword [rcx + 0x30]
lea r8, [0x10003f810]
mov edx, 0xa
mov r9d, ebx
call fcn.10005c358
mov eax, ebx
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.10027d5f4
mov rbx, qword [rsp + 0xa8]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret