Function at 0x1801da0c0
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x88
mov rdi, rdx
mov rsi, rcx
mov rax, qword [0x1804a9038]
xor rax, rsp
mov qword [rsp + 0x80], rax
mov r14, qword [rcx + 0x58]
mov r15, qword [rcx + 0x60]
cmp r14, r15
je 0x1801da104
lea rbx, [rsp + 0x60]
mov ebp, 0xfffffffe
jmp 0x1801da130
mov r15, qword [rsi + 0x78]
mov r12, qword [rsi + 0x80]
cmp r15, r12
je 0x1801da2f7
lea rbx, [rsp + 0x60]
mov ebp, 0xfffffffe
jmp 0x1801da200
add r14, 8
cmp r14, r15
je 0x1801da104
mov rcx, qword [r14]
mov eax, dword [rcx + 0x44]
mov rdx, qword [rsi + 0x320]
mov r12, qword [rdx + rax*8]
mov dword [rsp + 0x60], 0xaaaaaaaa
mov r8, qword [rsi]
mov rdx, rbx
call fcn.1801d4da0
mov rax, qword [r12]
test rax, rax
je 0x1801da164
tzcnt rcx, rax
jmp 0x1801da198
mov rax, qword [r12 + 8]
test rax, rax
je 0x1801da127
tzcnt rcx, rax
or ecx, 0x40
jmp 0x1801da198
cmp ecx, 0x7e
ja 0x1801da127
add cl, 0xc1
mov rax, qword [r12 + 8]
shr rax, cl
shl rax, cl
tzcnt rcx, rax
or ecx, 0x40
test rax, rax
je 0x1801da127
mov eax, ecx
mov rdx, qword [rdi + 0x90]
mov r8d, dword [rsp + 0x60]
cmp r8d, 0xffffffff
je 0x1801da1eb
mov r10d, dword [rdx + rax*4]
cmp r10d, 0xffffffff
je 0x1801da1cd
lea r9d, [r10 + r8]
cmp r9d, 0xffffffff
cmove r9d, ebp
add r10d, r8d
cmovb r9d, ebp
mov dword [rdx + rax*4], r9d
cmp ecx, 0x3e
ja 0x1801da178
inc cl
mov rax, qword [r12]
shr rax, cl
shl rax, cl
bsf rcx, rax
jne 0x1801da198
mov ecx, 0x3f
jmp 0x1801da17d
mov r9d, 0xffffffff
jmp 0x1801da1c9
add r15, 8
cmp r15, r12
je 0x1801da2f7
mov r14, qword [r15]
mov rdx, qword [rdi]
lea rcx, [r14 + 0x50]
add rdx, 0x50
mov r8b, 1
call fcn.1801d4ce0
test al, al
je 0x1801da1f3
mov eax, dword [r14 + 0x44]
mov rcx, qword [rsi + 0x320]
mov r13, qword [rcx + rax*8]
mov dword [rsp + 0x60], 0xaaaaaaaa
mov r8, qword [rsi]
mov rcx, r14
mov rdx, rbx
call fcn.1801d4da0
mov rax, qword [r13]
test rax, rax
je 0x1801da24f
tzcnt rcx, rax
jmp 0x1801da285
mov rax, qword [r13 + 8]
test rax, rax
je 0x1801da1f3
tzcnt rcx, rax
or ecx, 0x40
jmp 0x1801da285
cmp ecx, 0x7e
ja 0x1801da1f3
add cl, 0xc1
mov rax, qword [r13 + 8]
shr rax, cl
shl rax, cl
tzcnt rcx, rax
or ecx, 0x40
test rax, rax
je 0x1801da1f3
mov eax, ecx
mov rdx, qword [rdi + 0x90]
mov r8d, dword [rsp + 0x60]
cmp r8d, 0xffffffff
je 0x1801da2d8
mov r10d, dword [rdx + rax*4]
cmp r10d, 0xffffffff
je 0x1801da2ba
lea r9d, [r10 + r8]
cmp r9d, 0xffffffff
cmove r9d, ebp
add r10d, r8d
cmovb r9d, ebp
mov dword [rdx + rax*4], r9d
cmp ecx, 0x3e
ja 0x1801da262
inc cl
mov rax, qword [r13]
shr rax, cl
shl rax, cl
bsf rcx, rax
jne 0x1801da285
mov ecx, 0x3f
jmp 0x1801da267
mov r9d, 0xffffffff
jmp 0x1801da2b6
mov rax, qword [rdi + 0x20]
test rax, rax
je 0x1801da3f5
tzcnt rbx, rax
or ebx, 0x40
jmp 0x1801da305
mov rax, qword [rdi + 0x18]
test rax, rax
je 0x1801da2e0
tzcnt rbx, rax
mov ebp, 0xffffffff
jmp 0x1801da32d
cmp ebx, 0x7e
ja 0x1801da36f
add bl, 0xc1
mov rax, qword [rdi + 0x20]
mov ecx, ebx
shr rax, cl
shl rax, cl
tzcnt rbx, rax
or ebx, 0x40
test rax, rax
je 0x1801da36f
test ebp, ebp
js 0x1801da34d
mov eax, ebp
mov rcx, qword [rdi + 0x90]
lea rdx, [rcx + rax*4]
mov eax, ebx
lea rcx, [rcx + rax*4]
call fcn.1801d4b00
test al, al
je 0x1801da34f
mov ebp, ebx
cmp ebx, 0x3e
ja 0x1801da30c
inc bl
mov rax, qword [rdi + 0x18]
mov ecx, ebx
shr rax, cl
shl rax, cl
bsf rbx, rax
jne 0x1801da32d
mov ebx, 0x3f
jmp 0x1801da311
mov dword [rsp + 0x2c], ebp
mov r15d, ebp
lea rbx, [r15*4]
add rbx, qword [rdi + 0x90]
mov rcx, qword [rdi]
mov r8, qword [rsi]
lea r14, [rsp + 0x60]
mov rdx, r14
call fcn.1801d4da0
mov rcx, r14
mov rdx, rbx
call fcn.1801d4b10
test al, al
jne 0x1801da3fc
lea r14, [rsi + 0x58]
movabs rcx, 0x7fffffff8
mov rax, qword [rsi + 0x320]
mov rbx, qword [rax + r15*8]
mov rax, qword [rsi + 0x60]
sub rax, qword [rsi + 0x58]
test rax, rcx
mov qword [rsp + 0x38], r14
je 0x1801da67a
shr rax, 3
lea r15, [rsi + 0x98]
lea rcx, [rsi + 0xb8]
mov qword [rsp + 0x30], rcx
mov r12d, eax
jmp 0x1801da5c1
mov ebp, 0xffffffff
jmp 0x1801da400
mov ebp, dword [rsp + 0x2c]
mov rcx, qword [rdi]
cmp byte [rcx + 0x3c], 1
je 0x1801da430
mov rdx, qword [rsi + 0xa0]
cmp rdx, qword [rsi + 0xa8]
je 0x1801da981
mov qword [rdx], rcx
add rdx, 8
mov qword [rsi + 0xa0], rdx
jmp 0x1801da8af
cmp dword [rsi + 0xf8], 3
je 0x1801da47f
cmp byte [rsi + 0x73b], 0
je 0x1801dab06
mov rax, qword [rdi + 0x60]
or rax, qword [rdi + 0x68]
je 0x1801da463
mov rcx, rsi
mov rdx, rdi
xor r8d, r8d
call fcn.1801d9f20
jmp 0x1801da8af
mov rax, qword [rdi + 0x30]
test rax, rax
je 0x1801daa83
tzcnt rbx, rax
mov ebp, 0xffffffff
jmp 0x1801daac1
mov rcx, rsi
mov rdx, rdi
call fcn.1801d8be0
mov rax, qword [rsi + 0xa0]
cmp rax, qword [rsi + 0xa8]
je 0x1801dac7a
mov rcx, qword [rdi]
mov qword [rax], rcx
add rax, 8
mov qword [rsi + 0xa0], rax
jmp 0x1801da8af
mov rcx, qword [rsp + 0x30]
sub rax, qword [rcx]
mov r14, rax
sar r14, 3
lea rcx, [r14 + 1]
movabs rdx, 0x1fffffffffffffff
cmp rcx, rdx
ja 0x1801daa71
mov rbp, rbx
mov rbx, r15
mov r15, rax
sar r15, 2
cmp r15, rcx
cmovbe r15, rcx
movabs rcx, 0x7ffffffffffffff8
cmp rax, rcx
cmovae r15, rdx
test r15, r15
je 0x1801da536
call fcn.1801d4910
lea rdx, [r15*8]
mov r8d, 8
mov rcx, rax
call fcn.180185210
lea rcx, [rax + r14*8]
mov qword [rcx], r13
mov rdx, qword [rsi + 0xb8]
mov r8, qword [rsi + 0xc0]
jmp 0x1801da54a
xor eax, eax
jmp 0x1801da51f
mov r9, qword [r8 - 8]
add r8, 0xfffffffffffffff8
mov qword [rcx - 8], r9
add rcx, 0xfffffffffffffff8
cmp r8, rdx
jne 0x1801da53a
lea rdx, [rax + r15*8]
lea rax, [rax + r14*8]
add rax, 8
mov qword [rsi + 0xb8], rcx
mov qword [rsi + 0xc0], rax
mov qword [rsi + 0xc8], rdx
mov r14, qword [rsp + 0x38]
mov r15, rbx
mov rbx, rbp
jmp 0x1801da5b8
mov dword [r13 + 0x44], 0xffffffff
mov rcx, rsi
mov rdx, r14
mov r8d, r12d
mov r9, r15
call fcn.1801d9350
mov rax, qword [rsi + 0xc0]
cmp rax, qword [rsi + 0xc8]
je 0x1801da4b4
mov qword [rax], r13
add rax, 8
mov qword [rsi + 0xc0], rax
test r12d, r12d
je 0x1801da67a
dec r12
mov eax, r12d
mov rcx, qword [rsi + 0x58]
mov rdx, qword [rsi + 0x60]
sub rdx, rcx
sar rdx, 3
cmp rdx, rax
jbe 0x1801daa45
mov r13, qword [rcx + rax*8]
mov eax, dword [r13 + 0x44]
mov rcx, rax
shr rcx, 6
mov rcx, qword [rbx + rcx*8]
bt rcx, rax
jae 0x1801da5b8
mov rcx, qword [rsi + 0x320]
mov rax, qword [rcx + rax*8]
mov rcx, qword [rax]
test rcx, rcx
je 0x1801da612
tzcnt rcx, rcx
jmp 0x1801da650
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x1801da57d
tzcnt rcx, rcx
or ecx, 0x40
jmp 0x1801da650
cmp ecx, 0x7e
ja 0x1801da57d
add cl, 0xc1
mov rdx, qword [rax + 8]
shr rdx, cl
shl rdx, cl
tzcnt rcx, rdx
or ecx, 0x40
test rdx, rdx
je 0x1801da57d
mov edx, ecx
mov r8, qword [rsi + 0x100]
dec dword [r8 + rdx*4]
cmp ecx, 0x3e
ja 0x1801da629
inc cl
mov rdx, qword [rax]
shr rdx, cl
shl rdx, cl
bsf rcx, rdx
jne 0x1801da650
mov ecx, 0x3f
jmp 0x1801da632
mov rax, qword [rsi + 0x80]
sub rax, qword [rsi + 0x78]
movabs rcx, 0x7fffffff8
test rax, rcx
je 0x1801da823
lea rbp, [rsi + 0x78]
shr rax, 3
lea r12, [rsi + 0x98]
lea rcx, [rsi + 0xb8]
mov qword [rsp + 0x30], rcx
mov r13d, eax
mov qword [rsp + 0x40], rbp
jmp 0x1801da719
mov r9, qword [r8 - 8]
add r8, 0xfffffffffffffff8
mov qword [rcx - 8], r9
add rcx, 0xfffffffffffffff8
cmp r8, rdx
jne 0x1801da6bd
lea rdx, [rax + r12*8]
lea rax, [rax + r14*8]
add rax, 8
mov qword [rsi + 0xb8], rcx
mov qword [rsi + 0xc0], rax
mov qword [rsi + 0xc8], rdx
mov r14, qword [rsp + 0x38]
mov r12, rbp
mov rbp, qword [rsp + 0x40]
jmp 0x1801da710
mov qword [rax], r15
add rax, 8
mov qword [rsi + 0xc0], rax
test r13d, r13d
je 0x1801da823
dec r13
mov eax, r13d
mov rcx, qword [rsi + 0x78]
mov rdx, qword [rsi + 0x80]
sub rdx, rcx
sar rdx, 3
cmp rdx, rax
jbe 0x1801daa45
mov r15, qword [rcx + rax*8]
mov eax, dword [r15 + 0x44]
mov rcx, rax
shr rcx, 3
and ecx, 0x1ffffff8
mov rcx, qword [rbx + rcx]
bt rcx, rax
jae 0x1801da710
mov rdx, qword [rdi]
lea rcx, [r15 + 0x50]
add rdx, 0x50
mov r8b, 1
call fcn.1801d4ce0
test al, al
je 0x1801da710
mov dword [r15 + 0x44], 0xffffffff
mov rcx, rsi
mov rdx, rbp
mov r8d, r13d
mov r9, r12
call fcn.1801d9350
mov rax, qword [rsi + 0xc0]
cmp rax, qword [rsi + 0xc8]
jne 0x1801da702
mov rcx, qword [rsp + 0x30]
sub rax, qword [rcx]
mov r14, rax
sar r14, 3
lea rcx, [r14 + 1]
movabs rdx, 0x1fffffffffffffff
cmp rcx, rdx
ja 0x1801daa71
mov rbp, r12
mov r12, rax
sar r12, 2
cmp r12, rcx
cmovbe r12, rcx
movabs rcx, 0x7ffffffffffffff8
cmp rax, rcx
cmovae r12, rdx
test r12, r12
je 0x1801da81f
call fcn.1801d4910
lea rdx, [r12*8]
mov r8d, 8
mov rcx, rax
call fcn.180185210
lea rcx, [rax + r14*8]
mov qword [rcx], r15
mov rdx, qword [rsi + 0xb8]
mov r8, qword [rsi + 0xc0]
jmp 0x1801da6cd
xor eax, eax
jmp 0x1801da805
mov rax, qword [rdi]
mov ecx, dword [rsp + 0x2c]
mov dword [rax + 0x44], ecx
mov rax, qword [rbx]
test rax, rax
je 0x1801da83c
tzcnt rcx, rax
jmp 0x1801da86e
mov rax, qword [rbx + 8]
test rax, rax
je 0x1801da897
tzcnt rcx, rax
or ecx, 0x40
jmp 0x1801da86e
cmp ecx, 0x7e
ja 0x1801da897
add cl, 0xc1
mov rax, qword [rbx + 8]
shr rax, cl
shl rax, cl
tzcnt rcx, rax
or ecx, 0x40
test rax, rax
je 0x1801da897
mov eax, ecx
mov rdx, qword [rsi + 0x100]
inc dword [rdx + rax*4]
cmp ecx, 0x3e
ja 0x1801da84f
inc cl
mov rax, qword [rbx]
shr rax, cl
shl rax, cl
bsf rcx, rax
jne 0x1801da86e
mov ecx, 0x3f
jmp 0x1801da854
mov rax, qword [rsi + 0x60]
cmp rax, qword [rsi + 0x68]
je 0x1801da8d4
mov rcx, qword [rdi]
mov qword [rax], rcx
add rax, 8
mov qword [rsi + 0x60], rax
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.180364a40
nop
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
sub rax, qword [r14]
mov rbx, rax
sar rbx, 3
lea r8, [rbx + 1]
mov rcx, r14
movabs r14, 0x1fffffffffffffff
cmp r8, r14
ja 0x1801daa7e
mov rdx, rax
sar rdx, 2
cmp rdx, r8
cmovbe rdx, r8
movabs rcx, 0x7ffffffffffffff8
cmp rax, rcx
cmovb r14, rdx
test r14, r14
je 0x1801da957
call fcn.1801d4910
lea rdx, [r14*8]
mov r8d, 8
mov rcx, rax
call fcn.180185210
lea rdx, [rax + rbx*8]
lea rcx, [rax + r14*8]
mov r8, qword [rdi]
mov qword [rdx], r8
lea rax, [rax + rbx*8]
add rax, 8
mov r8, qword [rsi + 0x58]
mov r9, qword [rsi + 0x60]
jmp 0x1801da96b
xor eax, eax
jmp 0x1801da937
mov r10, qword [r9 - 8]
add r9, 0xfffffffffffffff8
mov qword [rdx - 8], r10
add rdx, 0xfffffffffffffff8
cmp r9, r8
jne 0x1801da95b
mov qword [rsi + 0x58], rdx
mov qword [rsi + 0x60], rax
mov qword [rsi + 0x68], rcx
jmp 0x1801da8af
lea rax, [rsi + 0x98]
sub rdx, qword [rax]
mov rbx, rdx
sar rbx, 3
lea r8, [rbx + 1]
mov r9, r8
shr r9, 0x3d
jne 0x1801daa7b
movabs rax, 0x1fffffffffffffff
mov r14, rdx
sar r14, 2
cmp r14, r8
cmovbe r14, r8
movabs r8, 0x7ffffffffffffff8
cmp rdx, r8
cmovae r14, rax
test r14, r14
je 0x1801daa12
call fcn.1801d4910
lea rdx, [r14*8]
mov r8d, 8
mov rcx, rax
call fcn.180185210
mov rcx, qword [rdi]
lea r8, [rax + rbx*8]
lea rdx, [rax + r14*8]
mov qword [r8], rcx
lea rax, [rax + rbx*8]
add rax, 8
mov rcx, qword [rsi + 0x98]
mov r9, qword [rsi + 0xa0]
jmp 0x1801daa26
xor eax, eax
jmp 0x1801da9ef
mov r10, qword [r9 - 8]
add r9, 0xfffffffffffffff8
mov qword [r8 - 8], r10
add r8, 0xfffffffffffffff8
cmp r9, rcx
jne 0x1801daa16
mov qword [rsi + 0x98], r8
mov qword [rsi + 0xa0], rax
mov qword [rsi + 0xa8], rdx
jmp 0x1801da8af
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 + 0x30]
call fcn.180007700
mov rcx, rax
call fcn.180007700
mov rax, qword [rdi + 0x38]
test rax, rax
je 0x1801daa99
tzcnt rbx, rax
or ebx, 0x40
jmp 0x1801da475
mov ebp, 0xffffffff
jmp 0x1801dab06
cmp ebx, 0x7e
ja 0x1801dab03
add bl, 0xc1
mov rax, qword [rdi + 0x38]
mov ecx, ebx
shr rax, cl
shl rax, cl
tzcnt rbx, rax
or ebx, 0x40
test rax, rax
je 0x1801dab03
test ebp, ebp
js 0x1801daae1
mov eax, ebp
mov rcx, qword [rdi + 0x90]
lea rdx, [rcx + rax*4]
mov eax, ebx
lea rcx, [rcx + rax*4]
call fcn.1801d4b00
test al, al
je 0x1801daae3
mov ebp, ebx
cmp ebx, 0x3e
ja 0x1801daaa0
inc bl
mov rax, qword [rdi + 0x30]
mov ecx, ebx
shr rax, cl
shl rax, cl
bsf rbx, rax
jne 0x1801daac1
mov ebx, 0x3f
jmp 0x1801daaa5
mov rcx, qword [rdi]
mov dword [rsp + 0x2c], ebp
movsxd r15, ebp
lea rbx, [r15*4]
add rbx, qword [rdi + 0x90]
mov r8, qword [rsi]
lea r14, [rsp + 0x60]
mov rdx, r14
call fcn.1801d4da0
mov rcx, r14
mov rdx, rbx
call fcn.1801d4b10
test al, al
je 0x1801da3a7
mov rbx, qword [rsi]
mov rcx, qword [rdi]
lea r14, [rsp + 0x48]
mov rdx, r14
call fcn.1801a26e0
lea r8, str.Unable_to_find_a_physical_register_for_an_infinite_weight_live_range__consider_using__reg_reserve_:
mov r9d, 0x64
mov rcx, r14
xor edx, edx
call fcn.1802454e0
mov rcx, qword [rax + 0x10]
lea r14, [rsp + 0x60]
mov qword [r14 + 0x10], rcx
movups xmm0, xmmword [rax]
movaps xmmword [r14], xmm0
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], 0
mov rcx, rbx
mov rdx, r14
call fcn.18019b2b0
test byte [r14], 1
je 0x1801daba6
mov rcx, qword [rsp + 0x70]
call fcn.180363dac
test byte [rsp + 0x48], 1
je 0x1801dabb7
mov rcx, qword [rsp + 0x58]
call fcn.180363dac
mov rax, qword [rsi + 0xa0]
cmp rax, qword [rsi + 0xa8]
jne 0x1801da49e
lea rcx, [rsi + 0x98]
sub rax, qword [rcx]
mov rbx, rax
sar rbx, 3
lea rdx, [rbx + 1]
mov r8, rdx
shr r8, 0x3d
jne 0x1801daa7e
movabs rcx, 0x1fffffffffffffff
mov r14, rax
sar r14, 2
cmp r14, rdx
cmovbe r14, rdx
movabs rdx, 0x7ffffffffffffff8
cmp rax, rdx
cmovae r14, rcx
test r14, r14
je 0x1801dac5c
call fcn.1801d4910
lea rdx, [r14*8]
mov r8d, 8
mov rcx, rax
call fcn.180185210
lea rdx, [rax + rbx*8]
lea rcx, [rax + r14*8]
mov r8, qword [rdi]
mov qword [rdx], r8
lea rax, [rax + rbx*8]
add rax, 8
mov r8, qword [rsi + 0x98]
mov r9, qword [rsi + 0xa0]
jmp 0x1801dac70
xor eax, eax
jmp 0x1801dac36
mov r10, qword [r9 - 8]
add r9, 0xfffffffffffffff8
mov qword [rdx - 8], r10
add rdx, 0xfffffffffffffff8
cmp r9, r8
jne 0x1801dac60
jmp 0x1801dad24
lea rcx, [rsi + 0x98]
sub rax, qword [rcx]
mov rbx, rax
sar rbx, 3
lea rdx, [rbx + 1]
mov r8, rdx
shr r8, 0x3d
jne 0x1801daa7e
movabs rcx, 0x1fffffffffffffff
mov r14, rax
sar r14, 2
cmp r14, rdx
cmovbe r14, rdx
movabs rdx, 0x7ffffffffffffff8
cmp rax, rdx
cmovae r14, rcx
test r14, r14
je 0x1801dad0b
call fcn.1801d4910
lea rdx, [r14*8]
mov r8d, 8
mov rcx, rax
call fcn.180185210
lea rdx, [rax + rbx*8]
lea rcx, [rax + r14*8]
mov r8, qword [rdi]
mov qword [rdx], r8
lea rax, [rax + rbx*8]
add rax, 8
mov r8, qword [rsi + 0x98]
mov r9, qword [rsi + 0xa0]
jmp 0x1801dad1f
xor eax, eax
jmp 0x1801dace5
mov r10, qword [r9 - 8]
add r9, 0xfffffffffffffff8
mov qword [rdx - 8], r10
add rdx, 0xfffffffffffffff8
cmp r9, r8
jne 0x1801dad0f
mov qword [rsi + 0x98], rdx
mov qword [rsi + 0xa0], rax
mov qword [rsi + 0xa8], rcx
jmp 0x1801da8af