Function at 0x1800d3910
Capabilities:
Encode data using base64

Disassembly:
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push r13
push r14
push r15
sub rsp, 0x68
mov r15d, dword [rsp + 0xc0]
xor ebp, ebp
mov rsi, rcx
mov dword [rsp + 0xb0], ebp
test r8, r8
mov dword [rsp + 0x40], ebp
lea ecx, [rdx + 2]
mov ebx, ebp
sete bl
mov r13, r9
mov eax, 0xaaaaaaab
mov r9d, edx
mul ecx
mov r14d, ebp
mov r10d, ebp
mov ecx, edx
mov r11d, ebp
shr ecx, 1
shl ecx, 2
lea eax, [rcx + 0x3f]
shr eax, 6
cmp r15d, 1
jne 0x1800d3977
lea eax, [rax + rax*2]
jmp 0x1800d397e
cmp r15d, 2
cmove eax, ebp
add ecx, eax
mov dword [rsp + 0x44], ecx
test r13, r13
je 0x1800d4021
cmp ecx, dword [r13]
jbe 0x1800d399c
test r8, r8
jne 0x1800d4021
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x58], r12
mov r12d, 1
cmp r9d, 2
jbe 0x1800d3e25
mov eax, r11d
xor r9d, r9d
inc r11d
xor dil, dil
movzx ecx, byte [rax + rsi]
movzx r12d, byte [r11 + rsi]
movzx ebp, cl
movzx eax, r12b
inc r11d
shr al, 4
and bpl, 3
and r12b, 0xf
shl bpl, 4
or bpl, al
shl r12b, 2
movzx edx, byte [r11 + rsi]
inc r11d
movzx eax, dl
mov dword [rsp + 0xb8], r11d
shr al, 6
and dl, 0x3f
or r12b, al
mov byte [rsp + 0xc0], dl
mov eax, ecx
lea edx, [r9 + 1]
shr rax, 2
lea rcx, [0x180115d30]
xor r11b, r11b
xor sil, sil
movzx ecx, byte [rax + rcx]
cmp r15d, edx
jne 0x1800d3a54
cmp cl, 0xa
je 0x1800d3a48
cmp cl, 0x2b
je 0x1800d3a42
cmp cl, 0x3d
jne 0x1800d3a54
movzx edi, dl
jmp 0x1800d3a4b
movzx r11d, dl
jmp 0x1800d3a4b
movzx esi, dl
mov edx, 3
lea r9d, [rdx - 2]
lea eax, [rdx + r10]
cmp eax, dword [r13]
jbe 0x1800d3a66
test ebx, ebx
je 0x1800d3e01
test r9d, r9d
jne 0x1800d3a78
test ebx, ebx
jne 0x1800d3ac7
mov eax, r10d
mov byte [rax + r8], cl
jmp 0x1800d3ac7
test ebx, ebx
je 0x1800d3a82
add r10d, 3
jmp 0x1800d3aca
mov eax, r10d
inc r10d
mov byte [rax + r8], 0x25
test r11b, r11b
je 0x1800d3aa1
mov byte [r10 + r8], 0x32
inc r10d
mov byte [r10 + r8], 0x42
jmp 0x1800d3ac7
test dil, dil
je 0x1800d3ab5
mov byte [r10 + r8], 0x33
inc r10d
mov byte [r10 + r8], 0x44
jmp 0x1800d3ac7
test sil, sil
je 0x1800d3aca
mov byte [r10 + r8], 0x30
inc r10d
mov byte [r10 + r8], 0x41
inc r10d
xor edx, edx
movzx eax, bpl
xor r11b, r11b
mov dword [rsp + 0xb0], r10d
xor dil, dil
lea r9, [0x180115d30]
xor sil, sil
movzx r9d, byte [rax + r9]
lea ecx, [rdx + 1]
cmp r15d, ecx
jne 0x1800d3b1c
cmp r9b, 0xa
je 0x1800d3b12
cmp r9b, 0x2b
je 0x1800d3b0c
cmp r9b, 0x3d
jne 0x1800d3b1c
movzx edi, cl
jmp 0x1800d3b15
movzx r11d, cl
jmp 0x1800d3b15
movzx esi, cl
mov edx, ecx
mov ecx, 3
lea eax, [rcx + r10]
cmp eax, dword [r13]
jbe 0x1800d3b2e
test ebx, ebx
je 0x1800d3e01
test edx, edx
jne 0x1800d3b3c
test ebx, ebx
jne 0x1800d3b88
mov byte [r10 + r8], r9b
jmp 0x1800d3b88
test ebx, ebx
je 0x1800d3b46
add r10d, 3
jmp 0x1800d3b8b
mov byte [r10 + r8], 0x25
inc r10d
test r11b, r11b
je 0x1800d3b62
mov byte [r10 + r8], 0x32
inc r10d
mov byte [r10 + r8], 0x42
jmp 0x1800d3b88
test dil, dil
je 0x1800d3b76
mov byte [r10 + r8], 0x33
inc r10d
mov byte [r10 + r8], 0x44
jmp 0x1800d3b88
test sil, sil
je 0x1800d3b8b
mov byte [r10 + r8], 0x30
inc r10d
mov byte [r10 + r8], 0x41
inc r10d
xor ebp, ebp
movzx eax, r12b
xor r11b, r11b
mov dword [rsp + 0xb0], r10d
xor dil, dil
lea r9, [0x180115d30]
xor sil, sil
mov edx, ebp
movzx r9d, byte [rax + r9]
lea ecx, [rbp + 1]
mov r12d, ecx
cmp r15d, ecx
jne 0x1800d3be3
cmp r9b, 0xa
je 0x1800d3bd8
cmp r9b, 0x2b
je 0x1800d3bd2
cmp r9b, 0x3d
jne 0x1800d3be3
movzx edi, cl
jmp 0x1800d3bdb
movzx r11d, cl
jmp 0x1800d3bdb
movzx esi, cl
mov edx, r12d
mov ecx, 3
lea eax, [rcx + r10]
cmp eax, dword [r13]
jbe 0x1800d3bf5
test ebx, ebx
je 0x1800d3e50
test edx, edx
jne 0x1800d3c03
test ebx, ebx
jne 0x1800d3c4f
mov byte [r10 + r8], r9b
jmp 0x1800d3c4f
test ebx, ebx
je 0x1800d3c0d
add r10d, 3
jmp 0x1800d3c52
mov byte [r10 + r8], 0x25
inc r10d
test r11b, r11b
je 0x1800d3c29
mov byte [r10 + r8], 0x32
inc r10d
mov byte [r10 + r8], 0x42
jmp 0x1800d3c4f
test dil, dil
je 0x1800d3c3d
mov byte [r10 + r8], 0x33
inc r10d
mov byte [r10 + r8], 0x44
jmp 0x1800d3c4f
test sil, sil
je 0x1800d3c52
mov byte [r10 + r8], 0x30
inc r10d
mov byte [r10 + r8], 0x41
inc r10d
movzx eax, byte [rsp + 0xc0]
lea r9, [0x180115d30]
xor r11b, r11b
mov dword [rsp + 0xb0], r10d
xor dil, dil
xor sil, sil
mov edx, ebp
mov ecx, r12d
movzx r9d, byte [rax + r9]
cmp r15d, 1
jne 0x1800d3caa
cmp r9b, 0xa
je 0x1800d3c9f
cmp r9b, 0x2b
je 0x1800d3c9a
cmp r9b, 0x3d
jne 0x1800d3caa
movzx edi, r15b
jmp 0x1800d3ca2
mov r11b, 1
jmp 0x1800d3ca2
mov sil, 1
mov edx, r12d
mov ecx, 3
lea eax, [rcx + r10]
cmp eax, dword [r13]
jbe 0x1800d3cbc
test ebx, ebx
je 0x1800d3e50
test edx, edx
jne 0x1800d3cca
test ebx, ebx
jne 0x1800d3d16
mov byte [r10 + r8], r9b
jmp 0x1800d3d16
test ebx, ebx
je 0x1800d3cd4
add r10d, 3
jmp 0x1800d3d19
mov byte [r10 + r8], 0x25
inc r10d
test r11b, r11b
je 0x1800d3cf0
mov byte [r10 + r8], 0x32
inc r10d
mov byte [r10 + r8], 0x42
jmp 0x1800d3d16
test dil, dil
je 0x1800d3d04
mov byte [r10 + r8], 0x33
inc r10d
mov byte [r10 + r8], 0x44
jmp 0x1800d3d16
test sil, sil
je 0x1800d3d19
mov byte [r10 + r8], 0x30
inc r10d
mov byte [r10 + r8], 0x41
inc r10d
mov r9d, dword [rsp + 0xa8]
add r9d, 0xfffffffd
mov dword [rsp + 0xb0], r10d
mov dword [rsp + 0xa8], r9d
cmp r15d, 2
je 0x1800d3dec
mov eax, dword [rsp + 0x40]
inc eax
mov dword [rsp + 0x40], eax
test al, 0xf
jne 0x1800d3dec
test r9d, r9d
je 0x1800d3e15
cmp r15d, 1
mov eax, 3
cmovne eax, r12d
add eax, r10d
cmp eax, dword [r13]
jbe 0x1800d3d78
test ebx, ebx
je 0x1800d3e60
cmp r15d, 1
je 0x1800d3da7
test ebx, ebx
jne 0x1800d3de1
mov r11d, dword [rsp + 0xb8]
mov rsi, qword [rsp + 0xa0]
mov byte [r10 + r8], 0xa
inc r10d
mov dword [rsp + 0xb0], r10d
jmp 0x1800d39ac
test ebx, ebx
je 0x1800d3dcc
mov r11d, dword [rsp + 0xb8]
add r10d, 3
mov rsi, qword [rsp + 0xa0]
mov dword [rsp + 0xb0], r10d
jmp 0x1800d39ac
mov byte [r10 + r8], 0x25
inc r10d
mov byte [r10 + r8], 0x30
inc r10d
mov byte [r10 + r8], 0x41
inc r10d
mov dword [rsp + 0xb0], r10d
mov r11d, dword [rsp + 0xb8]
mov rsi, qword [rsp + 0xa0]
jmp 0x1800d39ac
mov r9d, dword [rsp + 0xa8]
xor ebp, ebp
mov r14d, 0xffffff7c
lea r12d, [rbp + 1]
mov r11d, dword [rsp + 0xb8]
mov rsi, qword [rsp + 0xa0]
mov eax, r14d
test r9d, r9d
je 0x1800d3f6d
test eax, eax
jne 0x1800d3fa6
mov eax, r11d
movzx edi, byte [rax + rsi]
cmp r9d, 2
jne 0x1800d3e6b
lea eax, [r11 + 1]
movzx esi, byte [rax + rsi]
jmp 0x1800d3e6e
mov r9d, dword [rsp + 0xa8]
mov r14d, 0xffffff7c
jmp 0x1800d3e15
mov r14d, 0xffffff7c
jmp 0x1800d3fa6
xor sil, sil
mov eax, dword [r13]
lea r9, [rsp + 0xb0]
movzx edx, dil
mov dword [rsp + 0x30], ebx
movzx ebp, sil
shr dl, 2
xor r12d, r12d
and bpl, 0xf
mov dword [rsp + 0x28], r12d
mov ecx, r15d
shl bpl, 2
mov dword [rsp + 0x20], eax
call fcn.1800d3810
mov r14d, eax
test eax, eax
jne 0x1800d3fd5
mov eax, dword [r13]
lea r9, [rsp + 0xb0]
and dil, 3
mov dword [rsp + 0x30], ebx
shl dil, 4
mov ecx, r15d
shr sil, 4
or dil, sil
mov dword [rsp + 0x28], r12d
movzx edx, dil
mov dword [rsp + 0x20], eax
call fcn.1800d3810
mov r14d, eax
test eax, eax
jne 0x1800d3fd5
mov ecx, dword [r13]
lea r9, [rsp + 0xb0]
cmp dword [rsp + 0xa8], 2
mov edx, 0x3d
movzx eax, bpl
cmove edx, eax
mov dword [rsp + 0x30], ebx
xor ebp, ebp
cmp dword [rsp + 0xa8], 2
mov eax, ebp
setne al
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
mov ecx, r15d
call fcn.1800d3810
mov r14d, eax
test eax, eax
jne 0x1800d3f9e
mov eax, dword [r13]
lea r9, [rsp + 0xb0]
mov dword [rsp + 0x30], ebx
mov r12d, 1
mov dword [rsp + 0x28], r12d
mov dl, 0x3d
mov ecx, r15d
mov dword [rsp + 0x20], eax
call fcn.1800d3810
mov r10d, dword [rsp + 0xb0]
mov r14d, eax
test r14d, r14d
jne 0x1800d3fa6
cmp r15d, 2
je 0x1800d3fa6
mov eax, dword [r13]
lea r9, [rsp + 0xb0]
mov dword [rsp + 0x30], ebx
mov dl, 0xa
mov dword [rsp + 0x28], r12d
mov ecx, r15d
mov dword [rsp + 0x20], eax
call fcn.1800d3810
mov r14d, eax
mov r10d, dword [rsp + 0xb0]
mov r12, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x60]
cmp r10d, dword [rsp + 0x44]
je 0x1800d3fd9
cmp r15d, 1
je 0x1800d3fd9
test r14d, r14d
jne 0x1800d3fd9
mov eax, 0xffffff66
add rsp, 0x68
pop r15
pop r14
pop r13
pop rsi
pop rbp
pop rbx
ret
xor ebp, ebp
jmp 0x1800d3f9e
test r8, r8
je 0x1800d3fec
cmp dword [r13], r10d
jbe 0x1800d3fec
mov ecx, r10d
mov byte [rcx + r8], 0
mov dword [r13], r10d
test r14d, r14d
jne 0x1800d4010
mov eax, 0xffffff36
test r8, r8
cmove ebp, eax
mov eax, ebp
add rsp, 0x68
pop r15
pop r14
pop r13
pop rsi
pop rbp
pop rbx
ret
mov eax, r14d
add rsp, 0x68
pop r15
pop r14
pop r13
pop rsi
pop rbp
pop rbx
ret
mov eax, 0xffffff53
add rsp, 0x68
pop r15
pop r14
pop r13
pop rsi
pop rbp
pop rbx
ret