Function at 0x140387cc0
Capabilities:
Encode data using base64

Disassembly:
push rbp
push rbx
push rsi
push r13
push r14
mov rbp, rsp
sub rsp, 0x60
mov r8d, dword [rdx + 0x10]
lea r13, [rcx + 0x1c0]
mov rsi, rdx
xor r14d, r14d
lea rdx, [rcx + 0x1bc]
mov rbx, rcx
mov qword [rbp + 0x30], rdx
test r8b, 1
je 0x140387cfe
mov word [rdx], r14w
mov byte [r13], r14b
jmp 0x140387d02
mov qword [rbp + 0x30], rdx
movzx ecx, byte [r13]
test cl, cl
jne 0x140387de0
lea r10, [0x140000000]
nop word [rax + rax]
mov rdx, qword [rsi + 8]
test rdx, 0x3fffffff
je 0x140387dd8
mov r9, qword [rsi]
movsx r8d, byte [r9]
add r8d, 0xffffffd0
cmp r8d, 0x43
ja case.0x140387d59.54
movsxd rax, r8d
movzx eax, byte [r10 + rax + 0x38817c]
mov ecx, dword [r10 + rax*4 + 0x388160]
add rcx, r10
jmp rcx
or word [rbx + 0x1bc], 1
jmp case.0x140387d59.54
or word [rbx + 0x1bc], 2
jmp case.0x140387d59.54
or word [rbx + 0x1bc], 4
jmp case.0x140387d59.54
or word [rbx + 0x1bc], 8
jmp case.0x140387d59.54
mov eax, reloc.WSOCK32.dll_recv
mov ecx, r8d
shl ax, cl
or word [rbx + 0x1bc], ax
jmp case.0x140387d59.54
mov byte [r13], 1
cmp word [rbx + 0x1bc], r14w
jne case.0x140387d59.54
mov word [rbx + 0x1bc], 0x18
movzx ecx, byte [r13]
lea rax, [r9 + 1]
mov qword [rsi], rax
lea rax, [rdx - 1]
xor rdx, rax
and rdx, 0xffffffffc0000000
xor rdx, rax
mov qword [rsi + 8], rdx
test cl, cl
je 0x140387d20
mov rdx, qword [rbp + 0x30]
mov r8d, dword [rsi + 0x10]
mov eax, dword [rsi + 8]
test rax, 0x3fffffff
jne 0x140387e4e
test r8b, 2
je 0x14038803e
mov rax, qword [rbx + 0x1d0]
mov r9, qword [rax]
test r9, r9
je 0x14038803e
mov r8, qword [rbx + 0x1d8]
cmp cl, 4
movzx ecx, word [rdx]
lea rdx, [rbp - 0x20]
mov qword [rbp - 0x40], r14
mov qword [rbp - 0x38], r14
setne r14b
movups xmm0, xmmword [rbp - 0x40]
add r14d, 2
mov dword [rbp - 0x30], r14d
movsd xmm1, qword [rbp - 0x30]
movsd qword [rbp - 0x10], xmm1
movaps xmmword [rbp - 0x20], xmm0
call r9
add rsp, 0x60
pop r14
pop r13
pop rsi
pop rbx
pop rbp
ret
cmp cl, 1
jne 0x140387e70
mov rax, qword [rsi]
cmp byte [rax], 0x3f
jne 0x140387e62
mov byte [r13], 2
jmp 0x140387e75
mov byte [r13], 3
mov dword [rbx + 0x1c4], r14d
jmp 0x140387eaa
cmp cl, 2
jne 0x140387ea1
mov rax, qword [rbx + 0x1d0]
mov r8, qword [rax + 8]
test r8, r8
je 0x14038803e
movzx ecx, word [rdx]
mov rdx, qword [rbx + 0x1d8]
add rsp, 0x60
pop r14
pop r13
pop rsi
pop rbx
pop rbp
jmp r8
cmp cl, 5
je 0x14038803e
mov rax, qword [rbx + 0x1d0]
cmp qword [rax], r14
je 0x14038803e
mov eax, dword [rbx + 0x1c4]
mov r8, r14
mov r10, qword [rbx + 0x1e0]
mov qword [rsp + 0x98], rdi
mov edi, r14d
mov qword [rsp + 0xa0], r12
mov r12d, r14d
test eax, eax
je 0x140387efa
mov edi, eax
mov dword [rbx + 0x1c4], r14d
shr edi, 0x18
mov r12d, eax
and r12d, 0x3ffff
cmp qword [rbx + 0x1e8], 3
jb 0x14038801e
mov qword [rsp + 0xa8], r15
mov rax, qword [rsi + 8]
test rax, 0x3fffffff
je 0x140388016
mov r9, qword [rsi]
movzx edx, byte [r9]
cmp dl, 0x3d
jne 0x140387f9a
cmp edi, 2
jne 0x140387f42
mov ecx, r12d
shr ecx, 4
mov byte [r10], cl
inc r10
inc r8
jmp 0x140387f62
cmp edi, 3
jne 0x140387f62
mov ecx, r12d
shr ecx, 0xa
mov byte [r10], cl
mov ecx, r12d
shr ecx, 2
mov byte [r10 + 1], cl
add r10, 2
add r8, 2
cmp byte [r9], 0x3d
mov rdx, rax
jne 0x1403880b0
lea rcx, [rax - 1]
inc r9
xor rax, rcx
mov qword [rsi], r9
and rax, 0xffffffffc0000000
xor rax, rcx
mov qword [rsi + 8], rax
mov rdx, rax
test rcx, 0x3fffffff
jne 0x140387f62
jmp 0x1403880b0
lea ecx, [rdx - 0x41]
cmp cl, 0x19
ja 0x140387fa7
sub dl, 0x41
jmp 0x140387fc3
lea ecx, [rdx - 0x61]
cmp cl, 0x19
ja 0x140387fb4
sub dl, 0x47
jmp 0x140387fc3
lea ecx, [rdx - 0x30]
cmp cl, 9
ja 0x14038804a
add dl, 4
cmp dl, 0xff
jne 0x14038805e
mov rax, qword [rbx + 0x1d0]
mov byte [r13], 5
mov r9, qword [rax]
test r9, r9
je 0x140388016
mov rax, qword [rbp + 0x30]
lea rdx, [rbp - 0x20]
mov r8, qword [rbx + 0x1d8]
mov qword [rbp - 0x40], r14
mov qword [rbp - 0x38], r14
movups xmm0, xmmword [rbp - 0x40]
movzx ecx, word [rax]
mov dword [rbp - 0x30], 3
movsd xmm1, qword [rbp - 0x30]
movaps xmmword [rbp - 0x20], xmm0
movsd qword [rbp - 0x10], xmm1
call r9
mov r15, qword [rsp + 0xa8]
test edi, edi
je 0x14038802e
shl edi, 0x18
or edi, r12d
mov dword [rbx + 0x1c4], edi
mov rdi, qword [rsp + 0x98]
mov r12, qword [rsp + 0xa0]
add rsp, 0x60
pop r14
pop r13
pop rsi
pop rbx
pop rbp
ret
cmp dl, 0x2b
jne 0x140388053
mov dl, 0x3e
jmp 0x14038805e
cmp dl, 0x2f
jne 0x140387fcc
mov dl, 0x3f
movzx ecx, dl
inc edi
shl r12d, 6
mov rdx, rax
or r12d, ecx
lea rcx, [r9 + 1]
mov qword [rsi], rcx
lea rcx, [rax - 1]
xor rdx, rcx
and rdx, 0xffffffffc0000000
xor rdx, rcx
mov qword [rsi + 8], rdx
cmp edi, 4
jne 0x1403880b3
mov eax, r12d
mov byte [r10 + 2], r12b
shr eax, 0x10
mov byte [r10], al
mov eax, r12d
shr eax, 8
mov r12d, r14d
mov byte [r10 + 1], al
add r10, 3
add r8, 3
mov edi, r14d
and edx, 0x3fffffff
je 0x1403880cb
mov rax, qword [rbx + 0x1e8]
sub rax, r8
cmp rax, 3
jae 0x140388145
test r8, r8
je 0x14038813b
mov rax, qword [rbx + 0x1e0]
and r8d, 0x3fffffff
test byte [rsi + 0x10], 2
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], r8
je 0x1403880f6
mov ecx, 2
test rdx, rdx
je 0x1403880f9
mov ecx, r14d
cmp byte [r13], 3
lea rdx, [rbp - 0x20]
movups xmm0, xmmword [rbp - 0x40]
mov r8, qword [rbx + 0x1d8]
mov eax, r14d
sete al
or eax, ecx
movaps xmmword [rbp - 0x20], xmm0
mov rcx, qword [rbp + 0x30]
mov dword [rbp - 0x30], eax
movsd xmm1, qword [rbp - 0x30]
mov rax, qword [rbx + 0x1d0]
movzx ecx, word [rcx]
movsd qword [rbp - 0x10], xmm1
call qword [rax]
mov byte [r13], 4
mov r10, qword [rbx + 0x1e0]
mov r8, r14
mov rax, qword [rbx + 0x1e8]
sub rax, r8
cmp rax, 3
jae 0x140387f10
jmp 0x140388016