Function at 0x1400ab17c
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x300]
sub rsp, 0x400
mov rax, qword [0x1404e8f18]
xor rax, rsp
mov qword [rbp + 0x2f0], rax
mov rsi, rdx
xor r12d, r12d
mov dword [rsp + 0x24], r12d
lea edi, [r12 + 1]
cmp ecx, edi
jne 0x1400ab78f
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x20]
cmp word [rcx + 0xd0], di
jbe 0x1400ab953
mov rdx, qword [rcx + 0xd8]
xorps xmm0, xmm0
movups xmmword [rbp + 0x190], xmm0
mov qword [rbp + 0x1a0], r12
mov qword [rbp + 0x1a8], r12
or r14, 0xffffffffffffffff
mov r8, r14
inc r8
cmp word [rdx + r8*2], r12w
jne 0x1400ab206
lea rcx, [rbp + 0x190]
call fcn.140003b88
nop
lea rax, [rbp + 0x190]
cmp qword [rbp + 0x1a8], 8
cmovae rax, qword [rbp + 0x190]
mov r15d, 0x20
mov r9, qword [rbp + 0x1a0]
test r9, r9
je 0x1400ab277
mov rcx, r9
mov rdx, rax
mov rbx, r12
cmp word [rax], r15w
je 0x1400ab267
cmp rcx, rdi
je 0x1400ab26a
sub rcx, rdi
add rdx, 2
cmp word [rdx], r15w
jne 0x1400ab255
mov rbx, rdx
test rbx, rbx
je 0x1400ab277
sub rbx, rax
sar rbx, 1
jmp 0x1400ab27a
mov rbx, r14
xorps xmm0, xmm0
movups xmmword [rbp + 0x1d0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x1e0], xmm1
mov r8, rbx
cmp r9, rbx
cmovb r8, r9
lea rdx, [rbp + 0x190]
cmp qword [rbp + 0x1a8], 8
cmovae rdx, qword [rbp + 0x190]
lea rcx, [rbp + 0x1d0]
call fcn.140003b88
nop
inc rbx
xorps xmm0, xmm0
movups xmmword [rbp + 0x1b0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x1c0], xmm1
mov rax, qword [rbp + 0x1a0]
cmp rax, rbx
jb 0x1400ab9e8
sub rax, rbx
cmp rax, r14
cmovb r14, rax
lea rax, [rbp + 0x190]
cmp qword [rbp + 0x1a8], 8
cmovae rax, qword [rbp + 0x190]
lea rdx, [rax + rbx*2]
mov r8, r14
lea rcx, [rbp + 0x1b0]
call fcn.140003b88
nop
lea rcx, [rbp + 0x1d0]
cmp qword [rbp + 0x1e8], 8
cmovae rcx, qword [rbp + 0x1d0]
mov rax, qword [rbp + 0x1e0]
lea r8, [rcx + rax*2]
lea rdx, [rbp + 0x1d0]
cmovae rdx, qword [rbp + 0x1d0]
xorps xmm0, xmm0
movups xmmword [rbp + 0x210], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x220], xmm1
cmp rdx, r8
jne 0x1400ab37e
movdqa xmm0, xmmword [0x140372210]
movdqu xmmword [rbp + 0x220], xmm0
mov byte [rbp + 0x210], r12b
jmp 0x1400ab394
mov r9, r8
sub r9, rdx
sar r9, 1
lea rcx, [rbp + 0x210]
call fcn.1400aae70
nop
lea rcx, [rbp + 0x1b0]
cmp qword [rbp + 0x1c8], 8
cmovae rcx, qword [rbp + 0x1b0]
mov rax, qword [rbp + 0x1c0]
lea r8, [rcx + rax*2]
lea rdx, [rbp + 0x1b0]
cmovae rdx, qword [rbp + 0x1b0]
xorps xmm0, xmm0
movups xmmword [rbp + 0x1f0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x200], xmm1
cmp rdx, r8
jne 0x1400ab3f8
movdqa xmm0, xmmword [0x140372210]
movdqu xmmword [rbp + 0x200], xmm0
mov byte [rbp + 0x1f0], r12b
jmp 0x1400ab40e
mov r9, r8
sub r9, rdx
sar r9, 1
lea rcx, [rbp + 0x1f0]
call fcn.1400aae70
nop
mov edx, edi
lea rcx, [rbp - 0x70]
call fcn.14002ab10
nop
mov rdx, qword [rsi]
lea rcx, [rbp - 0x60]
call fcn.140028c60
mov rcx, rax
lea rdx, [0x140380d3c]
call fcn.140028c60
mov rbx, rax
lea rdx, [rbp + 0x1f0]
cmp qword [rbp + 0x208], 0x10
cmovae rdx, qword [rbp + 0x1f0]
xor r8d, r8d
lea rcx, [rbp + 0x230]
call fcn.1400ac7b4
nop
mov rdx, rax
mov rcx, rbx
call fcn.14004c998
nop
mov ebx, 0x1000
mov rdx, qword [rbp + 0x248]
cmp rdx, 0x10
jb 0x1400ab4ad
inc rdx
mov rcx, qword [rbp + 0x230]
mov rax, rcx
cmp rdx, rbx
jb 0x1400ab4a8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400ab9ee
call fcn.1403357a8
lea rdx, [rbp + 0x230]
lea rcx, [rbp - 0x58]
call fcn.14002eb50
lea rcx, [rbp + 0x230]
cmp qword [rbp + 0x248], 0x10
cmovae rcx, qword [rbp + 0x230]
lea rdx, [rsp + 0x24]
call fcn.1400ab068
mov r14, rax
mov rdx, qword [rbp + 0x248]
cmp rdx, 0x10
jb 0x1400ab51e
inc rdx
mov rcx, qword [rbp + 0x230]
mov rax, rcx
cmp rdx, rbx
jb 0x1400ab519
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400ab9f4
call fcn.1403357a8
movdqa xmm0, xmmword [0x140372210]
movdqu xmmword [rbp + 0x240], xmm0
mov byte [rbp + 0x230], r12b
lea rcx, [rsp + 0x20]
call fcn.1400aaf60
mov rsi, rax
cmp byte [rax + 8], r12b
je 0x1400ab570
mov rdx, r12
mov cl, dl
and cl, 7
shl cl, 3
movabs rax, 0xaf55afc5af9979bd
shr rax, cl
xor byte [rdx + rsi], al
add rdx, rdi
cmp rdx, 8
jb 0x1400ab54b
mov byte [rsi + 8], r12b
lea rdx, [rbp + 0x210]
cmp qword [rbp + 0x228], 0x10
cmovae rdx, qword [rbp + 0x210]
mov rcx, rsi
call fcn.140348080
mov r8, r15
mov rdx, rsi
lea rcx, [rbp + 0x270]
call fcn.140347f24
lea r8, [rbp + 0x270]
mov edx, edi
xor ecx, ecx
call qword [sym.imp.KERNEL32.DLL_CreateMutexW]
nop
lea rcx, [rbp + 0x28]
call fcn.14002afb0
nop
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x28], rax
lea rcx, [rbp + 0x28]
call fcn.140334474
nop
mov rdx, qword [rbp + 0x208]
cmp rdx, 0x10
jb 0x1400ab60f
inc rdx
mov rcx, qword [rbp + 0x1f0]
mov rax, rcx
cmp rdx, rbx
jb 0x1400ab60a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400ab9fa
call fcn.1403357a8
movdqa xmm0, xmmword [0x140372210]
movdqu xmmword [rbp + 0x200], xmm0
mov byte [rbp + 0x1f0], r12b
mov rdx, qword [rbp + 0x228]
cmp rdx, 0x10
jb 0x1400ab663
inc rdx
mov rcx, qword [rbp + 0x210]
mov rax, rcx
cmp rdx, rbx
jb 0x1400ab65e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400aba00
call fcn.1403357a8
movdqa xmm0, xmmword [0x140372210]
movdqu xmmword [rbp + 0x220], xmm0
mov byte [rbp + 0x210], r12b
mov rdx, qword [rbp + 0x1c8]
cmp rdx, 8
jb 0x1400ab6bc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1b0]
mov rax, rcx
cmp rdx, rbx
jb 0x1400ab6b7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400aba06
call fcn.1403357a8
movdqa xmm0, xmmword [0x1403c41a0]
movdqu xmmword [rbp + 0x1c0], xmm0
mov word [rbp + 0x1b0], r12w
mov rdx, qword [rbp + 0x1e8]
cmp rdx, 8
jb 0x1400ab716
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1d0]
mov rax, rcx
cmp rdx, rbx
jb 0x1400ab711
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400aba0c
call fcn.1403357a8
movdqa xmm0, xmmword [0x1403c41a0]
movdqu xmmword [rbp + 0x1e0], xmm0
mov word [rbp + 0x1d0], r12w
mov rdx, qword [rbp + 0x1a8]
cmp rdx, 8
jb 0x1400ab770
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x190]
mov rax, rcx
cmp rdx, rbx
jb 0x1400ab76b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400aba12
call fcn.1403357a8
mov qword [rbp + 0x1a0], r12
mov qword [rbp + 0x1a8], 7
mov word [rbp + 0x190], r12w
jmp 0x1400ab94b
cmp ecx, 3
jne 0x1400ab951
mov edx, edi
lea rcx, [rbp + 0x90]
call fcn.14002ab10
nop
mov rdx, qword [rsi]
lea rcx, [rbp + 0xa0]
call fcn.140028c60
mov rcx, rax
lea rdx, [0x140380d3c]
call fcn.140028c60
mov rbx, rax
xor r8d, r8d
mov rdx, qword [rsi + 0x10]
lea rcx, [rbp + 0x250]
call fcn.1400ac7b4
nop
mov rdx, rax
mov rcx, rbx
call fcn.14004c998
nop
mov ebx, 0x1000
mov rdx, qword [rbp + 0x268]
cmp rdx, 0x10
jb 0x1400ab82a
inc rdx
mov rcx, qword [rbp + 0x250]
mov rax, rcx
cmp rdx, rbx
jb 0x1400ab825
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400aba18
call fcn.1403357a8
lea rdx, [rbp + 0x250]
lea rcx, [rbp + 0xa8]
call fcn.14002eb50
lea rcx, [rbp + 0x250]
cmp qword [rbp + 0x268], 0x10
cmovae rcx, qword [rbp + 0x250]
lea rdx, [rsp + 0x24]
call fcn.1400ab068
mov r14, rax
mov rdx, qword [rbp + 0x268]
cmp rdx, 0x10
jb 0x1400ab89e
inc rdx
mov rcx, qword [rbp + 0x250]
mov rax, rcx
cmp rdx, rbx
jb 0x1400ab899
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400ab9e2
call fcn.1403357a8
movdqa xmm0, xmmword [0x140372210]
movdqu xmmword [rbp + 0x260], xmm0
mov byte [rbp + 0x250], r12b
lea rcx, [rsp + 0x20]
call fcn.1400aafe4
mov rbx, rax
cmp byte [rax + 8], r12b
je 0x1400ab8f0
mov rdx, r12
mov cl, dl
and cl, 7
shl cl, 3
movabs rax, 0x9d178d819b5ff149
shr rax, cl
xor byte [rdx + rbx], al
add rdx, rdi
cmp rdx, 8
jb 0x1400ab8cb
mov byte [rbx + 8], r12b
mov rdx, qword [rsi + 8]
mov rcx, rbx
call fcn.140348080
mov r8d, 0x20
mov rdx, rbx
lea rcx, [rbp + 0x2b0]
call fcn.140347f24
lea r8, [rbp + 0x2b0]
mov edx, edi
xor ecx, ecx
call qword [sym.imp.KERNEL32.DLL_CreateMutexW]
nop
lea rcx, [rbp + 0x128]
call fcn.14002afb0
nop
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x128], rax
lea rcx, [rbp + 0x128]
call fcn.140334474
nop
mov edi, dword [rsp + 0x24]
jmp 0x1400ab956
mov edi, ecx
mov r14, rsi
mov r8, r14
mov edx, edi
lea rcx, [rsp + 0x28]
call fcn.140025044
nop
lea rcx, [rsp + 0x28]
call fcn.1400245ac
test eax, eax
je 0x1400ab984
mov edx, eax
lea rcx, [rsp + 0x28]
call fcn.1400244c0
mov ebx, eax
jmp 0x1400ab9ab
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x50]
call fcn.140087bf4
nop
lea rcx, [rsp + 0x50]
call fcn.140087f34
mov ebx, eax
lea rcx, [rsp + 0x50]
call fcn.140087ce0
nop
lea rcx, [rsp + 0x38]
call fcn.1400250b8
mov eax, ebx
mov rcx, qword [rbp + 0x2f0]
xor rcx, rsp
call fcn.1403358f0
lea r11, [rsp + 0x400]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
call fcn.14033cba4
nop
call fcn.1400193c4
nop
call fcn.14033cba4
int3
call fcn.14033cba4
nop
call fcn.14033cba4
nop
call fcn.14033cba4
nop
call fcn.14033cba4
nop
call fcn.14033cba4
nop
call fcn.14033cba4
nop
call fcn.14033cba4
int3