Function at 0x140036350
Capabilities:
Encode data using base64

Disassembly:
push rbx
push rbp
sub rsp, 0x58
mov rbp, rdx
mov rbx, rcx
test rcx, rcx
jne 0x14003636b
xor eax, eax
add rsp, 0x58
pop rbp
pop rbx
ret
mov qword [rsp + 0x78], rsi
mov edx, 1
mov qword [rsp + 0x50], rdi
mov rcx, rbp
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r15
call fcn.1400462ec
mov r13, rax
test rax, rax
jne 0x1400363a5
xor ebx, ebx
jmp 0x140036685
mov r8, rbp
mov rdx, rbx
mov rcx, r13
call fcn.140044e90
xor ebx, ebx
xorps xmm0, xmm0
mov r14d, ebx
test rbp, rbp
js 0x1400363c7
cvtsi2sd xmm0, rbp
jmp 0x1400363df
mov rax, rbp
mov rcx, rbp
shr rcx, 1
and eax, 1
or rcx, rax
cvtsi2sd xmm0, rcx
addsd xmm0, xmm0
divsd xmm0, qword [0x14006e0b0]
call fcn.1400501c4
movsd xmm1, qword [0x14006e0b8]
xor eax, eax
comisd xmm0, xmm1
jb 0x140036413
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x140036413
movabs rcx, 0x8000000000000000
mov rax, rcx
cvttsd2si r15, xmm0
mov rdi, 0xffffffffffffffff
lea edx, [rdi + 2]
add r15, rax
shl r15, 2
mov rcx, r15
add rcx, 1
cmovb rcx, rdi
call fcn.1400462ec
mov rsi, rax
test rax, rax
je 0x140036685
mov byte [rax + r15], bl
mov r8d, ebx
mov dword [rsp + 0x88], ebx
mov r10d, ebx
test rbp, rbp
je 0x140036638
mov rcx, rbx
mov qword [rsp + 0x20], rbx
mov rax, rbx
lea rdi, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movzx eax, byte [rax + r13]
inc r14d
mov byte [rsp + rcx + 0x70], al
inc rcx
movzx r12d, byte [rsp + 0x72]
movzx r11d, byte [rsp + 0x71]
movzx r15d, byte [rsp + 0x70]
cmp rcx, 3
jne 0x140036548
movzx ecx, r15b
movzx eax, r15b
shr al, 2
and cl, 3
movzx r9d, al
mov r14d, ebx
shl cl, 4
movzx eax, r11b
shr al, 4
add cl, al
mov byte [rsp + 0x80], r9b
movzx r8d, cl
movzx eax, r12b
shr al, 6
movzx ecx, r11b
and cl, 0xf
mov byte [rsp + 0x81], r8b
shl cl, 2
add cl, al
movzx eax, r12b
and al, 0x3f
movzx edx, cl
movzx ecx, al
movzx eax, byte [r9 + rdi]
mov r9, qword [rsp + 0x20]
mov byte [rsp + 0x83], cl
mov byte [rsp + 0x82], dl
mov byte [r9 + rsi], al
movzx eax, byte [r8 + rdi]
mov r8d, dword [rsp + 0x88]
mov byte [r9 + rsi + 1], al
add r8d, 4
movzx eax, byte [rdx + rdi]
mov byte [r9 + rsi + 2], al
movzx eax, byte [rcx + rdi]
mov rcx, rbx
mov byte [r9 + rsi + 3], al
add r9, 4
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x88], r8d
inc r10d
mov eax, r10d
cmp rax, rbp
jb 0x140036471
mov rdi, 0xffffffffffffffff
test r14d, r14d
je 0x140036638
movsxd rax, r14d
cmp rax, 3
jge 0x140036595
jae 0x1400366b5
mov byte [rsp + rax + 0x70], bl
inc rax
cmp rax, 3
jl 0x140036570
movzx r12d, byte [rsp + 0x72]
movzx r11d, byte [rsp + 0x71]
movzx r15d, byte [rsp + 0x70]
movzx eax, r15b
lea r9d, [r14 + 1]
shr al, 2
and r15b, 3
mov byte [rsp + 0x80], al
movzx eax, r11b
shr al, 4
and r11b, 0xf
shl r15b, 4
add r15b, al
shl r11b, 2
movzx eax, r12b
mov byte [rsp + 0x81], r15b
shr al, 6
and r12b, 0x3f
add r11b, al
mov byte [rsp + 0x83], r12b
mov byte [rsp + 0x82], r11b
movsxd rdx, r9d
test r9d, r9d
jle 0x14003661c
movsxd rcx, r8d
add rcx, rsi
add r8d, r9d
lea r9, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
nop
movzx eax, byte [rsp + rbx + 0x80]
lea rcx, [rcx + 1]
inc rbx
movzx eax, byte [rax + r9]
mov byte [rcx - 1], al
cmp rbx, rdx
jl 0x140036600
cmp r14d, 3
jge 0x140036638
movsxd rcx, r8d
mov dl, 0x3d
mov r8d, 3
add rcx, rsi
sub r8d, r14d
call fcn.1400452a0
mov rcx, rdi
nop dword [rax + rax]
inc rcx
cmp byte [rsi + rcx], 0
jne 0x140036640
add rcx, 1
mov edx, 1
cmovb rcx, rdi
call fcn.1400462ec
mov rbx, rax
test rax, rax
je 0x14003667d
cmp byte [rsi + rdi + 1], 0
lea rdi, [rdi + 1]
jne 0x140036663
lea rdx, [rdi + 1]
mov r8, rsi
mov rcx, rax
call fcn.1400466e0
mov rcx, rsi
call fcn.1400462d0
mov rcx, r13
call fcn.1400462d0
mov r14, qword [rsp + 0x38]
mov rax, rbx
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x78]
mov r15, qword [rsp + 0x30]
add rsp, 0x58
pop rbp
pop rbx
ret
call fcn.1400440ec
int3