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

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
mov rdi, qword [rcx + 8]
mov rax, qword [rcx + 0x18]
mov rsi, rcx
mov rbx, rax
sub rbx, rdi
shr rbx, 5
nop
mov ecx, dword [0x141dcd580]
sub ecx, dword [0x141dcd584]
add ecx, 0x83e99a26
cmp ecx, 0xaddb36c8
ja 0x140081c40
cmp rax, rdi
je 0x140081d8e
xor r14d, r14d
nop word cs:[rax + rax]
mov eax, dword [0x141dcd588]
xor eax, dword [0x141dcd58c]
imul eax, eax, 0xcf8fdc59
imul rax, rax, 0x50f05de7
shr rax, 0x3e
cmp eax, 0x1bb2bfd1
jbe 0x140081cb0
mov rax, r14
shl rax, 5
mov rax, qword [rdi + rax]
lock dec qword [rax]
nop word cs:[rax + rax]
mov eax, dword [0x141dcd590]
mov ecx, dword [0x141dcd594]
lea edx, [rax + rcx]
add edx, 0xd2775215
or edx, 0x5bcacab9
mov rcx, r14
shl rcx, 5
mov rax, qword [rdi + rcx]
lock dec qword [rax]
sete al
cmp edx, 0x95fd00f9
je 0x140081cb0
test al, al
je 0x140081d33
mov eax, dword [0x141dcd598]
add eax, dword [0x141dcd59c]
and eax, 0x53e3b658
imul eax, eax, 0xc6518894
add eax, 0x934038a0
cmp eax, 0x34e0af1e
jae 0x140081d0c
add rcx, rdi
nop
mov eax, dword [0x141dcd5a0]
and eax, dword [0x141dcd5a4]
imul rax, rax, 0x33a48a51
shr rax, 0x3d
cmp eax, 0xe9cc25c0
je 0x140081d10
call fcn.140075c10
inc r14
mov eax, dword [0x141dcd5a8]
xor edx, edx
div dword [0x141dcd5ac]
add eax, 0x5e58f855
xor eax, 0xd000f218
and eax, 0xd040fa9d
cmp eax, 0xd77ed956
ja 0x140081d36
nop word [rax + rax]
mov eax, dword [0x141dcd5b0]
xor edx, edx
div dword [0x141dcd5b4]
add eax, 0x40af122d
imul rax, rax, 0x40a59c31
shr rax, 0x3e
cmp eax, 0xaeff43e
ja 0x140081d60
cmp r14, rbx
jne 0x140081c70
mov rax, qword [rsi + 0x10]
nop word cs:[rax + rax]
mov ecx, dword [0x141dcd5b8]
mov edx, dword [0x141dcd5bc]
add ecx, edx
add ecx, 0xfa235eb3
cmp ecx, 0x1a7b59d1
jb 0x140081da0
test rax, rax
je 0x140081e50
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x140081dd0
mov rdi, qword [rsi]
mov rbx, qword [0x141ddb260]
mov eax, dword [0x141dcd5c0]
or eax, dword [0x141dcd5c4]
add eax, 0x2940bcd9
xor eax, 0x42a0630
and eax, 0x54fa9fb3
cmp eax, 0xf19cdd99
je 0x140081e31
mov eax, dword [0x141dcd5c8]
mov ecx, dword [0x141dcd5cc]
lea ebp, [rax + rcx]
add ebp, 0x3be9d786
and ebp, 0x89c82cc
mov rcx, rbx
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp ebp, 0xed6c9a76
jbe 0x140081e50
mov rcx, rbx
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x140081e00
mov eax, dword [0x141dcd5d0]
xor edx, edx
div dword [0x141dcd5d4]
xor eax, 0xd9f2feb8
imul rax, rax, 0x671c4f5f
shr rax, 0x3e
xor eax, 0x46455027
cmp eax, 0xf8611513
ja 0x140081e50
mov eax, 0xbd2ef857
nop
mov ecx, dword [0x141dcd5d8]
add ecx, dword [0x141dcd5dc]
imul rcx, rax
shr rcx, 0x3f
or ecx, 0x14a5b6f8
xor ecx, 0x81e0a198
cmp ecx, 0xc1d0ce8a
ja 0x140081e80
mov rdi, qword [rsi + 0x28]
mov rbx, qword [rsi + 0x38]
cmp rbx, rdi
je 0x140081f2d
sub rbx, rdi
shr rbx, 4
xor r14d, r14d
nop
mov rcx, r14
shl rcx, 4
mov rax, qword [rdi + rcx]
lock dec qword [rax]
jne 0x140081f05
add rcx, rdi
call fcn.140075c10
nop dword [rax]
mov eax, dword [0x141dcd5e0]
xor edx, edx
div dword [0x141dcd5e4]
xor eax, 0x247d85a3
imul eax, eax, 0xcb2a70e7
or eax, 0x8f4a4516
cmp eax, 0x9685cd25
ja 0x140081ee0
inc r14
nop dword [rax + rax]
mov eax, dword [0x141dcd5e8]
or eax, dword [0x141dcd5ec]
add eax, 0x3b9bd2d6
cmp eax, 0xda857e21
ja 0x140081f10
cmp r14, rbx
jne 0x140081ec0
mov rax, qword [rsi + 0x30]
nop word cs:[rax + rax]
mov ecx, dword [0x141dcd5f0]
or ecx, dword [0x141dcd5f4]
add ecx, 0x7fddfc37
imul rcx, rcx, 0x7fb8977b
shr rcx, 0x3d
or ecx, 0x562b6f3a
cmp ecx, 0xf860420c
je 0x140081f40
test rax, rax
je 0x140081fa2
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140081f80
mov r8, qword [rsi + 0x20]
mov rcx, qword [0x141ddb260]
xor edx, edx
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
jmp qword [sym.imp.KERNEL32.dll_HeapFree]
nop
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret