Function at 0x1400f9080
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov r10, rdx
mov rbx, qword [rsp + 0x80]
xor r11d, r11d
mov esi, 0
sub rdx, 0x1a
cmovb rdx, r11
jbe 0x1400f935f
mov eax, 0x20
xor esi, esi
mov r11, rax
lea rax, [rsi + 0x1a]
cmp rax, r10
ja 0x1400f9596
test r11, r11
je 0x1400f95a2
cmp r11, r9
ja 0x1400f95b7
mov rax, qword [rcx + rsi]
bswap rax
mov rdi, rax
shr rdi, 0x3a
mov dil, byte [rbx + rdi + 3]
mov byte [r8 + r11 - 0x20], dil
mov rdi, rax
invalid
shr rdi, 0x34
and edi, 0x3f
mov dil, byte [rbx + rdi + 3]
mov byte [r8 + r11 - 0x1f], dil
mov rdi, rax
shr rdi, 0x2e
and edi, 0x3f
mov dil, byte [rbx + rdi + 3]
mov byte [r8 + r11 - 0x1e], dil
mov rdi, rax
shr rdi, 0x28
and edi, 0x3f
mov dil, byte [rbx + rdi + 3]
mov byte [r8 + r11 - 0x1d], dil
mov rdi, rax
shr rdi, 0x22
and edi, 0x3f
mov dil, byte [rbx + rdi + 3]
mov byte [r8 + r11 - 0x1c], dil
jl 0x1400f9155
in al, 0x48
mov edi, eax
shr rdi, 0x1c
and edi, 0x3f
mov dil, byte [rbx + rdi + 3]
mov byte [r8 + r11 - 0x1b], dil
sbb ch, ah
mov edi, eax
shr edi, 0x16
invalid
and edi, 0x3f
mov dil, byte [rbx + rdi + 3]
jl 0x1400f9199
add eax, dword [rbx - 0x78]
jl 0x1400f917b
out 0xc1, al
call 0x17ff0147a
mov dil, byte [rbx + rax + 3]
add eax, dword [rbx]
mov rax, qword [rcx + rsi + 6]
bswap rax
mov byte [r8 + r11 - 0x19], dil
mov rdi, rax
invalid
shr rdi, 0x3a
mov dil, byte [rbx + rdi + 3]
mov byte [r8 + r11 - 0x18], dil
mov rdi, rax
invalid
shr rdi, 0x34
and edi, 0x3f
mov dil, byte [rbx + rdi + 3]
add eax, dword [rbx - 0x78]
jl 0x1400f91b8
jmp 0x188d71aed
shr edi, 0x2e
and edi, 0x3f
mov dil, byte [rbx + rdi + 3]
mov byte [r8 + r11 - 0x16], dil
mov byte [rax + rbx - 0x16], bh
mov rdi, rax
shr rdi, 0x28
and edi, 0x3f
mov dil, byte [rbx + rdi + 3]
cmp eax, dword [rbx]
mov byte [r8 + r11 - 0x15], dil
mov rdi, rax
shr rdi, 0x22
and edi, 0x3f
mov dil, byte [rbx + rdi + 3]
mov byte [r8 + r11 - 0x14], dil
mov rdi, rax
shr rdi, 0x1c
and edi, 0x3f
mov dil, byte [rbx + rdi + 3]
mov byte [r8 + r11 - 0x13], dil
mov edi, eax
shr edi, 0x16
invalid
and edi, 0x3f
mov dil, byte [rbx + rdi + 3]
mov byte [r8 + r11 - 0x12], dil
shr eax, 0x10
and eax, 0x3f
mov al, byte [rbx + rax + 3]
mov byte [r8 + r11 - 0x11], al
mov rax, qword [rcx + rsi + 0xc]
bswap rax
mov rdi, rax
shr rdi, 0x3a
mov dil, byte [rbx + rdi + 3]
mov byte [r8 + r11 - 0x10], dil
jl 0x1400f9242
invalid
mov rdi, rax
shr rdi, 0x34
and edi, 0x3f
mov dil, byte [rbx + rdi + 3]
add eax, dword [rbx - 0x78]
jl 0x1400f9256
int1
mov rdi, rax
mov edi, eax
shr rdi, 0x2e
and edi, 0x3f
mov dil, byte [rbx + rdi + 3]
mov bh, byte [rbx + rdi + 3]
cmp eax, dword [rbx]
mov byte [r8 + r11 - 0xe], dil
mov rdi, rax
shr rdi, 0x28
and edi, 0x3f
out 0x3f, eax
mov dil, byte [rbx + rdi + 3]
mov byte [r8 + r11 - 0xd], dil
mov rdi, rax
shr rdi, 0x22
out dx, eax
and al, byte [rbx - 0x75bfc019]
and edi, 0x3f
mov dil, byte [rbx + rdi + 3]
mov byte [r8 + r11 - 0xc], dil
mov rdi, rax
invalid
shr rdi, 0x1c
shr edi, 0x1c
and edi, 0x3f
mov dil, byte [rbx + rdi + 3]
mov byte [r8 + r11 - 0xb], dil
cmc
mov edi, eax
mov ecx, 0xe78316ef
invalid
mov dil, byte [rbx + rdi + 3]
mov byte [r8 + r11 - 0xa], dil
sbb dh, dh
shr eax, 0x10
and eax, 0x3f
mov al, byte [rbx + rax + 3]
mov byte [r8 + r11 - 9], al
mov rax, qword [rcx + rsi + 0x12]
xor dword [rdx], r10d
bswap rax
mov rdi, rax
shr rdi, 0x3a
mov dil, byte [rbx + rdi + 3]
jl 0x1400f92fe
add eax, dword [rbx - 0x78]
jl 0x1400f92e0
clc
mov rdi, rax
shr rdi, 0x34
and edi, 0x3f
invalid
mov dil, byte [rbx + rdi + 3]
mov bh, byte [rbx + rdi + 3]
mov byte [r8 + r11 - 7], dil
mov rdi, rax
shr rdi, 0x2e
and edi, 0x3f
out 0x3f, eax
mov dil, byte [rbx + rdi + 3]
mov byte [r8 + r11 - 6], dil
mov rdi, rax
shr rdi, 0x28
out dx, eax
sub byte [rbx - 0x75bfc019], al
jl case.0x1400961c4.1106
add eax, dword [rbx - 0x78]
jl 0x1400f931c
sti
mov rdi, rax
invalid
shr rdi, 0x22
and edi, 0x3f
mov dil, byte [rbx + rdi + 3]
mov byte [r8 + r11 - 4], dil
jl 0x1400f9330
cld
mov rdi, rax
shr rdi, 0x1c
and edi, 0x3f
mov dil, byte [rbx + rdi + 3]
add eax, dword [rbx - 0x78]
mov byte [rax + rbx - 3], bh
mov edi, eax
shr edi, 0x16
and edi, 0x3f
mov dil, byte [rbx + rdi + 3]
cmp eax, dword [rbx]
mov byte [r8 + r11 - 2], dil
shr eax, 0x10
and eax, 0x3f
mov al, byte [rbx + rax + 3]
mov byte [r8 + r11 - 1], al
sbb dil, r15b
add rsi, 0x18
lea rax, [r11 + 0x20]
and byte [rax + 0x39], cl
invalid
jbe case.0x140053617.2509
std
invalid
invalid
movabs rdx, 0xaaaaaaaaaaaaaaab
mov rax, r10
mul rdx
mul edx
shr rdx, 1
lea rax, [rdx + rdx*2]
cmp rsi, rax
cmp esi, eax
jae case.0x1400961c4.1120
invalid
lea rdi, [rsi + 3]
cmp rsi, 0xfffffffffffffffc
ja 0x1400f95c3
xchg dword [rsi], esi
add al, byte [rax]
invalid
cmp rdi, r10
ja 0x1400f95d5
add byte [rax], al
lea rdx, [r11 + 4]
cmp r11, 0xfffffffffffffffb
ja 0x1400f95e7
add al, byte [r8]
invalid
cmp rdx, r9
ja 0x1400f95f6
movzx ebp, byte [rcx + rsi]
mov r14d, ebp
shr r14d, 2
out dx, al
add al, byte [rsi - 0x76]
je 0x1400f93ef
add eax, dword [rdi - 0x78]
xor al, 0x18
mov r14b, byte [rcx + rsi + 1]
mov dh, byte [rcx + rsi + 1]
shl bpl, 4
shl ch, 4
mov r15d, r14d
shr r15b, 4
or r15b, bpl
out dx, eax
movzx r15d, r15b
and r15d, 0x3f
mov bpl, byte [rbx + r15 + 3]
mov byte [r8 + r11 + 1], bpl
sbb byte [rcx], al
movzx esi, byte [rcx + rsi + 2]
xor dword [rdx], eax
shl r14b, 2
mov ebp, esi
shr bpl, 6
or bpl, r14b
movzx r14d, bpl
mov dh, 0xf5
and r14d, 0x3f
mov bpl, byte [rbx + r14 + 3]
mov byte [r8 + r11 + 2], bpl
mov byte [rax + rbx + 2], ch
and esi, 0x3f
out 0x3f, al
mov sil, byte [rbx + rsi + 3]
mov byte [r8 + r11 + 3], sil
mov rsi, rdi
mov r11, rdx
ror dword [rax + 0x39], cl
invalid
jb 0x1400f937f
jmp 0x1400f942b
mov rdx, r11
mov r11, r10
sub r11, rax
cmp r11, 1
je 0x1400f94b0
cmp r11, 2
jne 0x1400f94f0
add byte [rax], al
invalid
cmp rdx, r9
jae 0x1400f954b
add dword [rcx], 1
add byte [rax], al
mov r11b, byte [rcx + rax]
movzx esi, r11b
movzx esi, bl
shr esi, 2
mov sil, byte [rbx + rsi + 3]
mov dh, byte [rbx + rsi + 3]
mov byte [r8 + rdx], sil
inc rax
ror byte [rcx + rdi - 0x30], 0xf
xor esi, 0
add byte [rax], al
invalid
lea r10, [rdx + 1]
cmp r10, r9
jae 0x1400f957b
mov al, byte [rcx + rax]
mov ecx, eax
shr cl, 4
jmp 0x123cfd586
add al, 0x41
or bl, cl
movzx ecx, r11b
retf
and ecx, 0x3f
mov cl, byte [rbx + rcx + 3]
mov byte [r8 + rdx + 1], cl
add dword [rax - 0x73], ecx
add cl, byte [rcx + r15 - 0x37]
cmp rcx, r9
jae 0x1400f9587
shl al, 2
and al, 0x3c
mov r10d, 3
add byte [rax], al
add bl, ch
invalid
cmp rdx, r9
jae case.0x140035f03.2658
add byte [rax], al
mov al, byte [rcx + rax]
movzx ecx, al
shr ecx, 2
mov cl, byte [rbx + rcx + 3]
mov byte [r8 + rdx], cl
or al, 0x10
lea rcx, [rdx + 1]
add dword [rcx + rdi - 0x37], ecx
jae 0x1400f9572
shl al, 4
and al, 0x30
mov r10d, 2
add al, byte [rax]
add byte [rax], al
movzx eax, al
mov al, byte [rbx + rax + 3]
mov byte [r8 + rcx], al
mov byte [rax + rcx], al
add rdx, r10
invalid
cmp byte [rbx], 0
je case.0x140035f03.2654
invalid
mov rcx, r9
sub rcx, rdx
jb 0x1400f9620
invalid
mov eax, edx
neg eax
and eax, 3
je case.0x140035f03.2654
add r8, rdx
xor r9d, r9d
cmp rcx, r9
je case.0x140035f03.2656
mov byte [r8 + r9], 0x3d
inc r9
cmp rax, r9
jne 0x1400f9510
jmp 0x1400f9526
xor eax, eax
add rdx, rax
jb 0x1400f9608
invalid
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
lea r8, [0x14010ff90]
mov rdx, rcx
mov edx, ecx
call fcn.140101480
jg 0x1400f954a
invalid
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.21.2_srcenginegeneral_purposemod.rs
jmp 0x1400f955b
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.21.2_srcenginegeneral_purposemod.rs
mov rcx, rdx
jmp 0x1400f958e
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.21.2_srcenginegeneral_purposemod.rs
mov rcx, rax
mov rdx, r10
shr al, cl
call fcn.140101480
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.21.2_srcenginegeneral_purposemod.rs
jmp 0x1400f958e
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.21.2_srcenginegeneral_purposemod.rs
mov rcx, r10
mov ecx, edx
jmp 0x1400f958e
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.21.2_srcenginegeneral_purposemod.rs
mov rdx, r9
call fcn.140101480
add byte [rax], al
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.21.2_srcenginegeneral_purposemod.rs
mov rcx, rax
jmp case.0x1400961c4.1147
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.21.2_srcenginegeneral_purposemod.rs
mov rcx, 0xffffffffffffffe0
loopne case.0x140035f03.2662
invalid
invalid
push qword [rcx]
shr al, cl
invalid
invalid
add byte [rax], al
invalid
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.21.2_srcenginegeneral_purposemod.rs
mov rcx, r11
jmp 0x1400f9600
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.21.2_srcenginegeneral_purposemod.rs
mov rcx, rsi
mov rdx, rdi
mov edx, edi
call fcn.140101790
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.21.2_srcenginegeneral_purposemod.rs
mov rcx, rdi
mov ecx, edi
mov rdx, r10
call fcn.140101500
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.21.2_srcenginegeneral_purposemod.rs
mov rcx, r11
fld1
invalid
invalid
add byte [rax], al
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_base64_0.21.2_srcenginegeneral_purposemod.rs
mov rcx, rdx
mov rdx, r9
call fcn.140101500
lea rcx, str.usize_overflow_when_calculating_b64_length
lea r8, [0x14013bc10]
cli
and eax, 0x2aba0004
add byte [rax], al
add al, ch
jo 0x1400f95a1
add byte [rax], al
lea r8, [0x14013bbc8]
mov rcx, rdx
mov rdx, r9
call fcn.140101400
int3