Function at 0x140080240
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rcx
nop word cs:[rax + rax]
mov eax, dword [0x141dca5f0]
xor edx, edx
div dword [0x141dca5f4]
and eax, 0x9e10e807
cmp eax, 0xb62d8890
je 0x140080260
mov rdi, qword [rsi + 8]
mov rax, qword [rsi + 0x18]
mov rbx, rax
sub rbx, rdi
nop dword [rax + rax]
mov ecx, dword [0x141dca5f8]
sub ecx, dword [0x141dca5fc]
and ecx, 0x6041d502
add ecx, 0xc935c7e7
cmp ecx, 0xdeb2ff7e
ja 0x140080290
cmp rax, rdi
je 0x140080347
shr rbx, 5
xor r14d, r14d
xor r15d, r15d
nop word cs:[rax + rax]
mov rcx, r15
shl rcx, 5
mov rax, qword [rdi + rcx]
lock dec qword [rax]
jne 0x140080309
add rcx, rdi
call fcn.140074180
nop dword [rax]
mov eax, dword [0x141dca600]
xor eax, dword [0x141dca604]
imul eax, eax, 0x75c06241
cmp eax, 0x277e1131
je 0x1400802f0
inc r15
test r14b, r14b
jne 0x14008030c
nop word cs:[rax + rax]
mov eax, dword [0x141dca608]
and eax, dword [0x141dca60c]
or eax, 0x19db37a3
add eax, 0x5c142ab9
and eax, 0x68ad204c
cmp eax, 0x18c31ccf
jb 0x140080320
cmp r15, rbx
jne 0x1400802d0
mov rax, qword [rsi + 0x10]
nop dword [rax + rax]
mov ecx, dword [0x141dca610]
imul ecx, dword [0x141dca614]
imul ecx, ecx, 0xe3ca8b57
cmp ecx, 0x35e62b44
je 0x140080350
nop dword [rax + rax]
mov ecx, dword [0x141dca618]
or ecx, dword [0x141dca61c]
imul ecx, ecx, 0xc985fe32
cmp ecx, 0x763597a4
je 0x140080370
test rax, rax
je 0x140080463
mov eax, dword [0x141dca620]
sub eax, dword [0x141dca624]
and eax, 0x78a5a61c
add eax, 0xc5ac6f4e
or eax, 0x2a3fbb3f
cmp eax, 0x9e014e57
je 0x1400803d7
mov eax, dword [0x141dca628]
xor eax, dword [0x141dca62c]
or eax, 0xe9ffffff
mov rdi, qword [rsi]
mov rbx, qword [0x141dd7fe0]
cmp eax, 0xe9c052b3
jae 0x1400803e0
mov rax, qword [0x141dd7fe0]
jmp 0x1400803b5
mov eax, dword [0x141dca630]
sub eax, dword [0x141dca634]
or eax, 0x1b118118
and eax, 0x9bb3e138
cmp eax, 0x49516100
jb 0x14008042b
mov eax, dword [0x141dca638]
xor eax, dword [0x141dca63c]
imul ebp, eax, 0x193e5bb9
add ebp, 0xf49f6363
mov rcx, rbx
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp ebp, 0xb005b9b1
jbe 0x140080440
mov rcx, rbx
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1400803fd
mov eax, dword [0x141dca640]
imul eax, dword [0x141dca644]
xor eax, 0x80b5942
and eax, 0x4c0b59f3
add eax, 0xa13c4678
cmp eax, 0x88446b82
jb 0x140080440
mov rbx, qword [rsi + 0x28]
mov r14, qword [rsi + 0x38]
sub r14, rbx
je 0x140080530
shr r14, 4
xor r15d, r15d
mov r12d, 0x9913c927
xor r13d, r13d
jmp 0x14008049c
inc r13
cmp r13, r14
je 0x140080530
mov rdi, r13
shl rdi, 4
mov rax, qword [rbx + rdi]
lock dec qword [rax]
jne 0x140080490
add rdi, rbx
mov eax, dword [0x141dca648]
sub eax, dword [0x141dca64c]
xor eax, 0xfb381b8
add eax, 0x891bcbc
shr eax, 1
imul rax, r12
shr rax, 0x3d
cmp eax, 0x1ffb5ea9
ja 0x1400804ed
nop word [rax + rax]
mov rcx, rdi
call fcn.140074180
test r15b, r15b
je 0x140080500
mov rcx, rdi
call fcn.140074180
jmp 0x1400804e0
mov eax, dword [0x141dca650]
sub eax, dword [0x141dca654]
add eax, 0x408c8320
or eax, 0x4a9a0752
and eax, 0x7fbfbffa
cmp eax, 0x9281dd59
ja 0x140080500
jmp 0x140080490
mov eax, dword [0x141dca658]
or eax, dword [0x141dca65c]
xor eax, 0x1ea2382a
imul rax, rax, 0x35217b79
shr rax, 0x3d
cmp eax, 0xb584c78d
ja 0x140080530
cmp qword [rsi + 0x30], 0
je 0x140080629
mov eax, dword [0x141dca660]
xor edx, edx
div dword [0x141dca664]
and eax, 0xf7ba25bd
imul eax, eax, 0x3188ad74
add eax, 0xb3e998ac
cmp eax, 0x86e9d43d
jae 0x14008058a
mov rax, qword [0x141dd7fe0]
mov ecx, 0x8b320491
nop
mov eax, dword [0x141dca668]
xor edx, edx
div dword [0x141dca66c]
imul rax, rcx
shr rax, 0x3f
imul eax, eax, 0x24fad1f6
and eax, 0x13c792b8
mov rdi, qword [rsi + 0x20]
mov rbx, qword [0x141dd7fe0]
cmp eax, 0xcd15b191
je 0x140080590
mov eax, dword [0x141dca670]
sub eax, dword [0x141dca674]
add eax, 0x55b3cf8d
or eax, 0xde1b32
add eax, 0xa36f1242
cmp eax, 0x4481ab06
jb 0x140080619
mov eax, dword [0x141dca678]
mov ecx, dword [0x141dca67c]
add eax, ecx
add eax, 0x2f49b0af
and eax, 0x3ec5b452
imul esi, eax, 0x8fceb5f9
mov rcx, rbx
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp esi, 0x24136f6a
jae 0x140080629
mov rcx, rbx
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1400805e5
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret