Function at 0x140036270
Capabilities:
Encode data using base64

Disassembly:
push r14
sub rsp, 0x30
mov r11, qword [rcx]
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rbp
movzx r10d, byte [r11 + 1]
mov qword [rsp + 0x50], rsi
mov esi, r9d
shr esi, 0xb
add r11, 2
mov qword [rsp + 0x58], rdi
mov ebp, r9d
mov ebx, r8d
mov r14, rcx
mov rdi, rdx
and esi, 1
je 0x1400363e7
cmp r10d, 0xc0
jl 0x1400363e7
movzx ecx, byte [r11]
and ecx, 0x3f
test r10b, 0x20
jne 0x1400362e3
and r10d, 0x1f
mov eax, r10d
mov r10d, ecx
shl eax, 6
or r10d, eax
inc r11
jmp 0x1400363e7
test r10b, 0x10
jne 0x140036311
and r10d, 0xf
mov eax, r10d
mov r10d, ecx
shl eax, 6
or r10d, eax
movzx eax, byte [r11 + 1]
and eax, 0x3f
shl r10d, 6
or r10d, eax
add r11, 2
jmp 0x1400363e7
test r10b, 8
jne 0x14003634e
and r10d, 7
mov eax, r10d
mov r10d, ecx
shl eax, 6
or r10d, eax
movzx eax, byte [r11 + 1]
and eax, 0x3f
shl r10d, 6
or r10d, eax
movzx eax, byte [r11 + 2]
and eax, 0x3f
shl r10d, 6
or r10d, eax
add r11, 3
jmp 0x1400363e7
test r10b, 4
jne 0x140036397
and r10d, 3
mov eax, r10d
mov r10d, ecx
shl eax, 6
or r10d, eax
movzx eax, byte [r11 + 1]
and eax, 0x3f
shl r10d, 6
or r10d, eax
movzx eax, byte [r11 + 2]
and eax, 0x3f
shl r10d, 6
or r10d, eax
movzx eax, byte [r11 + 3]
and eax, 0x3f
shl r10d, 6
or r10d, eax
add r11, 4
jmp 0x1400363e7
and r10d, 1
mov eax, r10d
mov r10d, ecx
shl eax, 6
or r10d, eax
movzx eax, byte [r11 + 1]
and eax, 0x3f
shl r10d, 6
or r10d, eax
movzx eax, byte [r11 + 2]
and eax, 0x3f
shl r10d, 6
or r10d, eax
movzx eax, byte [r11 + 3]
and eax, 0x3f
shl r10d, 6
or r10d, eax
movzx eax, byte [r11 + 4]
and eax, 0x3f
shl r10d, 6
or r10d, eax
add r11, 5
dec r11
test r10d, r10d
jne 0x1400363fb
mov edx, 1
mov dword [rdi], edx
jmp 0x1400369c7
lea edx, [r10 - 0x30]
mov qword [rsp + 0x20], r15
cmp edx, 0x4a
ja 0x1400369a2
lea r15, [0x140000000]
movsxd rax, r10d
movsx r8d, word [r15 + rax*2 + 0xc3c40]
test r8d, r8d
je 0x14003642d
mov r10d, r8d
jmp 0x1400369a2
cmp edx, 0x48
ja case.0x14003644d.8
movsxd rax, edx
movzx eax, byte [r15 + rax + 0x36a20]
mov ecx, dword [r15 + rax*4 + 0x369fc]
add rcx, r15
jmp rcx
bt r9d, 0x19
jae case.0x14003644d.2
movzx eax, byte [r11 + 1]
test byte [rax + r15 + 0xc4a80], 8
je 0x1400369a2
movzx ecx, byte [r11 + 2]
test byte [rcx + r15 + 0xc4a80], 8
je 0x1400369a2
movzx edx, byte [r11 + 3]
test byte [rdx + r15 + 0xc4a80], 8
je 0x1400369a2
movzx r8d, byte [r11 + 4]
test byte [r8 + r15 + 0xc4a80], 8
je 0x1400369a2
mov r10d, eax
cmp eax, 0x61
jl 0x1400364b6
sub r10d, 0x20
cmp r10d, 0x41
mov r9d, 0x37
mov ebx, 0x30
mov eax, r9d
cmovl eax, ebx
sub r10d, eax
cmp ecx, 0x61
jl 0x1400364d6
sub ecx, 0x20
cmp ecx, 0x41
mov eax, r9d
cmovl eax, ebx
shl r10d, 4
sub r10d, eax
add r10d, ecx
mov ecx, edx
cmp edx, 0x61
jl 0x1400364f3
sub ecx, 0x20
cmp ecx, 0x41
mov eax, r9d
cmovl eax, ebx
shl r10d, 4
sub r10d, eax
mov eax, r8d
add r10d, ecx
cmp r8d, 0x61
jl 0x140036512
sub eax, 0x20
cmp eax, 0x41
cmovl r9d, ebx
shl r10d, 4
sub r10d, r9d
add r10d, eax
add r11, 4
jmp 0x1400369a2
bt r9d, 0x19
jb 0x1400369a2
mov dword [rdi], 0x25
jmp 0x1400369a2
cmp dword [rsp + 0x60], 0
jne 0x1400369a2
movzx eax, byte [r11 + 1]
cmp al, 0x3c
je 0x140036692
cmp al, 0x27
je 0x140036692
mov edx, 1
cmp al, 0x7b
jne 0x1400365ab
movzx eax, byte [r11 + 2]
lea rcx, [r11 + 2]
test al, al
je 0x14003658d
cmp al, 0x2d
je 0x140036582
sub al, 0x30
cmp al, 9
ja 0x140036595
movzx eax, byte [rcx + 1]
inc rcx
test al, al
jne 0x140036578
mov r9d, edx
inc r11
jmp 0x1400365ae
movzx eax, byte [rcx]
test al, al
je 0x14003658d
cmp al, 0x7d
je 0x14003658d
mov r10d, 0xffffffe4
jmp 0x1400369c2
xor r9d, r9d
cmp byte [r11 + 1], 0x2d
lea rax, [r11 + 1]
jne 0x1400365be
mov r11, rax
jmp 0x1400365c0
xor edx, edx
movzx eax, byte [r11 + 1]
lea rcx, [r11 + 1]
xor r10d, r10d
cmp al, 0x30
jb 0x14003663e
cmp al, 0x39
ja 0x1400365fd
cmp r10d, 0xccccccc
ja 0x140036638
mov r11, rcx
lea ecx, [r10 - 6]
movzx eax, byte [r11]
lea ecx, [r10 + rcx*4]
lea r10d, [rax + rcx*2]
movzx eax, byte [r11 + 1]
lea rcx, [r11 + 1]
cmp al, 0x30
jae 0x1400365d0
cmp r10d, 0x7fffffff
jbe 0x14003663e
movzx eax, byte [r11 + 1]
lea rcx, [r11 + 1]
cmp al, 0x30
jb 0x140036715
cmp al, 0x39
ja 0x140036715
movzx eax, byte [rcx + 1]
mov r11, rcx
inc rcx
cmp al, 0x30
jae 0x140036617
mov dword [rdi], 0x3d
jmp 0x1400369a2
or r10d, 0xffffffff
jmp 0x140036606
test r9d, r9d
je 0x140036657
inc r11
cmp byte [r11], 0x7d
je 0x140036657
mov dword [rdi], 0x39
jmp 0x1400369a2
test r10d, r10d
jne 0x140036667
mov dword [rdi], 0x3a
jmp 0x1400369c2
test edx, edx
je 0x140036682
cmp r10d, ebx
jle 0x14003667b
mov dword [rdi], 0xf
jmp 0x1400369a2
sub ebx, r10d
lea r10d, [rbx + 1]
mov eax, 0xffffffdd
sub eax, r10d
mov r10d, eax
jmp 0x1400369a2
mov r10d, 0xffffffe5
jmp 0x1400369c2
cmp dword [rsp + 0x60], 0
jne 0x14003673c
movzx eax, byte [r11 + 1]
lea rcx, [r11 + 1]
mov r9, r11
mov r10d, edx
cmp al, 0x30
jb 0x1400366ed
nop dword [rax + rax]
cmp al, 0x39
ja 0x1400366ed
cmp r10d, 0xccccccc
ja 0x140036720
mov r11, rcx
lea ecx, [r10 - 6]
movzx eax, byte [r11]
lea ecx, [r10 + rcx*4]
lea r10d, [rax + rcx*2]
movzx eax, byte [r11 + 1]
lea rcx, [r11 + 1]
cmp al, 0x30
jae 0x1400366c0
cmp r10d, 0x7fffffff
jbe 0x140036726
movzx eax, byte [r11 + 1]
lea rcx, [r11 + 1]
cmp al, 0x30
jb 0x140036715
cmp al, 0x39
ja 0x140036715
movzx eax, byte [rcx + 1]
mov r11, rcx
inc rcx
cmp al, 0x30
jae 0x140036703
mov dword [rdi], 0x3d
jmp 0x1400369a2
or r10d, 0xffffffff
jmp 0x1400366f6
cmp r10d, 0xa
jl 0x140036682
cmp r10d, ebx
jle 0x140036682
mov r11, r9
movzx r10d, byte [r11]
cmp r10d, 0x38
jl case.0x14003644d.0
dec r11
xor r10d, r10d
jmp 0x1400369c2
sub r10d, 0x30
nop word [rax + rax]
movzx eax, byte [r11 + 1]
lea rcx, [r11 + 1]
inc r8d
sub al, 0x30
cmp al, 7
ja 0x140036786
movzx eax, byte [rcx]
add r10d, 0xfffffffa
mov r11, rcx
lea r10d, [rax + r10*8]
cmp r8d, 2
jl 0x140036760
test esi, esi
jne 0x1400369a2
cmp r10d, 0xff
jle 0x1400369a2
mov dword [rdi], 0x33
jmp 0x1400369a2
bt r9d, 0x19
jae 0x14003681d
movzx eax, byte [r11 + 1]
test byte [rax + r15 + 0xc4a80], 8
je 0x1400369a2
movzx ecx, byte [r11 + 2]
test byte [rcx + r15 + 0xc4a80], 8
je 0x1400369a2
mov r10d, eax
cmp eax, 0x61
jl 0x1400367e1
sub r10d, 0x20
cmp r10d, 0x41
mov r9d, 0x37
mov ebx, 0x30
mov eax, r9d
cmovl eax, ebx
sub r10d, eax
mov eax, ecx
cmp ecx, 0x61
jl 0x140036803
sub eax, 0x20
cmp eax, 0x41
cmovl r9d, ebx
shl r10d, 4
sub r10d, r9d
add r10d, eax
add r11, 2
jmp 0x1400369a2
cmp byte [r11 + 1], 0x7b
mov ebx, 0x30
lea r9d, [rbx + 7]
jne 0x140036912
movzx eax, byte [r11 + 2]
lea rdx, [r11 + 2]
xor r10d, r10d
test byte [rax + r15 + 0xc4a80], 8
je 0x1400368ed
mov qword [rsp + 0x28], r12
mov r12d, 0x10ffff
nop word [rax + rax]
inc rdx
movzx ecx, al
test r10d, r10d
jne 0x14003686f
cmp ecx, ebx
je 0x14003689a
cmp ecx, 0x61
jl 0x140036877
sub ecx, 0x20
cmp ecx, 0x41
mov eax, r9d
cmovl eax, ebx
shl r10d, 4
sub r10d, eax
mov eax, 0xff
add r10d, ecx
test esi, esi
cmovne eax, r12d
cmp r10d, eax
jg 0x1400368af
movzx eax, byte [rdx]
test byte [rax + r15 + 0xc4a80], 8
jne 0x140036860
test r10d, r10d
jns 0x1400368e8
jmp 0x1400368b3
or r10d, 0xffffffff
movzx eax, byte [rdx]
test byte [rax + r15 + 0xc4a80], 8
je 0x1400368e2
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx + 1]
inc rdx
test byte [rax + r15 + 0xc4a80], 8
jne 0x1400368d0
mov dword [rdi], 0x22
mov r12, qword [rsp + 0x28]
cmp byte [rdx], 0x7d
jne 0x140036912
test esi, esi
je 0x14003690a
lea eax, [r10 - 0xd800]
cmp eax, 0x7ff
ja 0x14003690a
mov dword [rdi], 0x49
mov r11, rdx
jmp 0x1400369a2
xor r10d, r10d
nop word [rax + rax]
movzx eax, byte [r11 + 1]
lea rcx, [r11 + 1]
inc r8d
test byte [rax + r15 + 0xc4a80], 8
je 0x1400369a2
mov r11, rcx
movzx ecx, byte [rcx]
cmp ecx, 0x61
jl 0x140036945
sub ecx, 0x20
cmp ecx, 0x41
mov eax, r9d
cmovl eax, ebx
shl r10d, 4
sub r10d, eax
add r10d, ecx
cmp r8d, 2
jl 0x140036920
jmp 0x1400369a2
movzx r10d, byte [r11 + 1]
inc r11
test r10d, r10d
jne 0x140036975
mov dword [rdi], 2
jmp 0x1400369c2
cmp r10d, 0x7f
jle 0x140036983
mov dword [rdi], 0x44
jmp 0x1400369a2
lea eax, [r10 - 0x61]
cmp eax, 0x19
ja 0x140036990
sub r10d, 0x20
xor r10d, 0x40
jmp 0x1400369a2
test bpl, 0x40
je 0x1400369a2
mov dword [rdi], 3
cmp r10d, 0xfffffff4
jne 0x1400369c2
cmp byte [r11 + 1], 0x7b
jne 0x1400369c2
lea rcx, [r11 + 2]
call fcn.14003d030
test eax, eax
jne 0x1400369c2
mov dword [rdi], 0x25
mov r15, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x40]
bt ebp, 0x1d
mov rbp, qword [rsp + 0x48]
mov qword [r14], r11
jae 0x1400369f1
lea eax, [r10 + 0xb]
cmp eax, 5
lea eax, [r10 - 0x17]
jbe 0x1400369f4
mov eax, r10d
add rsp, 0x30
pop r14
ret