Function at 0x140043680
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], r9
push rdi
push r12
push r13
push r14
push r15
lea eax, [rdx + 0x3f]
mov r10d, edx
shr eax, 6
xor r12d, r12d
sub r10d, eax
xor r14d, r14d
inc r10d
mov rdi, r9
mov r13, r8
mov esi, edx
mov r11, rcx
lea eax, [r10 + r10*2]
shr eax, 2
cmp eax, dword [r9]
ja 0x1400439ac
cmp edx, 3
jbe 0x140043988
mov r8d, edx
mov edx, r14d
movzx ecx, byte [r14 + r11]
movabs rbx, 0x100002400
cmp cl, 0x20
ja 0x140043736
bt rbx, rcx
jae 0x140043736
lea r8d, [rsi - 1]
lea edx, [r14 + 1]
test r8d, r8d
je 0x140043715
cmp cl, 0x20
jne 0x140043715
movzx ecx, byte [rdx + r11]
inc edx
add r8d, 0xffffffff
jne 0x140043703
cmp cl, 0xd
jne 0x14004372d
test r8d, r8d
je 0x14004399e
movzx ecx, byte [rdx + r11]
inc edx
dec r8d
cmp cl, 0xa
jne 0x14004399e
test r8d, r8d
je 0x140043988
mov eax, edx
movzx r10d, byte [rax + r11]
lea eax, [rdx + 1]
test r10b, r10b
je 0x140043988
lea edx, [r8 - 1]
test edx, edx
je 0x1400439a5
movzx r8d, byte [rax + r11]
cmp r8b, 0x20
ja 0x1400437b1
bt rbx, r8
jae 0x1400437b1
inc eax
sub edx, 1
je 0x140043788
cmp r8b, 0x20
jne 0x140043788
movzx r8d, byte [rax + r11]
inc eax
add edx, 0xffffffff
jne 0x140043776
cmp r8b, 0xd
jne 0x14004379f
test edx, edx
je 0x14004399e
movzx r8d, byte [rax + r11]
inc eax
dec edx
cmp r8b, 0xa
jne 0x14004399e
test edx, edx
je 0x1400439a5
movzx r9d, byte [rax + r11]
lea ecx, [rax + 1]
sub edx, 1
je 0x1400439a5
movzx r8d, byte [rcx + r11]
cmp r8b, 0x20
ja 0x14004381b
bt rbx, r8
jae 0x14004381b
inc ecx
sub edx, 1
je 0x1400437f2
nop word [rax + rax]
cmp r8b, 0x20
jne 0x1400437f2
movzx r8d, byte [rcx + r11]
inc ecx
add edx, 0xffffffff
jne 0x1400437e0
cmp r8b, 0xd
jne 0x140043809
test edx, edx
je 0x14004399e
movzx r8d, byte [rcx + r11]
inc ecx
dec edx
cmp r8b, 0xa
jne 0x14004399e
test edx, edx
je 0x1400439a5
movzx r15d, byte [rcx + r11]
lea r8d, [rdx - 1]
inc ecx
test r8d, r8d
je 0x1400439a5
movzx edx, byte [rcx + r11]
cmp dl, 0x20
ja 0x140043883
bt rbx, rdx
jae 0x140043883
inc ecx
sub r8d, 1
je 0x140043859
cmp dl, 0x20
jne 0x140043859
movzx edx, byte [rcx + r11]
inc ecx
add r8d, 0xffffffff
jne 0x140043847
cmp dl, 0xd
jne 0x140043871
test r8d, r8d
je 0x14004399e
movzx edx, byte [rcx + r11]
inc ecx
dec r8d
cmp dl, 0xa
jne 0x14004399e
test r8d, r8d
je 0x1400439a5
movzx ebx, byte [rcx + r11]
lea r14d, [rcx + 1]
lea esi, [r8 - 1]
mov edx, r14d
mov r8d, esi
cmp r10b, 0x2b
jb 0x14004399e
cmp r9b, 0x2b
jb 0x14004399e
cmp r15b, 0x2b
jb 0x14004399e
cmp bl, 0x2b
jb 0x14004399e
cmp r10b, 0x7a
ja 0x14004399e
cmp r9b, 0x7a
ja 0x14004399e
cmp r15b, 0x7a
ja 0x14004399e
cmp bl, 0x7a
ja 0x14004399e
xor eax, eax
cmp bl, 0x3d
setne al
xor ecx, ecx
cmp r15b, 0x3d
setne cl
add eax, r12d
inc ecx
add ecx, eax
cmp ecx, dword [rdi]
ja 0x1400439ac
lea rcx, [0x140109300]
movzx ebp, byte [r10 + rcx - 0x2b]
movzx edi, byte [r9 + rcx - 0x2b]
cmp r15b, 0x3d
jne 0x140043922
xor r9b, r9b
jmp 0x140043928
movzx r9d, byte [r15 + rcx - 0x2b]
cmp bl, 0x3d
jne 0x140043931
xor al, al
jmp 0x140043936
movzx eax, byte [rbx + rcx - 0x2b]
shl bpl, 2
movzx ecx, dil
shr cl, 4
movzx r10d, r9b
or cl, bpl
shl r10b, 6
mov byte [r12 + r13], cl
or r10b, al
inc r12d
cmp r15b, 0x3d
je 0x14004396e
shr r9b, 2
shl dil, 4
or r9b, dil
mov byte [r12 + r13], r9b
inc r12d
mov rdi, qword [rsp + 0x48]
cmp bl, 0x3d
je 0x140043988
mov byte [r12 + r13], r10b
inc r12d
cmp esi, 3
ja 0x1400436dc
test r13, r13
je 0x140043997
cmp dword [rdi], r12d
jbe 0x140043997
mov byte [r12 + r13], 0
mov dword [rdi], r12d
xor eax, eax
jmp 0x1400439b1
mov eax, 0xffffff66
jmp 0x1400439b1
mov eax, 0xffffff7c
jmp 0x1400439b1
mov eax, 0xffffff53
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
pop r15
pop r14
pop r13
pop r12
pop rdi
ret