Function at 0x1400088b0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa8
mov qword [rsp + 0x98], r9
mov qword [rsp + 0x90], rdx
cmp r8, qword [rsp + 0x110]
jne 0x140008e1d
test r8, r8
je 0x140008dae
mov rbx, rcx
lea rax, [rcx + 0x40]
mov qword [rsp + 0x88], rax
mov r10, qword [rcx + 0x80]
mov ebp, dword [rcx + 0x30]
mov eax, dword [rcx]
mov dword [rsp + 0x5c], eax
mov eax, dword [rcx + 4]
mov dword [rsp + 0x58], eax
mov r14d, dword [rcx + 8]
mov eax, dword [rcx + 0xc]
mov dword [rsp + 0x54], eax
mov eax, dword [rcx + 0x10]
mov dword [rsp + 0x50], eax
mov eax, dword [rcx + 0x14]
mov dword [rsp + 0x4c], eax
mov r13d, dword [rcx + 0x18]
mov r12d, dword [rcx + 0x1c]
mov eax, dword [rcx + 0x20]
mov dword [rsp + 0x48], eax
mov eax, dword [rcx + 0x24]
mov dword [rsp + 0x44], eax
mov eax, dword [rcx + 0x28]
mov dword [rsp + 0x40], eax
mov eax, dword [rcx + 0x2c]
mov dword [rsp + 0x3c], eax
mov eax, dword [rcx + 0x34]
mov dword [rsp + 0x38], eax
mov r15d, dword [rcx + 0x38]
mov eax, dword [rcx + 0x3c]
mov dword [rsp + 0x34], eax
xor r11d, r11d
mov qword [rsp + 0x78], r8
mov qword [rsp + 0x80], rcx
mov dword [rsp + 0x30], r14d
mov dword [rsp + 0x68], r13d
mov dword [rsp + 0x64], r12d
mov dword [rsp + 0x60], r15d
jmp 0x1400089a3
add r10, rax
mov qword [rbx + 0x80], r10
cmp r11, r8
jae 0x140008dae
mov rsi, r11
cmp r10, 0x40
jne 0x140008c77
mov qword [rsp + 0xa0], rsi
mov dword [rsp + 0x70], 0xa
mov r10d, dword [rsp + 0x34]
mov r11d, r15d
mov r15d, dword [rsp + 0x38]
mov dword [rsp + 0x6c], ebp
mov edi, ebp
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x24], eax
mov edx, dword [rsp + 0x44]
mov ebp, dword [rsp + 0x48]
mov esi, r12d
mov r12d, r13d
mov r13d, dword [rsp + 0x4c]
mov ebx, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x54]
mov eax, r14d
mov r14d, dword [rsp + 0x58]
mov ecx, dword [rsp + 0x5c]
nop dword [rax + rax]
add ecx, ebx
add r14d, r13d
add eax, r12d
add r8d, esi
xor edi, ecx
xor r15d, r14d
xor r11d, eax
rol edi, 0x10
rol r15d, 0x10
rol r11d, 0x10
xor r10d, r8d
rol r10d, 0x10
mov r9d, ebp
add r9d, edi
add edx, r15d
mov dword [rsp + 0x2c], edx
mov ebp, dword [rsp + 0x24]
add ebp, r11d
mov dword [rsp + 0x24], ebp
mov edx, dword [rsp + 0x28]
add edx, r10d
xor ebx, r9d
xor r13d, dword [rsp + 0x2c]
xor r12d, ebp
rol ebx, 0xc
rol r13d, 0xc
rol r12d, 0xc
mov ebp, edx
mov dword [rsp + 0x28], edx
mov edx, dword [rsp + 0x2c]
xor esi, ebp
rol esi, 0xc
add ecx, ebx
add r14d, r13d
add eax, r12d
add r8d, esi
xor edi, ecx
xor r15d, r14d
xor r11d, eax
rol edi, 8
rol r15d, 8
rol r11d, 8
xor r10d, r8d
rol r10d, 8
add r9d, edi
mov ebp, r9d
add edx, r15d
mov r9d, dword [rsp + 0x24]
add r9d, r11d
mov dword [rsp + 0x24], r9d
add dword [rsp + 0x28], r10d
xor ebx, ebp
xor r13d, edx
xor r12d, r9d
rol ebx, 7
rol r13d, 7
rol r12d, 7
xor esi, dword [rsp + 0x28]
rol esi, 7
add ecx, r13d
add r14d, r12d
add eax, esi
add r8d, ebx
mov dword [rsp + 0x2c], r8d
xor r10d, ecx
xor edi, r14d
xor r15d, eax
rol r10d, 0x10
rol edi, 0x10
rol r15d, 0x10
xor r11d, r8d
rol r11d, 0x10
mov r8d, ebp
mov r9d, dword [rsp + 0x24]
add r9d, r10d
mov dword [rsp + 0x24], r9d
mov ebp, dword [rsp + 0x28]
add ebp, edi
add r8d, r15d
add edx, r11d
xor r13d, r9d
mov r9d, r8d
mov r8d, dword [rsp + 0x2c]
xor r12d, ebp
xor esi, r9d
rol r13d, 0xc
rol r12d, 0xc
rol esi, 0xc
xor ebx, edx
rol ebx, 0xc
add ecx, r13d
add r14d, r12d
add eax, esi
mov dword [rsp + 0x74], eax
add r8d, ebx
xor r10d, ecx
xor edi, r14d
xor r15d, eax
rol r10d, 8
rol edi, 8
rol r15d, 8
xor r11d, r8d
rol r11d, 8
mov eax, dword [rsp + 0x24]
add eax, r10d
add ebp, edi
add r9d, r15d
add edx, r11d
mov dword [rsp + 0x24], eax
xor r13d, eax
mov eax, dword [rsp + 0x74]
mov dword [rsp + 0x28], ebp
xor r12d, ebp
mov ebp, r9d
xor esi, r9d
rol r13d, 7
rol r12d, 7
rol esi, 7
xor ebx, edx
rol ebx, 7
dec dword [rsp + 0x70]
jne 0x140008a10
add ecx, dword [rsp + 0x5c]
mov r9, qword [rsp + 0x80]
mov dword [r9 + 0x40], ecx
add r14d, dword [rsp + 0x58]
mov dword [r9 + 0x44], r14d
mov r14d, dword [rsp + 0x30]
add eax, r14d
mov dword [r9 + 0x48], eax
add r8d, dword [rsp + 0x54]
mov dword [r9 + 0x4c], r8d
add ebx, dword [rsp + 0x50]
mov dword [r9 + 0x50], ebx
add r13d, dword [rsp + 0x4c]
mov dword [r9 + 0x54], r13d
mov r13d, dword [rsp + 0x68]
add r12d, r13d
mov dword [r9 + 0x58], r12d
mov r12d, dword [rsp + 0x64]
add esi, r12d
mov dword [r9 + 0x5c], esi
add ebp, dword [rsp + 0x48]
mov dword [r9 + 0x60], ebp
add edx, dword [rsp + 0x44]
mov dword [r9 + 0x64], edx
mov eax, dword [rsp + 0x24]
add eax, dword [rsp + 0x40]
mov dword [r9 + 0x68], eax
mov eax, dword [rsp + 0x28]
add eax, dword [rsp + 0x3c]
mov dword [r9 + 0x6c], eax
mov ebp, dword [rsp + 0x6c]
add edi, ebp
mov dword [r9 + 0x70], edi
add r15d, dword [rsp + 0x38]
mov dword [r9 + 0x74], r15d
mov r15d, dword [rsp + 0x60]
add r11d, r15d
mov dword [r9 + 0x78], r11d
add r10d, dword [rsp + 0x34]
mov dword [r9 + 0x7c], r10d
inc ebp
mov dword [r9 + 0x30], ebp
je 0x140008e03
mov rbx, r9
mov qword [r9 + 0x80], 0
xor r10d, r10d
mov r8, qword [rsp + 0x78]
mov rsi, qword [rsp + 0xa0]
mov ecx, 0x40
sub rcx, r10
mov rax, r8
sub rax, rsi
cmp rcx, rax
cmovb rax, rcx
mov r11, rax
add r11, rsi
jb 0x140008dc2
cmp r11, r8
ja 0x140008dd6
cmp r10, 0x40
ja 0x140008ded
test rax, rax
jle 0x140008990
mov rcx, qword [rsp + 0x98]
add rcx, rsi
add rsi, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x88]
add rdx, r10
cmp rax, 8
jae 0x140008ce0
xor edi, edi
jmp 0x140008d90
cmp rax, 0x10
jae 0x140008d27
xor edi, edi
mov r9, rdi
mov rdi, rax
and rdi, 0xfffffffffffffff8
mov r14, rsi
nop word cs:[rax + rax]
mov rsi, qword [rdx + r9]
xor rsi, qword [r14 + r9]
mov qword [rcx + r9], rsi
add r9, 8
cmp rdi, r9
jne 0x140008d00
cmp rax, rdi
mov rsi, r14
mov r14d, dword [rsp + 0x30]
jne 0x140008d90
jmp 0x140008990
mov rdi, rax
and rdi, 0xfffffffffffffff0
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rdx]
xorps xmm1, xmm0
movups xmmword [rcx], xmm1
cmp rdi, 0x10
je 0x140008d79
movups xmm0, xmmword [rsi + 0x10]
movups xmm1, xmmword [rdx + 0x10]
xorps xmm1, xmm0
movups xmmword [rcx + 0x10], xmm1
cmp rdi, 0x20
je 0x140008d79
movups xmm0, xmmword [rsi + 0x20]
movups xmm1, xmmword [rdx + 0x20]
xorps xmm1, xmm0
movups xmmword [rcx + 0x20], xmm1
cmp rdi, 0x30
je 0x140008d79
movups xmm0, xmmword [rsi + 0x30]
movups xmm1, xmmword [rdx + 0x30]
xorps xmm1, xmm0
movups xmmword [rcx + 0x30], xmm1
cmp rax, rdi
je 0x140008990
test al, 8
jne 0x140008ce8
nop word [rax + rax]
movzx r9d, byte [rdx + rdi]
xor r9b, byte [rsi + rdi]
mov byte [rcx + rdi], r9b
lea r9, [rdi + 1]
mov rdi, r9
cmp rax, r9
jne 0x140008d90
jmp 0x140008990
add rsp, 0xa8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, [0x14002dce8]
mov rcx, rsi
mov rdx, r11
call fcn.14002bdf0
ud2
lea rax, [0x14002dce8]
mov rcx, r11
mov rdx, r8
mov r8, rax
call fcn.14002bd70
ud2
lea r8, [0x14002dd00]
mov edx, 0x40
mov rcx, r10
call fcn.14002bcf0
ud2
lea rcx, str.counter_is_exhausted
lea r8, [0x14002dc88]
mov edx, 0x14
call fcn.14002a3b0
ud2
lea rcx, str.assertion_failed:_input.len____output.len__
lea r8, [0x14002dcd0]
mov edx, 0x2d
call fcn.14002b920
ud2