Function at 0x140043594
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
mov r11, rdx
mov r10, qword [rsp + 0x80]
movsx rax, r8b
lea rdx, [0x1402d2678]
mov rbx, qword [rdx + rax*8]
xor edi, edi
mov rdx, r11
mov esi, 0
sub rdx, 0x1a
cmovb rdx, rdi
jbe 0x140043886
mov eax, 0x20
xor edi, edi
mov rsi, rax
lea rax, [rdi + 0x1a]
cmp rax, r11
ja 0x140043abe
test rsi, rsi
je 0x140043aca
cmp rsi, r10
ja 0x140043adc
mov rax, qword [rcx + rdi]
bswap rax
mov r14, rax
shr r14, 0x3a
mov bpl, byte [rbx + r14]
mov byte [r9 + rsi - 0x20], bpl
mov r14, rax
shr r14, 0x34
and r14d, 0x3f
mov bpl, byte [rbx + r14]
mov byte [r9 + rsi - 0x1f], bpl
mov r14, rax
shr r14, 0x2e
and r14d, 0x3f
mov bpl, byte [rbx + r14]
mov byte [r9 + rsi - 0x1e], bpl
mov r14, rax
shr r14, 0x28
and r14d, 0x3f
mov bpl, byte [rbx + r14]
mov byte [r9 + rsi - 0x1d], bpl
mov r14, rax
shr r14, 0x22
and r14d, 0x3f
mov bpl, byte [rbx + r14]
mov byte [r9 + rsi - 0x1c], bpl
mov r14, rax
shr r14, 0x1c
and r14d, 0x3f
mov bpl, byte [rbx + r14]
mov byte [r9 + rsi - 0x1b], bpl
mov r14d, eax
shr r14d, 0x16
and r14d, 0x3f
mov bpl, byte [rbx + r14]
mov byte [r9 + rsi - 0x1a], bpl
shr eax, 0x10
and eax, 0x3f
mov bpl, byte [rbx + rax]
mov rax, qword [rcx + rdi + 6]
bswap rax
mov byte [r9 + rsi - 0x19], bpl
mov r14, rax
shr r14, 0x3a
mov bpl, byte [rbx + r14]
mov byte [r9 + rsi - 0x18], bpl
mov r14, rax
shr r14, 0x34
and r14d, 0x3f
mov bpl, byte [rbx + r14]
mov byte [r9 + rsi - 0x17], bpl
mov r14, rax
shr r14, 0x2e
and r14d, 0x3f
mov bpl, byte [rbx + r14]
mov byte [r9 + rsi - 0x16], bpl
mov r14, rax
shr r14, 0x28
and r14d, 0x3f
mov bpl, byte [rbx + r14]
mov byte [r9 + rsi - 0x15], bpl
mov r14, rax
shr r14, 0x22
and r14d, 0x3f
mov bpl, byte [rbx + r14]
mov byte [r9 + rsi - 0x14], bpl
mov r14, rax
shr r14, 0x1c
and r14d, 0x3f
mov bpl, byte [rbx + r14]
mov byte [r9 + rsi - 0x13], bpl
mov r14d, eax
shr r14d, 0x16
and r14d, 0x3f
mov bpl, byte [rbx + r14]
mov byte [r9 + rsi - 0x12], bpl
shr eax, 0x10
and eax, 0x3f
mov al, byte [rbx + rax]
mov byte [r9 + rsi - 0x11], al
mov rax, qword [rcx + rdi + 0xc]
bswap rax
mov r14, rax
shr r14, 0x3a
mov bpl, byte [rbx + r14]
mov byte [r9 + rsi - 0x10], bpl
mov r14, rax
shr r14, 0x34
and r14d, 0x3f
mov bpl, byte [rbx + r14]
mov byte [r9 + rsi - 0xf], bpl
mov r14, rax
shr r14, 0x2e
and r14d, 0x3f
mov bpl, byte [rbx + r14]
mov byte [r9 + rsi - 0xe], bpl
mov r14, rax
shr r14, 0x28
and r14d, 0x3f
mov bpl, byte [rbx + r14]
mov byte [r9 + rsi - 0xd], bpl
mov r14, rax
shr r14, 0x22
and r14d, 0x3f
mov bpl, byte [rbx + r14]
mov byte [r9 + rsi - 0xc], bpl
mov r14, rax
shr r14, 0x1c
and r14d, 0x3f
mov bpl, byte [rbx + r14]
mov byte [r9 + rsi - 0xb], bpl
mov r14d, eax
shr r14d, 0x16
and r14d, 0x3f
mov bpl, byte [rbx + r14]
mov byte [r9 + rsi - 0xa], bpl
shr eax, 0x10
and eax, 0x3f
mov al, byte [rbx + rax]
mov byte [r9 + rsi - 9], al
mov rax, qword [rcx + rdi + 0x12]
bswap rax
mov r14, rax
shr r14, 0x3a
mov bpl, byte [rbx + r14]
mov byte [r9 + rsi - 8], bpl
mov r14, rax
shr r14, 0x34
and r14d, 0x3f
mov bpl, byte [rbx + r14]
mov byte [r9 + rsi - 7], bpl
mov r14, rax
shr r14, 0x2e
and r14d, 0x3f
mov bpl, byte [rbx + r14]
mov byte [r9 + rsi - 6], bpl
mov r14, rax
shr r14, 0x28
and r14d, 0x3f
mov bpl, byte [rbx + r14]
mov byte [r9 + rsi - 5], bpl
mov r14, rax
shr r14, 0x22
and r14d, 0x3f
mov bpl, byte [rbx + r14]
mov byte [r9 + rsi - 4], bpl
mov r14, rax
shr r14, 0x1c
and r14d, 0x3f
mov bpl, byte [rbx + r14]
mov byte [r9 + rsi - 3], bpl
mov r14d, eax
shr r14d, 0x16
and r14d, 0x3f
mov bpl, byte [rbx + r14]
mov byte [r9 + rsi - 2], bpl
shr eax, 0x10
and eax, 0x3f
mov al, byte [rbx + rax]
mov byte [r9 + rsi - 1], al
add rdi, 0x18
lea rax, [rsi + 0x20]
cmp rdi, rdx
jbe 0x1400435db
movabs rdx, 0xaaaaaaaaaaaaaaab
mov rax, r11
mul rdx
shr rdx, 1
lea rdx, [rdx + rdx*2]
cmp rdi, rdx
jae 0x14004394d
cmp rdi, 0xfffffffffffffffc
ja 0x140043ae5
lea r14, [rdi + 3]
cmp r14, r11
ja 0x140043af5
cmp rsi, 0xfffffffffffffffb
ja 0x140043b08
lea rax, [rsi + 4]
cmp rax, r10
ja 0x140043b1d
movzx r15d, byte [rcx + rdi]
mov r12, r15
shr r12, 2
mov bpl, byte [rbx + r12]
mov byte [r9 + rsi], bpl
mov bpl, byte [rcx + rdi + 1]
shl r15b, 4
mov r12d, ebp
shr r12b, 4
or r12b, r15b
movzx r15d, r12b
and r15d, 0x3f
mov r15b, byte [rbx + r15]
mov byte [r9 + rsi + 1], r15b
movzx edi, byte [rcx + rdi + 2]
shl bpl, 2
mov r15d, edi
shr r15b, 6
or r15b, bpl
movzx r15d, r15b
and r15d, 0x3f
mov bpl, byte [rbx + r15]
mov byte [r9 + rsi + 2], bpl
and edi, 0x3f
mov dil, byte [rbx + rdi]
mov byte [r9 + rsi + 3], dil
mov rsi, rax
mov rdi, r14
cmp r14, rdx
jb 0x1400438a6
jmp 0x140043950
mov rax, rsi
mov rsi, r11
sub rsi, rdx
cmp rsi, 1
je 0x1400439d4
cmp rsi, 2
jne 0x140043a15
cmp rax, r10
jae 0x140043a7c
movzx edi, byte [rcx + rdx]
mov r14, rdi
shr r14, 2
mov bpl, byte [rbx + r14]
mov byte [r9 + rax], bpl
inc rdx
cmp rdx, r11
jae 0x140043a91
lea r11, [rax + 1]
cmp r11, r10
jae 0x140043aa9
mov dl, byte [rcx + rdx]
mov ecx, edx
shr cl, 4
shl dil, 4
or dil, cl
movzx ecx, dil
and ecx, 0x3f
mov cl, byte [rbx + rcx]
mov byte [r9 + rax + 1], cl
lea rcx, [rax + 2]
cmp rcx, r10
jae 0x140043ab5
shl dl, 2
and dl, 0x3c
mov r11d, 3
jmp 0x140043a08
cmp rax, r10
jae 0x140043a85
movzx edx, byte [rcx + rdx]
mov rcx, rdx
shr rcx, 2
mov cl, byte [rbx + rcx]
mov byte [r9 + rax], cl
lea rcx, [rax + 1]
cmp rcx, r10
jae 0x140043aa0
shl dl, 4
and dl, 0x30
mov r11d, 2
movzx edx, dl
mov dl, byte [rbx + rdx]
mov byte [r9 + rcx], dl
add rax, r11
bt r8d, 8
jb 0x140043a20
xor ecx, ecx
jmp 0x140043a50
cmp rax, r10
ja 0x140043b4f
xor ecx, ecx
test rsi, rsi
je 0x140043a50
xor rsi, 3
je 0x140043a50
sub r10, rax
add r9, rax
xor ecx, ecx
cmp r10, rcx
je 0x140043a68
mov byte [r9 + rcx], 0x3d
inc rcx
cmp rsi, rcx
jne 0x140043a3e
add rax, rcx
jb 0x140043b35
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
lea r8, str.C:Userskylef.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.13.1_srcencode.rsInvalid_UTF8
mov rcx, r10
mov rdx, r10
call fcn.140237970
ud2
lea r8, str.C:Userskylef.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.13.1_srcencode.rsInvalid_UTF8
jmp 0x140043a8c
lea r8, str.C:Userskylef.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.13.1_srcencode.rsInvalid_UTF8
mov rcx, rax
jmp 0x140043a72
lea r8, str.C:Userskylef.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.13.1_srcencode.rsInvalid_UTF8
mov rcx, rdx
mov rdx, r11
jmp 0x140043a75
lea r8, str.C:Userskylef.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.13.1_srcencode.rsInvalid_UTF8
jmp 0x140043a72
lea r8, str.C:Userskylef.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.13.1_srcencode.rsInvalid_UTF8
mov rcx, r11
jmp 0x140043a72
lea r8, str.C:Userskylef.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.13.1_srcencode.rsInvalid_UTF8
jmp 0x140043a72
lea r8, str.C:Userskylef.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.13.1_srcencode.rsInvalid_UTF8
mov rcx, rax
jmp 0x140043b03
lea r8, str.C:Userskylef.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.13.1_srcencode.rsInvalid_UTF8
mov rcx, 0xffffffffffffffe0
xor edx, edx
jmp 0x140043b16
lea r8, str.C:Userskylef.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.13.1_srcencode.rsInvalid_UTF8
jmp 0x140043b28
lea rdx, [rdi + 3]
lea r8, str.C:Userskylef.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.13.1_srcencode.rsInvalid_UTF8
mov rcx, rdi
jmp 0x140043b16
add rdi, 3
lea r8, str.C:Userskylef.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.13.1_srcencode.rsInvalid_UTF8
mov rcx, rdi
mov rdx, r11
jmp 0x140043b2e
lea rdx, [rsi + 4]
lea r8, str.C:Userskylef.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.13.1_srcencode.rsInvalid_UTF8
mov rcx, rsi
call fcn.140237c90
ud2
add rsi, 4
lea r8, str.C:Userskylef.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.13.1_srcencode.rsInvalid_UTF8
mov rcx, rsi
mov rdx, r10
call fcn.140237a00
ud2
lea rcx, str.usize_overflow_when_calculating_b64_length
lea r8, str.C:Userskylef.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.13.1_srcencode.rsInvalid_UTF8
mov edx, 0x2a
call fcn.140237d40
ud2
lea r8, str.C:Userskylef.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.13.1_srcencode.rsInvalid_UTF8
mov rcx, rax
mov rdx, r10
call fcn.1402379f0
ud2