Function at 0x1400b0f30
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x10]
sub rsp, 0x110
mov rax, qword [0x14010d010]
xor rax, rsp
mov qword [rbp], rax
mov r13, rdx
mov rsi, rcx
mov qword [rsp + 0x78], rdx
xor r12d, r12d
mov r15d, r12d
mov dword [rsp + 0x48], r12d
mov dword [rsp + 0x40], r12d
mov qword [rsp + 0x30], r12
cmp byte [rcx + 0x60], r12b
je 0x1400b19a7
lea r14, [0x140102b50]
nop dword [rax + rax]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x20]
mov dword [rsp + 0x20], 0xa
lea r9, [rsp + 0x58]
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x40]
mov rcx, qword [rsi + 0x90]
call qword [sym.imp.KERNEL32.dll_GetQueuedCompletionStatus]
test eax, eax
je 0x1400b199d
cmp qword [rsp + 0x58], 0
jne 0x1400b0fe0
mov rax, qword [rsi]
mov rdx, qword [rsp + 0x30]
mov rcx, rsi
call qword [rax + 0x30]
jmp 0x1400b199d
lea rbx, [rsi + 0x68]
mov qword [rsp + 0x38], rbx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection_1]
nop
lea rdi, [rsi + 0x30]
mov qword [rsp + 0x60], rdi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection_1]
nop
cmp qword [rsi + 0x28], 0
je 0x1400b1342
mov rcx, qword [rsi + 0x18]
dec rcx
and rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x10]
mov rcx, qword [rax + rcx*8]
mov qword [rbp - 8], r12
mov rcx, qword [rcx + 0x38]
test rcx, rcx
je 0x1400b103e
mov rax, qword [rcx]
lea rdx, [rbp - 0x40]
call qword [rax]
mov qword [rbp - 8], rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection_1]
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x1400b1a05
mov rax, qword [rcx]
call qword [rax + 0x10]
mov r14d, eax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection_1]
lea ecx, [r14 + 0x19]
cmp ecx, 0x1a
ja 0x1400b10be
mov eax, 0x6000801
bt eax, ecx
jae 0x1400b10be
mov rcx, qword [rsi + 0x18]
dec rcx
and rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x10]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x1400b10a5
mov rax, qword [rcx]
cmp rcx, rbx
setne dl
call qword [rax + 0x20]
mov qword [rbx + 0x38], r12
sub qword [rsi + 0x28], 1
jne 0x1400b10b5
mov qword [rsi + 0x20], r12
jmp 0x1400b1307
inc qword [rsi + 0x20]
jmp 0x1400b1307
cmp r14d, 0xfffffff6
je 0x1400b1307
mov rax, qword [rsp + 0x30]
cmp byte [rax + 0x1c], 0
je 0x1400b1307
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x80], 0
mov ecx, 0x40
call fcn.1400d83b8
mov r8, rax
mov qword [rbp - 0x70], 0x3c
mov qword [rbp - 0x68], 0x3f
xorps xmm0, xmm0
xor eax, eax
movups xmmword [r8], xmm0
movups xmmword [r8 + 0x10], xmm0
movups xmmword [r8 + 0x20], xmm0
mov qword [r8 + 0x30], rax
mov dword [r8 + 0x38], eax
mov byte [r8 + 0x3c], al
mov qword [rbp - 0x80], r8
or r15d, 1
lea rax, [rbp - 0x80]
cmp qword [rbp - 0x68], 0x10
jb 0x1400b1140
movsx ecx, byte [r8]
jmp 0x1400b1147
movsx ecx, byte [rax]
lea r8, [rbp - 0x80]
add ecx, 0x11069fa
mov r9, r12
lea r12, [0x140102b10]
sub r8, r12
nop word [rax + rax]
lea rdx, [r9 + r12]
mov eax, ecx
shr eax, 4
xor al, byte [rdx]
mov byte [rdx + r8], al
imul ecx, ecx, 0xf4f5
add ecx, 0xdd5b54b
mov eax, ecx
shr eax, 4
xor al, byte [rdx + 1]
mov byte [rdx + r8 + 1], al
imul ecx, ecx, 0xf4f5
add ecx, 0xdd5b54b
add r9, 2
cmp r9, 0x3c
jb 0x1400b1160
xor r12d, r12d
lea rbx, [rbp - 0x80]
cmp qword [rbp - 0x68], 0x10
cmovae rbx, qword [rbp - 0x80]
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x48], 0xf
mov byte [rbp - 0x60], r12b
lea ecx, [r12 + 0x30]
call fcn.1400d83b8
mov rdx, rax
mov qword [rbp - 0x50], 0x2f
mov qword [rbp - 0x48], 0x2f
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rdx], xmm0
movups xmmword [rdx + 0x10], xmm0
mov qword [rdx + 0x20], rax
mov qword [rdx + 0x28], rax
mov qword [rbp - 0x60], rdx
or r15d, 2
lea rax, [rbp - 0x60]
cmp qword [rbp - 0x48], 0x10
jb 0x1400b120c
movsx eax, byte [rdx]
jmp 0x1400b1213
movsx eax, byte [rax]
lea rdx, [rbp - 0x60]
add eax, 0x11069fa
lea r9, [0x140102aa0]
sub r9, rdx
mov r8d, 0x2f
nop dword [rax + rax]
mov ecx, eax
shr ecx, 4
xor cl, byte [r9 + rdx]
mov byte [rdx], cl
imul eax, eax, 0xe7f5
add eax, 0xdd5b54b
lea rdx, [rdx + 1]
sub r8, 1
jne 0x1400b1230
lea rcx, [rbp - 0x60]
cmp qword [rbp - 0x48], 0x10
cmovae rcx, qword [rbp - 0x60]
mov dword [rsp + 0x28], 0xb2
mov qword [rsp + 0x20], rbx
lea r9d, [r8 + 2]
lea r8d, [r9 - 1]
lea rdx, [0x1400fd690]
call fcn.1400afdc0
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x1400b12bb
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400b12b6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400b19f9
call fcn.1400d83b0
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x48], 0xf
mov byte [rbp - 0x60], 0
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x1400b1307
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400b1301
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400b19ff
call fcn.1400d83b0
nop
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x1400b1320
mov rax, qword [rcx]
lea rdx, [rbp - 0x40]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
cmp r14d, 0xfffffff2
jne 0x1400b1331
cmp qword [rsi + 0x28], 0
jne 0x1400b1011
mov rbx, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x60]
lea r14, [0x140102b50]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection_1]
mov rcx, qword [rsp + 0x30]
cmp byte [rcx + 0x1c], 0
je 0x1400b1994
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x30], 0
jne 0x1400b1994
mov rdx, qword [rcx + 0x10]
mov eax, dword [rsp + 0x40]
test rdx, rdx
jne 0x1400b1611
cmp eax, 8
jne 0x1400b1611
mov eax, dword [rcx + 0xc]
test eax, eax
je 0x1400b15df
mov ecx, eax
call fcn.1400dee90
mov rcx, qword [rsp + 0x30]
mov qword [rcx + 0x10], rax
mov rdx, qword [rsp + 0x30]
mov r9d, dword [rdx + 0xc]
mov r8, rax
mov rcx, rsi
call fcn.1400b0e00
test al, al
jne 0x1400b1994
mov rax, qword [rsp + 0x30]
cmp byte [rax + 0x1c], 0
je 0x1400b1994
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x80], 0
mov ecx, 0x40
call fcn.1400d83b8
mov r8, rax
mov qword [rbp - 0x70], 0x3c
mov qword [rbp - 0x68], 0x3f
xorps xmm0, xmm0
xor eax, eax
movups xmmword [r8], xmm0
movups xmmword [r8 + 0x10], xmm0
movups xmmword [r8 + 0x20], xmm0
mov qword [r8 + 0x30], rax
mov dword [r8 + 0x38], eax
mov byte [r8 + 0x3c], al
mov qword [rbp - 0x80], r8
or r15d, 4
lea rax, [rbp - 0x80]
cmp qword [rbp - 0x68], 0x10
jb 0x1400b1432
movsx ecx, byte [r8]
jmp 0x1400b143e
movsx ecx, byte [rax]
lea r8, [rbp - 0x80]
mov rbx, qword [rsp + 0x38]
add ecx, 0x1338271
mov r9, r12
sub r8, r14
nop word [rax + rax]
lea rdx, [r9 + r14]
mov eax, ecx
shr eax, 5
xor al, byte [rdx]
mov byte [rdx + r8], al
imul ecx, ecx, 0xf4f5
add ecx, 0xf9df356
mov eax, ecx
shr eax, 5
xor al, byte [rdx + 1]
mov byte [rdx + r8 + 1], al
imul ecx, ecx, 0xf4f5
add ecx, 0xf9df356
add r9, 2
cmp r9, 0x3c
jb 0x1400b1450
lea rdi, [rbp - 0x80]
cmp qword [rbp - 0x68], 0x10
cmovae rdi, qword [rbp - 0x80]
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x48], 0xf
mov byte [rbp - 0x60], 0
mov edx, 0x27
lea rcx, [rbp - 0x60]
call fcn.1400acf30
or r15d, 8
lea rax, [rbp - 0x60]
cmp qword [rbp - 0x48], 0x10
jb 0x1400b14d6
mov rdx, qword [rbp - 0x60]
movsx ecx, byte [rdx]
jmp 0x1400b14e2
movsx ecx, byte [rax]
lea rdx, [rbp - 0x60]
mov rbx, qword [rsp + 0x38]
add ecx, 0x1338271
lea r9, [0x140102a00]
sub r9, rdx
mov r8d, 0x27
nop dword [rax + rax]
mov eax, ecx
shr eax, 5
xor al, byte [r9 + rdx]
mov byte [rdx], al
imul ecx, ecx, 0xdff5
add ecx, 0xf9df356
lea rdx, [rdx + 1]
sub r8, 1
jne 0x1400b1500
lea rcx, [rbp - 0x60]
cmp qword [rbp - 0x48], 0x10
cmovae rcx, qword [rbp - 0x60]
mov dword [rsp + 0x28], 0xc9
mov qword [rsp + 0x20], rdi
lea r9d, [r8 + 2]
lea r8d, [r9 - 1]
lea rdx, [0x1400fd690]
call fcn.1400afdc0
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x1400b158c
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400b1587
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400b1a0b
call fcn.1400d83b0
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x48], 0xf
mov byte [rbp - 0x60], 0
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x1400b1994
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400b198e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400b19ed
jmp 0x1400b198e
mov eax, dword [rcx + 0x20]
mov dword [rsp + 0x50], eax
mov qword [rsp + 0x68], r12
lea rdx, [rcx + 8]
mov rcx, qword [r13 + 0x38]
test rcx, rcx
je 0x1400b1a11
mov rax, qword [rcx]
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x68]
call qword [rax + 0x10]
jmp 0x1400b1762
cmp dword [rcx + 0xc], eax
jne 0x1400b1648
mov eax, dword [rcx + 0x20]
mov dword [rsp + 0x48], eax
mov qword [rsp + 0x70], rdx
lea rdx, [rcx + 8]
mov rcx, qword [r13 + 0x38]
test rcx, rcx
je 0x1400b1a17
mov rax, qword [rcx]
lea r9, [rsp + 0x48]
lea r8, [rsp + 0x70]
call qword [rax + 0x10]
jmp 0x1400b1762
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x80], 0
mov edx, 0x3c
lea rcx, [rbp - 0x80]
call fcn.1400acf30
or r15d, 0x10
lea rax, [rbp - 0x80]
cmp qword [rbp - 0x68], 0x10
jb 0x1400b1683
mov r9, qword [rbp - 0x80]
movsx ecx, byte [r9]
jmp 0x1400b168f
movsx ecx, byte [rax]
lea r9, [rbp - 0x80]
mov rbx, qword [rsp + 0x38]
add ecx, 0x14bec81
mov r8, r12
lea rdi, [0x140102ad0]
sub r9, rdi
nop dword [rax]
nop word [rax + rax]
lea rdx, [r8 + rdi]
mov eax, ecx
shr eax, 0xa
xor al, byte [rdx]
mov byte [rdx + r9], al
imul ecx, ecx, 0xf4f5
add ecx, 0x10db5626
mov eax, ecx
shr eax, 0xa
xor al, byte [rdx + 1]
mov byte [rdx + r9 + 1], al
imul ecx, ecx, 0xf4f5
add ecx, 0x10db5626
add r8, 2
cmp r8, 0x3c
jb 0x1400b16b0
lea rax, [rbp - 0x80]
cmp qword [rbp - 0x68], 0x10
cmovae rax, qword [rbp - 0x80]
mov dword [rsp + 0x28], 0xd9
mov qword [rsp + 0x20], rax
mov r9d, 2
lea r8d, [r9 - 1]
lea rdx, [0x1400fd690]
lea rcx, [0x1401029d0]
call fcn.1400afdc0
nop
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x1400b1762
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400b175d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400b1a1d
call fcn.1400d83b0
cmp byte [rsi + 0x60], 0
je 0x1400b1994
mov rdi, qword [rsp + 0x30]
mov rcx, qword [rdi + 0x10]
call fcn.1400dee7c
mov qword [rdi + 0x10], r12
mov rdx, qword [rsp + 0x30]
lea r8, [rdx + 8]
mov r9d, 8
mov rcx, rsi
call fcn.1400b0e00
test al, al
jne 0x1400b1994
mov rax, qword [rsp + 0x30]
cmp byte [rax + 0x1c], 0
je 0x1400b1994
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x80], 0
mov edx, 0x3c
lea rcx, [rbp - 0x80]
call fcn.1400acf30
or r15d, 0x20
lea rax, [rbp - 0x80]
cmp qword [rbp - 0x68], 0x10
jb 0x1400b17e7
mov r9, qword [rbp - 0x80]
movsx ecx, byte [r9]
jmp 0x1400b17f3
movsx ecx, byte [rax]
lea r9, [rbp - 0x80]
mov rbx, qword [rsp + 0x38]
add ecx, 0x159a82a
mov r8, r12
lea r14, [0x140102a30]
sub r9, r14
nop word [rax + rax]
lea rdx, [r8 + r14]
mov eax, ecx
shr eax, 0xa
xor al, byte [rdx]
mov byte [rdx + r9], al
imul ecx, ecx, 0xf4f5
add ecx, 0x118dddbb
mov eax, ecx
shr eax, 0xa
xor al, byte [rdx + 1]
mov byte [rdx + r9 + 1], al
imul ecx, ecx, 0xf4f5
add ecx, 0x118dddbb
add r8, 2
cmp r8, 0x3c
jb 0x1400b1810
lea r14, [0x140102b50]
lea rdi, [rbp - 0x80]
cmp qword [rbp - 0x68], 0x10
cmovae rdi, qword [rbp - 0x80]
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x48], 0xf
mov byte [rbp - 0x60], 0
mov edx, 0x27
lea rcx, [rbp - 0x60]
call fcn.1400acf30
or r15d, 0x40
lea rax, [rbp - 0x60]
cmp qword [rbp - 0x48], 0x10
jb 0x1400b189d
mov rdx, qword [rbp - 0x60]
movsx ecx, byte [rdx]
jmp 0x1400b18a9
movsx ecx, byte [rax]
lea rdx, [rbp - 0x60]
mov rbx, qword [rsp + 0x38]
add ecx, 0x159a82a
lea r9, [0x140102a70]
sub r9, rdx
mov r8d, 0x27
nop
mov eax, ecx
shr eax, 0xa
xor al, byte [r9 + rdx]
mov byte [rdx], al
imul ecx, ecx, 0xdff5
add ecx, 0x118dddbb
lea rdx, [rdx + 1]
sub r8, 1
jne 0x1400b18c0
lea rcx, [rbp - 0x60]
cmp qword [rbp - 0x48], 0x10
cmovae rcx, qword [rbp - 0x60]
mov dword [rsp + 0x28], 0xe2
mov qword [rsp + 0x20], rdi
lea r9d, [r8 + 2]
lea r8d, [r9 - 1]
lea rdx, [0x1400fd690]
call fcn.1400afdc0
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x1400b194c
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400b1947
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400b19e7
call fcn.1400d83b0
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x48], 0xf
mov byte [rbp - 0x60], 0
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x1400b1994
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400b198e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400b19f3
call fcn.1400d83b0
nop
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection_1]
cmp byte [rsi + 0x60], 0
jne 0x1400b0f90
mov rcx, qword [r13 + 0x38]
test rcx, rcx
je 0x1400b19c0
mov rax, qword [rcx]
cmp rcx, r13
setne dl
call qword [rax + 0x20]
mov qword [r13 + 0x38], r12
mov rcx, qword [rbp]
xor rcx, rsp
call fcn.1400d8390
mov rbx, qword [rsp + 0x160]
add rsp, 0x110
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1400ded50
nop
call fcn.1400ded50
int3
call fcn.1400ded50
nop
call fcn.1400ded50
nop
call fcn.1400ded50
int3
call fcn.1400d8098
nop
call fcn.1400ded50
nop
call fcn.1400d8098
int3
call fcn.1400d8098
int3
call fcn.1400ded50
int3