Function at 0x1801e1c40
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
mov qword [rsp + 0x70], r9
mov qword [rsp + 0x78], r8
mov qword [rsp + 0x40], rdx
mov rdi, rcx
mov rax, qword [0x1804a9038]
xor rax, rsp
mov qword [rsp + 0xb0], rax
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax + 0x80]
sub rsi, qword [rax + 0x78]
mov rax, qword [rax + 0xf8]
mov qword [rsp + 0x50], rax
shr rsi, 3
add esi, 0x1f
shr esi, 3
call fcn.1801d4910
and esi, 0xfffffffc
mov r8d, 4
mov rcx, rax
mov rdx, rsi
call fcn.180185210
mov rbp, rax
mov rcx, rax
xor edx, edx
mov r8, rsi
call fcn.180366c80
mov qword [rsp + 0x48], rdi
mov rax, qword [rdi + 0x10]
mov rcx, qword [rax + 0x50]
mov rax, qword [rax + 0x58]
mov qword [rsp + 0x38], rcx
cmp rcx, rax
je 0x1801e1df3
mov r8, qword [rsp + 0x38]
jmp 0x1801e1cf8
add r8, 8
cmp r8, rax
je 0x1801e1df3
mov r9, qword [r8]
mov r10, qword [r9 + 0xa0]
add r9, 0x98
jmp 0x1801e1d0f
mov r10, qword [r10 + 8]
cmp r10, r9
je 0x1801e1ceb
lea rsi, [r10 - 8]
test r10, r10
cmove rsi, r10
cmp byte [rsi + 0x20], 0
jne 0x1801e1d0b
mov rcx, qword [rsi + 0x30]
test rcx, rcx
je 0x1801e1d4b
mov ecx, dword [rcx + 0x28]
mov r11, rcx
shr r11, 3
mov ebx, 1
shl ebx, cl
and r11d, 0x1ffffffc
or dword [rbp + r11], ebx
mov r11, qword [rsi + 0x40]
mov rsi, qword [rsi + 0x48]
sub rsi, r11
mov rbx, rsi
shr rbx, 3
test ebx, ebx
je 0x1801e1d0b
sar rsi, 3
xor r14d, r14d
jmp 0x1801e1d72
inc r14d
cmp r14d, ebx
je 0x1801e1d0b
mov r14d, r14d
cmp rsi, r14
jbe 0x1801e1db7
mov rcx, qword [r11 + r14*8]
mov r15d, dword [rcx + 0x10]
test r15, r15
je 0x1801e1d6a
mov r12, qword [rcx + 0x18]
xor r13d, r13d
mov rcx, qword [r12 + r13*8]
mov ecx, dword [rcx + 0x28]
mov rdx, rcx
shr rdx, 3
mov edi, 1
shl edi, cl
and edx, 0x1ffffffc
or dword [rbp + rdx], edi
inc r13
cmp r15, r13
jne 0x1801e1d8e
jmp 0x1801e1d6a
lea rax, str.vector___index_out_of_bounds
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude_vector
lea r9, str.__n___size__
mov r8d, 0x5c1
call fcn.1803aa860
xor eax, eax
mov qword [rsp + 0x38], rax
xor eax, eax
mov qword [rsp + 0x58], rax
jmp 0x1801e1e4e
mov rcx, qword [rsp + 0x48]
mov r15b, byte [rcx + 0x21]
sub rax, qword [rsp + 0x38]
shr rax, 3
mov ebx, 0xffffffff
and rbx, rax
je 0x1801e1de3
call fcn.1801d4910
lea rsi, [rbx*8]
mov r8d, 8
mov rcx, rax
mov rdx, rsi
call fcn.180185210
mov rdi, rax
mov rcx, rax
xor edx, edx
mov r8, rsi
call fcn.180366c80
mov rax, rdi
mov qword [rsp + 0x58], rdi
lea rax, [rdi + rbx*8]
mov qword [rsp + 0x38], rax
mov rdi, qword [rsp + 0x50]
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
mov r13, qword [rax + 0x78]
mov r12, qword [rax + 0x80]
cmp r13, r12
je 0x1801e2040
xor esi, esi
mov r14d, 0xffffffff
jmp 0x1801e1f2d
mov eax, dword [rbx + 0x28]
mov rcx, rax
shr rcx, 3
and ecx, 0x1ffffffc
mov ecx, dword [rbp + rcx]
bt ecx, eax
jae 0x1801e1f20
mov qword [rsp + 0xa8], rbx
mov rax, qword [rsp + 0x138]
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x1801e22e6
mov rax, qword [rcx]
mov rax, qword [rax + 0x28]
lea rdx, [rsp + 0xa8]
call qword [0x1804ec008]
test al, al
jne 0x1801e1f20
cmp dword [rbx + 0x48], 0x80000000
jne 0x1801e1eef
mov dword [rbx + 0x48], 0x80000001
cmp rsi, qword [rsp + 0x90]
je 0x1801e1f59
mov qword [rsi], rbx
add rsi, 8
mov qword [rsp + 0x88], rsi
jmp 0x1801e1f20
cmp byte [rbx + 0x38], 0
je 0x1801e1e90
cmp dword [rbx + 0x48], 0x80000000
jne 0x1801e1f20
mov dword [rbx + 0x48], 0x80000001
add r13, 8
cmp r13, r12
je 0x1801e2047
mov rbx, qword [r13]
mov ecx, dword [rbx + 0x40]
cmp rcx, r14
je 0x1801e1f0a
cmp byte [rbx + 0x3b], 0
jne 0x1801e1f20
mov rax, rcx
mov edx, 1
shl rdx, cl
shr rax, 6
mov rcx, qword [rsp + 0x78]
or qword [rcx + rax*8], rdx
jmp 0x1801e1f20
mov byte [rsp + 0x37], r15b
mov r15, qword [rsp + 0x80]
mov rax, rsi
sub rax, r15
mov r8, rax
sar r8, 3
lea rcx, [r8 + 1]
mov rdx, rcx
shr rdx, 0x3d
jne 0x1801e22d9
mov rdi, rax
sar rdi, 2
cmp rdi, rcx
cmovbe rdi, rcx
movabs rcx, 0x7ffffffffffffff8
cmp rax, rcx
movabs rax, 0x1fffffffffffffff
cmovae rdi, rax
test rdi, rdi
mov qword [rsp + 0x60], rdi
je 0x1801e2035
mov qword [rsp + 0x68], r8
call fcn.1801d4910
lea rdx, [rdi*8]
mov r8d, 8
mov rcx, rax
call fcn.180185210
mov r8, qword [rsp + 0x68]
lea rcx, [rax + r8*8]
mov qword [rcx], rbx
cmp rsi, r15
mov rdi, qword [rsp + 0x50]
je 0x1801e2039
mov r9, qword [rsp + 0x60]
mov rdx, qword [rsi - 8]
add rsi, 0xfffffffffffffff8
mov qword [rcx - 8], rdx
add rcx, 0xfffffffffffffff8
cmp rsi, r15
jne 0x1801e1ff2
lea rdx, [rax + r9*8]
lea rsi, [rax + r8*8]
add rsi, 8
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x88], rsi
mov qword [rsp + 0x90], rdx
mov r15b, byte [rsp + 0x37]
jmp 0x1801e1f20
xor eax, eax
jmp 0x1801e1fdc
mov r9, qword [rsp + 0x60]
jmp 0x1801e2007
xor r13d, r13d
xor esi, esi
jmp 0x1801e204f
mov r13, qword [rsp + 0x80]
mov rbp, rsi
sub rbp, r13
mov r14, rbp
sar r14, 3
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax]
mov rax, qword [rax + 0x10]
sub rax, rcx
sar rax, 3
cmp rax, r14
jae 0x1801e20e7
test rbp, rbp
js 0x1801e22cf
mov r12d, r15d
mov r15, qword [rsp + 0x40]
mov rbx, qword [r15 + 8]
sub rbx, rcx
call fcn.1801d4910
mov r8d, 8
mov rcx, rax
mov rdx, rbp
call fcn.180185210
and rbx, 0xfffffffffffffff8
add rbx, rax
lea rax, [rax + r14*8]
mov r14, r15
mov rdx, qword [r15]
mov r8, qword [r15 + 8]
mov rcx, rbx
cmp r8, rdx
je 0x1801e20d7
mov rcx, rbx
mov r9, qword [r8 - 8]
add r8, 0xfffffffffffffff8
mov qword [rcx - 8], r9
add rcx, 0xfffffffffffffff8
cmp r8, rdx
jne 0x1801e20c2
mov qword [r14], rcx
mov qword [r14 + 8], rbx
mov qword [r14 + 0x10], rax
mov r15d, r12d
jmp 0x1801e20ec
mov r14, qword [rsp + 0x40]
lea rax, [rsp + 0x80]
cmp rax, r14
je 0x1801e210a
mov rcx, r14
mov rdx, r13
mov r8, rsi
call fcn.1801a3a70
mov rcx, qword [r14]
mov r12, qword [rsp + 0x120]
mov rdx, qword [r14 + 8]
mov rax, rdx
sub rax, rcx
sar rax, 3
bsr rax, rax
xor rax, 0x3f
add rax, rax
xor rax, 0x7e
xor r9d, r9d
cmp rdx, rcx
lea r8, [rsp + 0xa8]
mov r10, qword [rsp + 0x48]
mov qword [r8], r10
cmovne r9, rax
mov byte [rsp + 0x20], 1
call fcn.1801e3910
mov r13, qword [r14]
mov rbp, qword [r14 + 8]
cmp r13, rbp
je 0x1801e224d
mov rbx, qword [rsp + 0x128]
mov rax, qword [rsp + 0x38]
sub rax, qword [rsp + 0x58]
sar rax, 3
mov qword [rsp + 0x38], rax
jmp 0x1801e219b
mov rax, qword [rsp + 0x70]
add qword [rax], rsi
jmp 0x1801e218e
add qword [r12], rsi
add r13, 8
cmp r13, rbp
je 0x1801e224d
mov r14, qword [r13]
mov edx, dword [r14 + 8]
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
mov rax, qword [rax + 0x78]
call qword [0x1804ec008]
mov rsi, rax
cmp dword [rbx], 0
jne 0x1801e21bf
mov dword [rbx], esi
test r15b, r15b
jne 0x1801e218a
mov rax, qword [rdi + 0x18]
sub rax, qword [rdi + 0x10]
mov ecx, dword [r14 + 0x28]
sar rax, 3
movabs rdx, 0x8e38e38e38e38e39
imul rax, rdx
cmp rax, rcx
jbe 0x1801e218a
mov rcx, rdi
mov rdx, r14
call fcn.1801d56e0
test al, al
jne 0x1801e2180
mov rcx, rdi
mov rdx, r14
call fcn.1801d5920
mov eax, dword [rax + 8]
cmp qword [rsp + 0x38], rax
jbe 0x1801e22a3
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rdx + rax*8]
add rcx, rsi
mov qword [rdx + rax*8], rcx
cmp rcx, qword [r12]
jbe 0x1801e2229
mov qword [r12], rcx
mov rax, qword [rsp + 0x130]
cmp dword [rax], 0
jne 0x1801e218e
mov dword [rax], esi
jmp 0x1801e218e
mov rax, qword [rdx]
mov rax, qword [rax + 0x18]
mov rcx, rdx
jmp 0x1801e2278
mov eax, dword [0x1804d1820]
add qword [r12], rax
mov rdx, qword [rsp + 0x138]
mov rcx, qword [rdx + 0x20]
add rdx, 8
cmp rcx, rdx
je 0x1801e2241
test rcx, rcx
je 0x1801e227e
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [0x1804ec008]
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.180364a40
nop
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rax, str.vector___index_out_of_bounds
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude_vector
lea r9, str.__n___size__
mov r8d, 0x5b7
call fcn.1803aa860
mov rcx, qword [rsp + 0x40]
call fcn.180007700
lea rcx, [rsp + 0x80]
call fcn.180007700
call fcn.18039d020
int3