Function at 0x140387d30
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 0x140387d6e
mov word [rdx], r14w
mov byte [r13], r14b
jmp 0x140387d72
mov qword [rbp + 0x30], rdx
movzx ecx, byte [r13]
test cl, cl
jne 0x140387e50
lea r10, [0x140000000]
nop word [rax + rax]
mov rdx, qword [rsi + 8]
test rdx, 0x3fffffff
je 0x140387e48
mov r9, qword [rsi]
movsx r8d, byte [r9]
add r8d, 0xffffffd0
cmp r8d, 0x43
ja case.0x140387dc9.54
movsxd rax, r8d
movzx eax, byte [r10 + rax + 0x3881ec]
mov ecx, dword [r10 + rax*4 + 0x3881d0]
add rcx, r10
jmp rcx
or word [rbx + 0x1bc], 1
jmp case.0x140387dc9.54
or word [rbx + 0x1bc], 2
jmp case.0x140387dc9.54
or word [rbx + 0x1bc], 4
jmp case.0x140387dc9.54
or word [rbx + 0x1bc], 8
jmp case.0x140387dc9.54
mov eax, reloc.WSOCK32.dll_recv
mov ecx, r8d
shl ax, cl
or word [rbx + 0x1bc], ax
jmp case.0x140387dc9.54
mov byte [r13], 1
cmp word [rbx + 0x1bc], r14w
jne case.0x140387dc9.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 0x140387d90
mov rdx, qword [rbp + 0x30]
mov r8d, dword [rsi + 0x10]
mov eax, dword [rsi + 8]
test rax, 0x3fffffff
jne 0x140387ebe
test r8b, 2
je 0x1403880ae
mov rax, qword [rbx + 0x1d0]
mov r9, qword [rax]
test r9, r9
je 0x1403880ae
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 0x140387ee0
mov rax, qword [rsi]
cmp byte [rax], 0x3f
jne 0x140387ed2
mov byte [r13], 2
jmp 0x140387ee5
mov byte [r13], 3
mov dword [rbx + 0x1c4], r14d
jmp 0x140387f1a
cmp cl, 2
jne 0x140387f11
mov rax, qword [rbx + 0x1d0]
mov r8, qword [rax + 8]
test r8, r8
je 0x1403880ae
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 0x1403880ae
mov rax, qword [rbx + 0x1d0]
cmp qword [rax], r14
je 0x1403880ae
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 0x140387f6a
mov edi, eax
mov dword [rbx + 0x1c4], r14d
shr edi, 0x18
mov r12d, eax
and r12d, 0x3ffff
cmp qword [rbx + 0x1e8], 3
jb 0x14038808e
mov qword [rsp + 0xa8], r15
mov rax, qword [rsi + 8]
test rax, 0x3fffffff
je 0x140388086
mov r9, qword [rsi]
movzx edx, byte [r9]
cmp dl, 0x3d
jne 0x14038800a
cmp edi, 2
jne 0x140387fb2
mov ecx, r12d
shr ecx, 4
mov byte [r10], cl
inc r10
inc r8
jmp 0x140387fd2
cmp edi, 3
jne 0x140387fd2
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 0x140388120
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 0x140387fd2
jmp 0x140388120
lea ecx, [rdx - 0x41]
cmp cl, 0x19
ja 0x140388017
sub dl, 0x41
jmp 0x140388033
lea ecx, [rdx - 0x61]
cmp cl, 0x19
ja 0x140388024
sub dl, 0x47
jmp 0x140388033
lea ecx, [rdx - 0x30]
cmp cl, 9
ja 0x1403880ba
add dl, 4
cmp dl, 0xff
jne 0x1403880ce
mov rax, qword [rbx + 0x1d0]
mov byte [r13], 5
mov r9, qword [rax]
test r9, r9
je 0x140388086
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 0x14038809e
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 0x1403880c3
mov dl, 0x3e
jmp 0x1403880ce
cmp dl, 0x2f
jne 0x14038803c
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 0x140388123
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 0x14038813b
mov rax, qword [rbx + 0x1e8]
sub rax, r8
cmp rax, 3
jae 0x1403881b5
test r8, r8
je 0x1403881ab
mov rax, qword [rbx + 0x1e0]
and r8d, 0x3fffffff
test byte [rsi + 0x10], 2
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], r8
je 0x140388166
mov ecx, 2
test rdx, rdx
je 0x140388169
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 0x140387f80
jmp 0x140388086