Function at 0x1400c6b80
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x138
mov rbx, qword [rcx]
mov r12, qword [rcx + 8]
mov r14, r12
sub r14, rbx
cmp r14, 2
jae 0x1400c6bbf
xor edi, edi
mov rax, rdi
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rsi, rcx
lea rcx, [0x1400e8fb5]
mov r8d, 2
mov rdx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strncmp
mov edi, eax
test eax, eax
je 0x1400c6be2
xor r11d, r11d
jmp 0x1400c6bf8
add rbx, 2
mov qword [rsi], rbx
mov r14, r12
sub r14, rbx
mov r11b, 1
cmp r14, 2
jb 0x1400c6ba6
movzx eax, byte [rbx]
mov edx, 0x3d
xor ecx, ecx
lea rbp, [0x1400e9270]
jmp 0x1400c6c1b
inc r8
mov rcx, r8
cmp rdx, rcx
je 0x1400c6c54
lea r8, [rcx + rdx]
shr r8, 1
mov r9, r8
shl r9, 4
movzx r10d, byte [r9 + rbp]
cmp al, r10b
jg 0x1400c6c10
cmp al, r10b
jne 0x1400c6c4c
movzx r9d, byte [r9 + rbp + 1]
cmp byte [rbx + 1], r9b
setg r9b
test r9b, 1
jne 0x1400c6c10
mov rdx, r8
cmp rdx, rcx
jne 0x1400c6c1b
shl rcx, 4
cmp al, byte [rcx + rbp]
jne 0x1400c6dc6
add rbp, rcx
movzx ecx, byte [rbx + 1]
cmp cl, byte [rbp + 1]
jne 0x1400c6dc6
mov dword [rsp + 0x64], r11d
lea r15, [rbx + 2]
mov qword [rsi], r15
movzx r13d, byte [rbp + 2]
mov rdi, qword [rbp + 8]
mov qword [rsp + 0x40], rdi
mov rcx, rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r14, rax
add rax, rdi
mov qword [rsp + 0x48], rax
cmp r13d, 0xa
ja case.default.0x1400c6d11
mov dword [rsp + 0x7c], r13d
cmp r14, 8
jb 0x1400c7efc
lea rcx, [0x1400e906c]
mov r13d, 8
mov r8d, 8
mov rdx, rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_strncmp
test eax, eax
jne 0x1400c7efc
cmp r14, 8
cmovb r13, r14
add rdi, r13
mov qword [rsp + 0x40], rdi
cmp r14, 9
mov r13d, dword [rsp + 0x7c]
jb case.default.0x1400c6d11
cmp byte [rdi], 0x20
jne case.default.0x1400c6d11
inc rdi
mov qword [rsp + 0x40], rdi
xor edi, edi
mov eax, r13d
lea rcx, [0x1400c7f28]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov ebp, dword [rbp + 4]
mov rcx, rsi
call fcn.1400c6b80
test rax, rax
je 0x1400c6ba6
mov rbx, rax
mov r14, qword [rsi + 0x1330]
mov rcx, qword [r14 + 8]
lea rax, [rcx - 0xfc0]
cmp rax, 0xfffffffffffff00f
ja 0x1400c6d6e
mov ecx, 0x1000
call sub.mozglue.dll_malloc
test rax, rax
je 0x1400c7ef7
mov qword [rax], r14
mov qword [rax + 8], 0
mov qword [rsi + 0x1330], rax
xor ecx, ecx
mov r14, rax
lea rax, [rcx + 0x30]
mov qword [r14 + 8], rax
lea rdi, [r14 + rcx]
add rdi, 0x10
mov byte [r14 + rcx + 0x18], 0x3e
mov eax, dword [r14 + rcx + 0x1c]
and ebp, 0x3f
and eax, 0xffffffc0
or eax, ebp
mov dword [r14 + rcx + 0x1c], eax
movzx eax, byte [r14 + rcx + 0x20]
and al, 0xc0
or al, 0x15
mov byte [r14 + rcx + 0x20], al
lea rax, [0x1400e9758]
mov qword [r14 + rcx + 0x10], rax
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [r14 + rcx + 0x28], xmm0
mov qword [r14 + rcx + 0x38], rbx
jmp case.0x1400c6d11.10
cmp eax, 0x66
je 0x1400c6df0
cmp eax, 0x54
je 0x1400c6e17
cmp eax, 0x4c
jne 0x1400c6e32
mov rcx, rsi
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.1400c86a0
movzx eax, byte [rbx + 1]
cmp al, 0x70
jne 0x1400c6ee0
mov rcx, rsi
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x1400c9270
mov rcx, rsi
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.1400c5b10
lea rcx, [0x1400e8fbb]
mov r8d, 2
mov rdx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strncmp
test eax, eax
je 0x1400c6f15
sub r12, rbx
cmp r12, 2
jb 0x1400c6e75
lea rcx, [0x1400e8fbe]
mov r8d, 2
mov rdx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strncmp
test eax, eax
je 0x1400c70b6
lea rax, [0x1400e8fc1]
mov qword [rsp + 0xf0], rax
lea rax, [0x1400e8fc3]
mov qword [rsp + 0xf8], rax
lea rdx, [rsp + 0xf0]
mov rcx, rsi
call fcn.1400c0b30
test al, al
je 0x1400c6fe2
mov rcx, rsi
call fcn.1400c6b80
mov qword [rsp + 0x40], rax
test rax, rax
je 0x1400c6ba6
mov dword [rsp + 0x50], 2
lea rdx, [rsp + 0x40]
lea r8, [rsp + 0x50]
mov rcx, rsi
call fcn.1400c9dc0
jmp 0x1400c7d44
cmp al, 0x4c
jne 0x1400c6efa
cmp r14, 3
jb 0x1400c6efa
movsx eax, byte [rbx + 2]
add eax, 0xffffffd0
cmp eax, 9
jbe 0x1400c6dfc
mov rcx, rsi
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x1400c9600
add rbx, 2
mov qword [rsi], rbx
mov r14, qword [rsi + 0x18]
sub r14, qword [rsi + 0x10]
sar r14, 3
lea r15, [rsi + 0x28]
xor edi, edi
jmp 0x1400c6f77
call sub.mozglue.dll_realloc
mov r13, rax
mov qword [rsi + 0x10], rax
test rax, rax
je 0x1400c7ef7
lea rax, [r12 + r13]
sar r12, 2
mov qword [rsi + 0x18], rax
lea rcx, [r12*8]
add rcx, r13
mov qword [rsi + 0x20], rcx
mov r12, rax
lea rax, [r12 + 8]
mov qword [rsi + 0x18], rax
mov qword [r12], rbx
mov rbx, qword [rsi]
mov r12, qword [rsi + 8]
cmp rbx, r12
je 0x1400c6f85
cmp byte [rbx], 0x45
je 0x1400c702f
mov rcx, rsi
call fcn.1400c98d0
test rax, rax
je case.0x1400c6d11.10
mov rbx, rax
mov r12, qword [rsi + 0x18]
cmp r12, qword [rsi + 0x20]
jne 0x1400c6f63
mov rcx, qword [rsi + 0x10]
sub r12, rcx
lea rdx, [r12 + r12]
cmp rcx, r15
jne 0x1400c6f30
mov rcx, rdx
call sub.mozglue.dll_malloc
test rax, rax
je 0x1400c7ef7
mov r13, rax
mov rcx, rax
mov rdx, r15
mov r8, r12
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov qword [rsi + 0x10], r13
jmp 0x1400c6f45
lea rax, [0x1400e8fce]
mov qword [rsp + 0xe0], rax
lea rax, [0x1400e8fd0]
mov qword [rsp + 0xe8], rax
lea rdx, [rsp + 0xe0]
mov rcx, rsi
call fcn.1400c0b30
test al, al
je 0x1400c7058
mov rcx, rsi
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x1400c9ea0
inc rbx
mov qword [rsi], rbx
lea rdi, [rsp + 0x40]
mov rcx, rdi
mov rdx, rsi
mov r8, r14
call fcn.1400c3b50
mov rcx, rsi
mov rdx, rdi
call fcn.1400c9ba0
jmp 0x1400c7d44
lea rax, [0x1400e8fd1]
mov qword [rsp + 0xd0], rax
lea rax, [0x1400e8fd3]
mov qword [rsp + 0xd8], rax
lea rdx, [rsp + 0xd0]
mov rcx, rsi
call fcn.1400c0b30
test al, al
je 0x1400c7702
mov rcx, rsi
call fcn.1400c6b80
mov qword [rsp + 0x40], rax
test rax, rax
je 0x1400c6ba6
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.1400ca230
jmp 0x1400c7d44
add rbx, 2
mov qword [rsi], rbx
mov rcx, rsi
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.1400c9c50
mov rcx, rsi
call fcn.1400c6b80
mov qword [rsp + 0x50], rax
test rax, rax
je 0x1400c6ba6
mov rcx, rsi
call fcn.1400c6b80
mov qword [rsp + 0x68], rax
test rax, rax
je 0x1400c6ba6
mov eax, dword [rbp + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [rsp + 0x38], eax
lea rdx, [rsp + 0x50]
lea r8, [rsp + 0x68]
lea r9, [rsp + 0x38]
mov rcx, rsi
call fcn.1400c8040
jmp 0x1400c7d44
mov rcx, rsi
call fcn.1400c1920
mov qword [rsp + 0x50], rax
test rax, rax
je 0x1400c6ba6
mov rcx, rsi
call fcn.1400c6b80
mov qword [rsp + 0x68], rax
test rax, rax
je 0x1400c6ba6
mov eax, dword [rbp + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [rsp + 0x38], eax
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x40]
lea r8, [rsp + 0x50]
lea r9, [rsp + 0x68]
mov rcx, rsi
call fcn.1400c85b0
jmp 0x1400c7d44
test byte [rbp + 3], 1
jne 0x1400c7776
mov rcx, rsi
call fcn.1400c6b80
jmp 0x1400c777e
cmp r15, r12
je 0x1400c76c3
cmp byte [r15], 0x5f
jne 0x1400c76c3
add rbx, 3
mov qword [rsi], rbx
movups xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x110], xmm0
mov eax, dword [rbp + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [rsp + 0x68], eax
mov rcx, rsi
call fcn.1400c6b80
mov qword [rsp + 0x50], rax
test rax, rax
je 0x1400c6ba6
lea rdx, [rsp + 0x110]
lea r8, [rsp + 0x50]
lea r9, [rsp + 0x68]
mov rcx, rsi
call fcn.1400cb2d0
jmp 0x1400c7d44
movups xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x120], xmm0
mov eax, dword [rbp + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [rsp + 0x38], eax
mov rcx, rsi
call fcn.1400c6b80
mov qword [rsp + 0x50], rax
test rax, rax
je 0x1400c6ba6
mov rcx, rsi
call fcn.1400c6b80
mov qword [rsp + 0x68], rax
test rax, rax
je 0x1400c6ba6
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x50]
lea r8, [rsp + 0x120]
lea r9, [rsp + 0x68]
mov rcx, rsi
call fcn.1400cae10
jmp 0x1400c7d44
mov rcx, rsi
call fcn.1400c6b80
mov qword [rsp + 0x50], rax
test rax, rax
je 0x1400c6ba6
mov rcx, rsi
call fcn.1400c6b80
mov qword [rsp + 0x68], rax
test rax, rax
je 0x1400c6ba6
mov eax, dword [rbp + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [rsp + 0x38], eax
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x50]
lea r8, [rsp + 0x40]
lea r9, [rsp + 0x68]
mov rcx, rsi
call fcn.1400c8110
jmp 0x1400c7d44
mov r14, qword [rsi + 0x18]
sub r14, qword [rsi + 0x10]
sar r14, 3
lea rbx, [rsi + 0x28]
xor edi, edi
jmp 0x1400c7335
call sub.mozglue.dll_realloc
mov r13, rax
mov qword [rsi + 0x10], rax
test rax, rax
je 0x1400c7ef7
lea rax, [r12 + r13]
sar r12, 2
mov qword [rsi + 0x18], rax
lea rcx, [r12*8]
add rcx, r13
mov qword [rsi + 0x20], rcx
mov r12, rax
lea rax, [r12 + 8]
mov qword [rsi + 0x18], rax
mov qword [r12], r15
mov r15, qword [rsi]
mov r12, qword [rsi + 8]
cmp r15, r12
je 0x1400c7344
cmp byte [r15], 0x5f
je 0x1400c7832
mov rcx, rsi
call fcn.1400c6b80
test rax, rax
je case.0x1400c6d11.10
mov r15, rax
mov r12, qword [rsi + 0x18]
cmp r12, qword [rsi + 0x20]
jne 0x1400c7321
mov rcx, qword [rsi + 0x10]
sub r12, rcx
lea rdx, [r12 + r12]
cmp rcx, rbx
jne 0x1400c72ee
mov rcx, rdx
call sub.mozglue.dll_malloc
test rax, rax
je 0x1400c7ef7
mov r13, rax
mov rcx, rax
mov rdx, rbx
mov r8, r12
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov qword [rsi + 0x10], r13
jmp 0x1400c7303
mov rcx, rsi
call fcn.1400c6b80
test rax, rax
je 0x1400c6ba6
mov rbx, rax
movzx r14d, byte [rbp + 3]
mov ebp, dword [rbp + 4]
mov r15, qword [rsi + 0x1330]
mov rcx, qword [r15 + 8]
lea rax, [rcx - 0xfc0]
cmp rax, 0xfffffffffffff00f
ja 0x1400c7401
mov ecx, 0x1000
call sub.mozglue.dll_malloc
test rax, rax
je 0x1400c7ef7
mov qword [rax], r15
mov qword [rax + 8], 0
mov qword [rsi + 0x1330], rax
xor ecx, ecx
mov r15, rax
mov edx, dword [rsp + 0x64]
and r14b, 1
lea rax, [rcx + 0x30]
mov qword [r15 + 8], rax
lea rdi, [r15 + rcx]
add rdi, 0x10
mov byte [r15 + rcx + 0x18], 0x3d
mov eax, dword [r15 + rcx + 0x1c]
and ebp, 0x3f
and eax, 0xffffffc0
or eax, ebp
mov dword [r15 + rcx + 0x1c], eax
movzx eax, byte [r15 + rcx + 0x20]
and al, 0xc0
or al, 0x15
mov byte [r15 + rcx + 0x20], al
lea rax, [0x1400e9a88]
mov qword [r15 + rcx + 0x10], rax
mov qword [r15 + rcx + 0x28], rbx
mov byte [r15 + rcx + 0x30], dl
mov byte [r15 + rcx + 0x31], r14b
jmp case.0x1400c6d11.10
mov rcx, rsi
call fcn.1400c6b80
mov qword [rsp + 0x68], rax
test rax, rax
je 0x1400c6ba6
mov rbx, qword [rsi + 0x18]
sub rbx, qword [rsi + 0x10]
sar rbx, 3
lea r14, [rsi + 0x28]
xor edi, edi
jmp 0x1400c74ca
call sub.mozglue.dll_realloc
mov r13, rax
mov qword [rsi + 0x10], rax
test rax, rax
je 0x1400c7ef7
lea rax, [r12 + r13]
sar r12, 2
mov qword [rsi + 0x18], rax
lea rcx, [r12*8]
add rcx, r13
mov qword [rsi + 0x20], rcx
mov r12, rax
lea rax, [r12 + 8]
mov qword [rsi + 0x18], rax
mov qword [r12], r15
mov rax, qword [rsi]
cmp rax, qword [rsi + 8]
je 0x1400c74dc
cmp byte [rax], 0x45
je 0x1400c79d4
mov rcx, rsi
call fcn.1400c6b80
test rax, rax
je case.0x1400c6d11.10
mov r15, rax
mov r12, qword [rsi + 0x18]
cmp r12, qword [rsi + 0x20]
jne 0x1400c74bd
mov rcx, qword [rsi + 0x10]
sub r12, rcx
lea rdx, [r12 + r12]
cmp rcx, r14
jne 0x1400c748a
mov rcx, rdx
call sub.mozglue.dll_malloc
test rax, rax
je 0x1400c7ef7
mov r13, rax
mov rcx, rax
mov rdx, r14
mov r8, r12
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov qword [rsi + 0x10], r13
jmp 0x1400c749f
movzx ebx, byte [rsi + 0x308]
mov byte [rsi + 0x308], 0
mov rcx, rsi
call fcn.1400c1920
mov qword [rsp + 0x68], rax
mov byte [rsi + 0x308], bl
test rax, rax
je 0x1400c6ba6
mov rbx, qword [rsi + 0x18]
sub rbx, qword [rsi + 0x10]
sar rbx, 3
mov rax, qword [rsi]
mov rcx, qword [rsi + 8]
cmp rax, rcx
je 0x1400c7a66
movzx edx, byte [rax]
cmp dl, 0x5f
mov byte [rsp + 0x64], dl
jne 0x1400c7a2f
inc rax
mov qword [rsi], rax
lea r14, [rsi + 0x28]
xor edi, edi
jmp 0x1400c7658
mov rcx, rsi
call fcn.1400c6b80
mov qword [rsp + 0x50], rax
test rax, rax
je 0x1400c6ba6
mov rcx, rsi
call fcn.1400c6b80
mov qword [rsp + 0x68], rax
test rax, rax
je 0x1400c6ba6
mov rcx, rsi
call fcn.1400c6b80
mov qword [rsp + 0x38], rax
test rax, rax
je 0x1400c6ba6
mov eax, dword [rbp + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [rsp + 0x78], eax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x50]
lea r8, [rsp + 0x68]
lea r9, [rsp + 0x38]
mov rcx, rsi
call fcn.1400c84d0
jmp 0x1400c7d44
call sub.mozglue.dll_realloc
mov r13, rax
mov qword [rsi + 0x10], rax
test rax, rax
je 0x1400c7ef7
lea rax, [r12 + r13]
sar r12, 2
mov qword [rsi + 0x18], rax
lea rcx, [r12*8]
add rcx, r13
mov qword [rsi + 0x20], rcx
mov r12, rax
lea rax, [r12 + 8]
mov qword [rsi + 0x18], rax
mov qword [r12], r15
mov rax, qword [rsi]
mov rcx, qword [rsi + 8]
cmp rax, rcx
je 0x1400c7666
cmp byte [rax], 0x45
je 0x1400c7a34
mov rcx, rsi
call fcn.1400c6b80
test rax, rax
je case.0x1400c6d11.10
mov r15, rax
mov r12, qword [rsi + 0x18]
cmp r12, qword [rsi + 0x20]
jne 0x1400c7644
mov rcx, qword [rsi + 0x10]
sub r12, rcx
lea rdx, [r12 + r12]
cmp rcx, r14
jne 0x1400c7611
mov rcx, rdx
call sub.mozglue.dll_malloc
test rax, rax
je 0x1400c7ef7
mov r13, rax
mov rcx, rax
mov rdx, r14
mov r8, r12
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov qword [rsi + 0x10], r13
jmp 0x1400c7626
mov rcx, rsi
call fcn.1400c6b80
mov qword [rsp + 0x50], rax
test rax, rax
je 0x1400c6ba6
mov eax, dword [rbp + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [rsp + 0x68], eax
lea rdx, [rsp + 0x50]
lea r8, [rsp + 0x40]
lea r9, [rsp + 0x68]
mov rcx, rsi
call fcn.1400c7f60
jmp 0x1400c7d44
lea rax, [0x1400e8fd4]
mov qword [rsp + 0xc0], rax
lea rax, [0x1400e8fd6]
mov qword [rsp + 0xc8], rax
lea rdx, [rsp + 0xc0]
mov rcx, rsi
call fcn.1400c0b30
test al, al
je 0x1400c794b
mov rax, qword [rsi]
cmp qword [rsi + 8], rax
je 0x1400c7a14
cmp byte [rax], 0x54
jne 0x1400c7a14
mov rcx, rsi
call fcn.1400c5b10
mov qword [rsp + 0x40], rax
test rax, rax
je 0x1400c6ba6
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.1400ca2d0
jmp 0x1400c7d44
mov rcx, rsi
call fcn.1400c1920
mov rbx, rax
test rax, rax
je 0x1400c6ba6
mov ebp, dword [rbp + 4]
mov r14, qword [rsi + 0x1330]
mov rcx, qword [r14 + 8]
lea rax, [rcx - 0xfb0]
cmp rax, 0xfffffffffffff00f
ja 0x1400c77d1
mov ecx, 0x1000
call sub.mozglue.dll_malloc
test rax, rax
je 0x1400c7ef7
mov qword [rax], r14
mov qword [rax + 8], 0
mov qword [rsi + 0x1330], rax
xor ecx, ecx
mov r14, rax
lea rax, [rcx + 0x40]
mov qword [r14 + 8], rax
lea rdi, [r14 + rcx]
add rdi, 0x10
mov byte [r14 + rcx + 0x18], 0x38
mov eax, dword [r14 + rcx + 0x1c]
and ebp, 0x3f
and eax, 0xffffffc0
or eax, ebp
mov dword [r14 + rcx + 0x1c], eax
movzx eax, byte [r14 + rcx + 0x20]
and al, 0xc0
or al, 0x15
mov byte [r14 + rcx + 0x20], al
lea rax, [0x1400e9dc8]
mov qword [r14 + rcx + 0x10], rax
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [r14 + rcx + 0x28], xmm0
mov qword [r14 + rcx + 0x38], rbx
xorps xmm0, xmm0
movups xmmword [r14 + rcx + 0x40], xmm0
jmp case.0x1400c6d11.10
inc r15
mov qword [rsi], r15
lea rcx, [rsp + 0x50]
mov rdx, rsi
mov r8, r14
call fcn.1400c3b50
mov rcx, rsi
call fcn.1400c1920
mov qword [rsp + 0x38], rax
test rax, rax
je 0x1400c6ba6
lea rax, [0x1400e8fb8]
mov qword [rsp + 0x100], rax
lea rax, [0x1400e8fba]
mov qword [rsp + 0x108], rax
lea rdx, [rsp + 0x100]
mov rcx, rsi
call fcn.1400c0b30
mov r14, qword [rsi + 0x18]
sub r14, qword [rsi + 0x10]
test al, al
je 0x1400c7b59
xor edi, edi
jmp 0x1400c78e0
call sub.mozglue.dll_realloc
mov r13, rax
mov qword [rsi + 0x10], rax
test rax, rax
je 0x1400c7ef7
lea rax, [r12 + r13]
sar r12, 2
mov qword [rsi + 0x18], rax
lea rcx, [r12*8]
add rcx, r13
mov qword [rsi + 0x20], rcx
mov r12, rax
lea rax, [r12 + 8]
mov qword [rsi + 0x18], rax
mov qword [r12], r15
mov rax, qword [rsi]
cmp rax, qword [rsi + 8]
je 0x1400c78f2
cmp byte [rax], 0x45
je 0x1400c7b6f
mov rcx, rsi
call fcn.1400c6b80
test rax, rax
je case.0x1400c6d11.10
mov r15, rax
mov r12, qword [rsi + 0x18]
cmp r12, qword [rsi + 0x20]
jne 0x1400c78d3
mov rcx, qword [rsi + 0x10]
sub r12, rcx
lea rdx, [r12 + r12]
cmp rcx, rbx
jne 0x1400c78a0
mov rcx, rdx
call sub.mozglue.dll_malloc
test rax, rax
je 0x1400c7ef7
mov r13, rax
mov rcx, rax
mov rdx, rbx
mov r8, r12
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov qword [rsi + 0x10], r13
jmp 0x1400c78b5
lea rax, [0x1400e8fe2]
mov qword [rsp + 0xb0], rax
lea rax, [0x1400e8fe4]
mov qword [rsp + 0xb8], rax
lea rdx, [rsp + 0xb0]
mov rcx, rsi
call fcn.1400c0b30
test al, al
je 0x1400c7aba
lea rbx, [rsi + 0x10]
mov rdi, qword [rsi + 0x18]
sub rdi, qword [rsi + 0x10]
sar rdi, 3
lea r14, [rsp + 0x40]
mov rax, qword [rsi]
cmp rax, qword [rsi + 8]
je 0x1400c79a8
cmp byte [rax], 0x45
je 0x1400c7c23
mov rcx, rsi
call fcn.1400c37a0
mov qword [rsp + 0x40], rax
test rax, rax
je 0x1400c6ba6
mov rcx, rbx
mov rdx, r14
call fcn.1400c3a00
mov rax, qword [rsi]
cmp rax, qword [rsi + 8]
jne 0x1400c799f
jmp 0x1400c79a8
inc rax
mov qword [rsi], rax
lea rdi, [rsp + 0x50]
mov rcx, rdi
mov rdx, rsi
mov r8, rbx
call fcn.1400c3b50
mov eax, dword [rbp + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [rsp + 0x38], eax
lea rdx, [rsp + 0x68]
lea r9, [rsp + 0x38]
mov rcx, rsi
mov r8, rdi
call fcn.1400c8310
jmp 0x1400c7d44
mov rcx, rsi
call 0x1400c9270
mov qword [rsp + 0x40], rax
test rax, rax
jne 0x1400c7c4c
jmp 0x1400c6ba6
cmp dl, 0x45
jne 0x1400c7a66
inc rax
mov qword [rsi], rax
lea rcx, [rsp + 0x50]
mov rdx, rsi
mov r8, rbx
call fcn.1400c3b50
cmp byte [rsp + 0x64], 0x5f
je 0x1400c7d20
cmp qword [rsp + 0x58], 1
jne 0x1400c6ba6
jmp 0x1400c7d20
mov rcx, rsi
call fcn.1400c6b80
test rax, rax
je 0x1400c6ba6
mov rdi, rax
mov r14, qword [rsi + 0x18]
cmp r14, qword [rsi + 0x20]
jne 0x1400c7cf9
lea r12, [rsi + 0x28]
mov rcx, qword [rsi + 0x10]
sub r14, rcx
lea rdx, [r14 + r14]
cmp rcx, r12
je 0x1400c7cbc
call sub.mozglue.dll_realloc
mov r15, rax
mov qword [rsi + 0x10], rax
test rax, rax
jne 0x1400c7ce2
jmp 0x1400c7ef7
lea rax, [0x1400e8fe5]
mov qword [rsp + 0xa0], rax
lea rax, [0x1400e8fe7]
mov qword [rsp + 0xa8], rax
lea rdx, [rsp + 0xa0]
mov rcx, rsi
call fcn.1400c0b30
test al, al
je 0x1400c7bcf
mov rcx, rsi
call fcn.1400c1920
mov qword [rsp + 0x50], rax
test rax, rax
je 0x1400c6ba6
lea rbx, [rsi + 0x10]
mov rdi, qword [rsi + 0x18]
sub rdi, qword [rsi + 0x10]
sar rdi, 3
lea r14, [rsp + 0x40]
mov rax, qword [rsi]
cmp rax, qword [rsi + 8]
je 0x1400c7b2d
cmp byte [rax], 0x45
je 0x1400c7e05
mov rcx, rsi
call fcn.1400c98d0
mov qword [rsp + 0x40], rax
test rax, rax
je 0x1400c6ba6
mov rcx, rbx
mov rdx, r14
call fcn.1400c3a00
mov rax, qword [rsi]
cmp rax, qword [rsi + 8]
jne 0x1400c7b24
jmp 0x1400c7b2d
mov rax, qword [rsi]
cmp rax, qword [rsi + 8]
je 0x1400c6ba6
cmp byte [rax], 0x45
jne 0x1400c6ba6
sar r14, 3
inc rax
mov qword [rsi], rax
lea rdi, [rsp + 0x68]
mov rcx, rdi
mov rdx, rsi
mov r8, r14
call fcn.1400c3b50
movzx eax, byte [rbp + 3]
and al, 1
mov ecx, dword [rbp + 4]
shl ecx, 0x19
sar ecx, 0x19
mov dword [rsp + 0x78], ecx
lea rcx, [rsp + 0x78]
mov qword [rsp + 0x30], rcx
mov byte [rsp + 0x28], al
mov eax, dword [rsp + 0x64]
mov byte [rsp + 0x20], al
lea rdx, [rsp + 0x50]
lea r8, [rsp + 0x38]
mov rcx, rsi
mov r9, rdi
call fcn.1400c8200
jmp 0x1400c7d44
lea rax, [0x1400e8fe8]
mov qword [rsp + 0x90], rax
lea rax, [0x1400e8fea]
mov qword [rsp + 0x98], rax
lea rdx, [rsp + 0x90]
mov rcx, rsi
call fcn.1400c0b30
test al, al
je 0x1400c7c5e
lea rdx, [0x1400e8feb]
mov rcx, rsi
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x1400ca5a0
inc rax
mov qword [rsi], rax
lea rbx, [rsp + 0x40]
mov rcx, rbx
mov rdx, rsi
mov r8, rdi
call fcn.1400c3b50
mov rcx, rsi
mov rdx, rbx
call fcn.1400ca430
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.1400ca370
jmp 0x1400c7d44
lea rax, [0x1400e8ff1]
mov qword [rsp + 0x80], rax
lea rax, [0x1400e8ff3]
mov qword [rsp + 0x88], rax
lea rdx, [rsp + 0x80]
mov rcx, rsi
call fcn.1400c0b30
test al, al
je 0x1400c7d4c
mov rcx, rsi
call fcn.1400c6b80
mov qword [rsp + 0x40], rax
test rax, rax
je 0x1400c6ba6
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.1400ca660
jmp 0x1400c7d44
mov rcx, rdx
call sub.mozglue.dll_malloc
test rax, rax
je 0x1400c7ef7
mov r15, rax
mov rcx, rax
mov rdx, r12
mov r8, r14
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov qword [rsi + 0x10], r15
lea rax, [r15 + r14]
sar r14, 2
mov qword [rsi + 0x18], rax
lea rcx, [r15 + r14*8]
mov qword [rsi + 0x20], rcx
mov r14, rax
lea rax, [r14 + 8]
mov qword [rsi + 0x18], rax
mov qword [r14], rdi
lea rcx, [rsp + 0x50]
mov rdx, rsi
mov r8, rbx
call fcn.1400c3b50
cmp qword [rsp + 0x58], 1
jne 0x1400c6ba6
mov eax, dword [rbp + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [rsp + 0x38], eax
lea rdx, [rsp + 0x68]
lea r8, [rsp + 0x50]
lea r9, [rsp + 0x38]
mov rcx, rsi
call fcn.1400c83f0
mov rdi, rax
jmp case.0x1400c6d11.10
mov rax, qword [rsi]
cmp rax, qword [rsi + 8]
je 0x1400c7e33
cmp byte [rax], 0x75
jne 0x1400c7e33
inc rax
mov qword [rsi], rax
mov rcx, rsi
call fcn.1400c4dc0
mov qword [rsp + 0x50], rax
test rax, rax
je 0x1400c6ba6
mov r8, qword [rax]
lea rcx, [rsp + 0x40]
mov rdx, rax
call qword [r8 + 0x30]
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
sub rax, rcx
cmp rax, 8
jne 0x1400c7dba
lea rdx, str.__uuidof
mov r8d, 8
call sub.api_ms_win_crt_string_l1_1_0.dll_strncmp
test eax, eax
je 0x1400c7e92
lea rbx, [rsi + 0x10]
mov rdi, qword [rsi + 0x18]
sub rdi, qword [rsi + 0x10]
lea r14, [rsp + 0x40]
mov rax, qword [rsi]
cmp rax, qword [rsi + 8]
je 0x1400c7dd9
cmp byte [rax], 0x45
je 0x1400c7e53
mov rcx, rsi
call fcn.1400c37a0
mov qword [rsp + 0x40], rax
test rax, rax
je 0x1400c6ba6
mov rcx, rbx
mov rdx, r14
call fcn.1400c3a00
mov rax, qword [rsi]
cmp rax, qword [rsi + 8]
jne 0x1400c7dd4
jmp 0x1400c7dd9
inc rax
mov qword [rsi], rax
lea rbx, [rsp + 0x40]
mov rcx, rbx
mov rdx, rsi
mov r8, rdi
call fcn.1400c3b50
lea rdx, [rsp + 0x50]
mov rcx, rsi
mov r8, rbx
call fcn.1400ca4e0
jmp 0x1400c7d44
test edi, edi
sete dl
mov rcx, rsi
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x1400ca700
inc rax
mov qword [rsi], rax
sar rdi, 3
lea rbx, [rsp + 0x40]
mov rcx, rbx
mov rdx, rsi
mov r8, rdi
call fcn.1400c3b50
mov dword [rsp + 0x38], 1
lea rdx, [rsp + 0x50]
lea r9, [rsp + 0x38]
mov rcx, rsi
mov r8, rbx
call fcn.1400c8310
jmp 0x1400c7d44
mov rax, qword [rsi]
cmp rax, qword [rsi + 8]
je 0x1400c7dba
movzx ecx, byte [rax]
cmp ecx, 0x7a
je 0x1400c7ec0
cmp ecx, 0x74
jne 0x1400c7dba
inc rax
mov qword [rsi], rax
mov rcx, rsi
call fcn.1400c1920
jmp 0x1400c7ece
inc rax
mov qword [rsi], rax
mov rcx, rsi
call fcn.1400c6b80
mov qword [rsp + 0x68], rax
test rax, rax
je 0x1400c6ba6
lea rcx, [rsi + 0x10]
mov rdi, qword [rsi + 0x18]
sub rdi, qword [rsi + 0x10]
lea rdx, [rsp + 0x68]
call fcn.1400c3a00
jmp 0x1400c7e59
call fcn.1400ae980
lea rcx, str.Res.startsWith__operator_____operator_name_does_not_start_with_operator_
lea rdx, str._var_tmp_build_clang_source_libcxxabi_src_demangle_ItaniumDemangle.h
mov r8d, 0xa47
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
mov byte [rsi + 0x308], bl
mov rcx, rax
call fcn.1400af010
int3
push r14
push rsi
push rdi
push rbx
sub rsp, 0x38
mov rsi, rcx
mov rdi, qword [rcx]
mov rbx, qword [rcx + 8]
mov rax, rbx
sub rax, rdi
cmp rax, 3
jae 0x1400c929a
cmp rax, 2
je 0x1400c92b7
jmp 0x1400c95e0
lea rcx, [0x1400eaa08]
mov r8d, 3
mov rdx, rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_strncmp
test eax, eax
je 0x1400c946f
lea rcx, [0x1400eaa11]
mov r8d, 2
mov rdx, rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_strncmp
test eax, eax
je 0x1400c93e3
lea rcx, [0x1400eaa14]
mov r8d, 2
mov rdx, rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_strncmp
test eax, eax
jne 0x1400c95e0
add rdi, 2
mov qword [rsi], rdi
cmp rbx, rdi
je 0x1400c95e0
movsx eax, byte [rdi]
add eax, 0xffffffd0
cmp eax, 9
ja 0x1400c95e0
mov rcx, rdi
nop word cs:[rax + rax]
movsx eax, byte [rcx]
add eax, 0xffffffd0
cmp eax, 9
ja 0x1400c9339
inc rcx
mov qword [rsi], rcx
cmp rcx, rbx
jne 0x1400c9320
mov rcx, rbx
xor eax, eax
cmp rdi, rcx
je 0x1400c95e2
cmp rcx, rbx
je 0x1400c95e2
cmp byte [rcx], 0x70
jne 0x1400c95e0
lea rax, [rcx + 1]
mov qword [rsi], rax
cmp rax, rbx
je 0x1400c95b6
cmp byte [rax], 0x72
jne 0x1400c9375
add rcx, 2
mov qword [rsi], rcx
mov rax, rcx
cmp rax, rbx
je 0x1400c95b6
cmp byte [rax], 0x56
jne 0x1400c9389
inc rax
mov qword [rsi], rax
cmp rax, rbx
je 0x1400c95b6
cmp byte [rax], 0x4b
jne 0x1400c939d
inc rax
mov qword [rsi], rax
cmp rbx, rax
je 0x1400c95b9
movsx ecx, byte [rax]
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x1400c95b9
mov rcx, rax
movsx edx, byte [rcx]
add edx, 0xffffffd0
cmp edx, 9
ja 0x1400c93d1
inc rcx
mov qword [rsi], rcx
cmp rcx, rbx
jne 0x1400c93b8
mov rcx, rbx
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rcx
mov rax, rcx
jmp 0x1400c95c1
lea r14, [rdi + 2]
mov qword [rsi], r14
cmp r14, rbx
je 0x1400c95e0
cmp byte [r14], 0x72
jne 0x1400c9403
add rdi, 3
mov qword [rsi], rdi
mov r14, rdi
cmp r14, rbx
je 0x1400c95e0
cmp byte [r14], 0x56
jne 0x1400c9418
inc r14
mov qword [rsi], r14
cmp r14, rbx
je 0x1400c95e0
cmp byte [r14], 0x4b
jne 0x1400c942d
inc r14
mov qword [rsi], r14
cmp rbx, r14
je 0x1400c95e0
movsx eax, byte [r14]
add eax, 0xffffffd0
cmp eax, 9
ja 0x1400c950c
xor eax, eax
mov rcx, r14
nop dword [rax + rax]
movsx edx, byte [rcx]
add edx, 0xffffffd0
cmp edx, 9
ja 0x1400c9516
inc rcx
mov qword [rsi], rcx
cmp rcx, rbx
jne 0x1400c9450
jmp 0x1400c95e2
add rdi, 3
mov qword [rsi], rdi
mov rdi, qword [rsi + 0x1330]
mov rcx, qword [rdi + 8]
lea rax, [rcx - 0xfc0]
cmp rax, 0xfffffffffffff00f
ja 0x1400c94ba
mov ecx, 0x1000
call sub.mozglue.dll_malloc
test rax, rax
je 0x1400c95ec
mov qword [rax], rdi
mov qword [rax + 8], 0
mov qword [rsi + 0x1330], rax
xor ecx, ecx
mov rdi, rax
lea rax, [rcx + 0x30]
mov qword [rdi + 8], rax
mov byte [rdi + rcx + 0x18], 7
and byte [rdi + rcx + 0x1c], 0xc0
lea rax, [rdi + rcx]
add rax, 0x10
movzx edx, byte [rdi + rcx + 0x20]
and dl, 0xc0
or dl, 0x15
mov byte [rdi + rcx + 0x20], dl
lea rdx, [0x1400e8d98]
mov qword [rdi + rcx + 0x10], rdx
lea rdx, str.this
mov qword [rdi + rcx + 0x28], rdx
lea rdx, [0x1400eaa10]
mov qword [rdi + rcx + 0x30], rdx
jmp 0x1400c95e2
xor edi, edi
mov rcx, r14
xor r14d, r14d
jmp 0x1400c9519
mov rdi, rcx
cmp rcx, rbx
je 0x1400c95e0
cmp byte [rcx], 0x5f
jne 0x1400c95e0
inc rcx
mov qword [rsi], rcx
mov rbx, qword [rsi + 0x1330]
mov rcx, qword [rbx + 8]
lea rax, [rcx - 0xfc0]
cmp rax, 0xfffffffffffff00f
ja 0x1400c9575
mov ecx, 0x1000
call sub.mozglue.dll_malloc
test rax, rax
je 0x1400c95ec
mov qword [rax], rbx
mov qword [rax + 8], 0
mov qword [rsi + 0x1330], rax
xor ecx, ecx
mov rbx, rax
lea rax, [rcx + 0x30]
mov qword [rbx + 8], rax
lea rax, [rbx + rcx]
add rax, 0x10
mov byte [rbx + rcx + 0x18], 0x3f
and byte [rbx + rcx + 0x1c], 0xc0
movzx edx, byte [rbx + rcx + 0x20]
and dl, 0xc0
or dl, 0x15
mov byte [rbx + rcx + 0x20], dl
lea rdx, [0x1400eaa28]
mov qword [rbx + rcx + 0x10], rdx
mov qword [rbx + rcx + 0x28], r14
mov qword [rbx + rcx + 0x30], rdi
jmp 0x1400c95e2
mov rax, rbx
xorps xmm0, xmm0
movaps xmmword [rsp + 0x20], xmm0
cmp rax, rbx
je 0x1400c95e0
cmp byte [rax], 0x5f
jne 0x1400c95e0
inc rax
mov qword [rsi], rax
lea rdx, [rsp + 0x20]
mov rcx, rsi
call fcn.1400cf180
jmp 0x1400c95e2
xor eax, eax
add rsp, 0x38
pop rbx
pop rdi
pop rsi
pop r14
ret
call fcn.1400ae980
int3
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rax, qword [rcx]
mov rdx, qword [rcx + 8]
cmp rax, rdx
je 0x1400c9878
cmp byte [rax], 0x66
jne 0x1400c9878
mov rsi, rcx
lea rcx, [rax + 1]
mov qword [rsi], rcx
cmp rdx, rcx
je 0x1400c9878
movsx ecx, byte [rcx]
add ecx, 0xffffffb4
cmp ecx, 0x26
ja 0x1400c9878
movabs r8, 0x4100000041
bt r8, rcx
jae 0x1400c9878
movabs r8, 0x3fffffffbf
xor r15d, r15d
bt r8, rcx
setb r8b
movabs r14, 0x3effffffff
shr r14, cl
lea rcx, [rax + 2]
mov qword [rsi], rcx
sub rdx, rcx
cmp rdx, 2
jb 0x1400c9878
mov r15b, r8b
movzx ecx, byte [rax + 2]
mov r8d, 0x3d
xor edx, edx
lea rbx, [0x1400e9270]
jmp 0x1400c96bb
inc r9
mov rdx, r9
cmp r8, rdx
je 0x1400c96ed
lea r9, [rdx + r8]
shr r9, 1
mov r10, r9
shl r10, 4
cmp cl, byte [r10 + rbx]
jg 0x1400c96b0
jne 0x1400c96e5
movzx r10d, byte [r10 + rbx + 1]
cmp byte [rax + 3], r10b
setg r10b
test r10b, 1
jne 0x1400c96b0
mov r8, r9
cmp r8, rdx
jne 0x1400c96bb
shl rdx, 4
cmp cl, byte [rdx + rbx]
jne 0x1400c9878
add rbx, rdx
movzx ecx, byte [rax + 3]
cmp cl, byte [rbx + 1]
jne 0x1400c9878
add rax, 4
mov qword [rsi], rax
movzx eax, byte [rbx + 2]
cmp eax, 2
je 0x1400c9743
cmp eax, 4
jne 0x1400c9878
mov rdi, qword [rbx + 8]
mov rcx, rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
je 0x1400c98a5
cmp byte [rdi + rax - 1], 0x2a
jne 0x1400c9878
mov rcx, rsi
call fcn.1400c6b80
test rax, rax
je 0x1400c9878
mov rdi, rax
test r14b, 1
jne 0x1400c9762
xor r12d, r12d
jmp 0x1400c9787
mov rcx, rsi
call fcn.1400c6b80
test rax, rax
je 0x1400c9878
test r15, r15
mov rcx, rax
cmove rcx, rdi
mov r12, rdi
cmove r12, rax
mov rdi, rcx
mov rbx, qword [rbx + 8]
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
cmp rax, 8
jb 0x1400c988b
mov r14, rax
lea rcx, [0x1400e906c]
mov r13d, 8
mov r8d, 8
mov rdx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strncmp
test eax, eax
jne 0x1400c988b
cmp r14, 8
cmovb r13, r14
add r13, rbx
cmp r14, 9
jb 0x1400c97e1
xor eax, eax
cmp byte [r13], 0x20
sete al
add r13, rax
mov rbp, qword [rsi + 0x1330]
mov rcx, qword [rbp + 8]
lea rax, [rcx - 0xfb0]
cmp rax, 0xfffffffffffff00f
ja 0x1400c9825
mov ecx, 0x1000
call sub.mozglue.dll_malloc
test rax, rax
je 0x1400c98bf
mov qword [rax], rbp
mov qword [rax + 8], 0
mov qword [rsi + 0x1330], rax
xor ecx, ecx
mov rbp, rax
add rbx, r14
lea rax, [rcx + 0x40]
mov qword [rbp + 8], rax
mov byte [rbp + rcx + 0x18], 0x43
and byte [rbp + rcx + 0x1c], 0xc0
lea rax, [rcx + rbp]
add rax, 0x10
movzx edx, byte [rbp + rcx + 0x20]
and dl, 0xc0
or dl, 0x15
mov byte [rbp + rcx + 0x20], dl
lea rdx, [0x1400eab20]
mov qword [rbp + rcx + 0x10], rdx
mov qword [rbp + rcx + 0x28], rdi
mov qword [rbp + rcx + 0x30], r12
mov qword [rbp + rcx + 0x38], r13
mov qword [rbp + rcx + 0x40], rbx
mov byte [rbp + rcx + 0x48], r15b
jmp 0x1400c987a
xor eax, eax
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, str.Res.startsWith__operator_____operator_name_does_not_start_with_operator_
lea rdx, str._var_tmp_build_clang_source_libcxxabi_src_demangle_ItaniumDemangle.h
mov r8d, 0xa47
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
lea rcx, str._empty__
lea rdx, str._var_tmp_build_clang_source_libcxxabi_src_demangle_StringView.h
mov r8d, 0x4c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
call fcn.1400ae980
int3
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rbx, rcx
call fcn.1400c1920
test rax, rax
je 0x1400ca205
mov rsi, rax
mov rcx, rbx
call fcn.1400c6b80
test rax, rax
je 0x1400ca205
mov r15, qword [rbx]
mov rdx, qword [rbx + 8]
mov r13, r15
cmp r15, rdx
je 0x1400c9ef4
cmp byte [r15], 0x6e
mov r13, r15
jne 0x1400c9ef4
lea r13, [r15 + 1]
mov qword [rbx], r13
cmp rdx, r13
je 0x1400ca205
mov qword [rsp + 0x40], rax
movsx ecx, byte [r13]
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x1400c9f3d
xor r14d, r14d
nop word cs:[rax + rax]
movsx ecx, byte [r13]
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x1400c9f4c
inc r13
mov qword [rbx], r13
cmp r13, rdx
jne 0x1400c9f20
jmp 0x1400ca208
xor eax, eax
xor r15d, r15d
cmp r13, rdx
jne 0x1400c9f58
jmp 0x1400ca205
mov rax, r13
cmp r13, rdx
je 0x1400ca205
mov qword [rsp + 0x30], rax
mov rax, qword [rbx + 0x18]
sub rax, qword [rbx + 0x10]
sar rax, 3
mov qword [rsp + 0x38], rax
lea rax, [rbx + 0x28]
mov qword [rsp + 0x28], rax
xor r14d, r14d
jmp 0x1400c9fec
lea rax, [r12 + 0x30]
mov qword [rdi + 8], rax
mov byte [rdi + r12 + 0x18], 7
and byte [rdi + r12 + 0x1c], 0xc0
movzx eax, byte [rdi + r12 + 0x20]
and al, 0xc0
or al, 0x15
mov byte [rdi + r12 + 0x20], al
lea rax, [0x1400e8d98]
mov qword [rdi + r12 + 0x10], rax
mov qword [rdi + r12 + 0x28], r13
mov qword [rdi + r12 + 0x30], rbp
mov r13, qword [rbx + 0x18]
cmp r13, qword [rbx + 0x20]
je 0x1400ca0a0
lea rax, [rdi + r12]
add rax, 0x10
lea rcx, [r13 + 8]
mov qword [rbx + 0x18], rcx
mov qword [r13], rax
mov r13, qword [rbx]
mov rdx, qword [rbx + 8]
cmp r13, rdx
je 0x1400ca208
cmp byte [r13], 0x5f
jne 0x1400ca113
inc r13
mov qword [rbx], r13
cmp rdx, r13
je 0x1400ca040
movsx ecx, byte [r13]
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x1400ca040
mov rbp, r13
nop word cs:[rax + rax]
movsx ecx, byte [rbp]
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x1400ca045
inc rbp
mov qword [rbx], rbp
cmp rbp, rdx
jne 0x1400ca020
mov rbp, rdx
jmp 0x1400ca045
xor r13d, r13d
xor ebp, ebp
mov rdi, qword [rbx + 0x1330]
mov r12, qword [rdi + 8]
lea rax, [r12 - 0xfc0]
cmp rax, 0xfffffffffffff00f
ja 0x1400c9f80
mov ecx, 0x1000
call sub.mozglue.dll_malloc
test rax, rax
je 0x1400ca21c
mov qword [rax], rdi
mov qword [rax + 8], 0
mov qword [rbx + 0x1330], rax
xor r12d, r12d
mov rdi, rax
jmp 0x1400c9f80
mov rcx, qword [rbx + 0x10]
sub r13, rcx
mov rdx, r13
add rdx, r13
cmp rcx, qword [rsp + 0x28]
je 0x1400ca0ca
call sub.mozglue.dll_realloc
mov rbp, rax
mov qword [rbx + 0x10], rax
test rax, rax
jne 0x1400ca0f2
jmp 0x1400ca21c
mov rcx, rdx
call sub.mozglue.dll_malloc
test rax, rax
je 0x1400ca21c
mov rbp, rax
mov rcx, rax
mov rdx, qword [rsp + 0x28]
mov r8, r13
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov qword [rbx + 0x10], rbp
mov rax, rbp
add rax, r13
sar r13, 2
lea rcx, [r13*8]
add rcx, rbp
mov qword [rbx + 0x20], rcx
mov r13, rax
jmp 0x1400c9fc8
cmp r13, rdx
je 0x1400ca12a
cmp byte [r13], 0x70
jne 0x1400ca12a
inc r13
mov qword [rbx], r13
mov dil, 1
jmp 0x1400ca12c
xor edi, edi
cmp r13, rdx
je 0x1400ca205
cmp byte [r13], 0x45
jne 0x1400ca205
inc r13
mov qword [rbx], r13
lea rcx, [rsp + 0x48]
mov rdx, rbx
mov r8, qword [rsp + 0x38]
call fcn.1400c3b50
mov r12, qword [rbx + 0x1330]
mov rcx, qword [r12 + 8]
lea rax, [rcx - 0xfa0]
cmp rax, 0xfffffffffffff00f
ja 0x1400ca19d
mov ecx, 0x1000
call sub.mozglue.dll_malloc
test rax, rax
je 0x1400ca21c
mov qword [rax], r12
mov qword [rax + 8], 0
mov qword [rbx + 0x1330], rax
xor ecx, ecx
mov r12, rax
lea rax, [rcx + 0x50]
mov qword [r12 + 8], rax
lea r14, [r12 + rcx]
add r14, 0x10
mov byte [r12 + rcx + 0x18], 0x37
and byte [r12 + rcx + 0x1c], 0xc0
movzx eax, byte [r12 + rcx + 0x20]
and al, 0xc0
or al, 0x15
mov byte [r12 + rcx + 0x20], al
lea rax, [0x1400eaf28]
mov qword [r12 + rcx + 0x10], rax
mov qword [r12 + rcx + 0x28], rsi
mov rax, qword [rsp + 0x40]
mov qword [r12 + rcx + 0x30], rax
mov qword [r12 + rcx + 0x38], r15
mov rax, qword [rsp + 0x30]
mov qword [r12 + rcx + 0x40], rax
movups xmm0, xmmword [rsp + 0x48]
movups xmmword [r12 + rcx + 0x48], xmm0
mov byte [r12 + rcx + 0x58], dil
jmp 0x1400ca208
xor r14d, r14d
mov rax, r14
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.1400ae980
int3
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rsi, rdx
mov rbx, qword [rcx + 0x1330]
mov r14, qword [rbx + 8]
lea rax, [r14 - 0xfc0]
cmp rax, 0xfffffffffffff00f
ja 0x1400ca5f0
mov rdi, rcx
mov ecx, 0x1000
call sub.mozglue.dll_malloc
test rax, rax
je 0x1400ca64b
mov qword [rax], rbx
mov qword [rax + 8], 0
mov qword [rdi + 0x1330], rax
xor r14d, r14d
mov rbx, rax
lea rax, [r14 + 0x30]
mov qword [rbx + 8], rax
lea rdi, [rbx + r14]
add rdi, 0x10
mov rcx, rsi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add rax, rsi
mov byte [rbx + r14 + 0x18], 7
and byte [rbx + r14 + 0x1c], 0xc0
movzx ecx, byte [rbx + r14 + 0x20]
and cl, 0xc0
or cl, 0x15
mov byte [rbx + r14 + 0x20], cl
lea rcx, [0x1400e8d98]
mov qword [rbx + r14 + 0x10], rcx
mov qword [rbx + r14 + 0x28], rsi
mov qword [rbx + r14 + 0x30], rax
mov rax, rdi
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
ret
call fcn.1400ae980
int3
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x20
mov ebx, edx
mov rsi, rcx
mov rdi, qword [rcx]
mov r14, qword [rcx + 8]
mov rax, r14
sub rax, rdi
cmp rax, 3
jae 0x1400ca72f
cmp rax, 2
je 0x1400ca74c
jmp 0x1400ca769
lea rcx, [0x1400eb1d7]
mov r8d, 3
mov rdx, rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_strncmp
test eax, eax
je 0x1400ca9a4
lea rcx, [0x1400eb1db]
mov r8d, 2
mov rdx, rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_strncmp
test eax, eax
je 0x1400ca806
mov rcx, rsi
call fcn.1400d0850
mov rdi, rax
test rax, rax
je 0x1400cadfd
test bl, bl
je 0x1400cadfd
mov rbx, qword [rsi + 0x1330]
mov rcx, qword [rbx + 8]
lea rax, [rcx - 0xfd0]
cmp rax, 0xfffffffffffff00f
ja 0x1400ca7c9
mov ecx, 0x1000
call sub.mozglue.dll_malloc
test rax, rax
je 0x1400cab26
mov qword [rax], rbx
mov qword [rax + 8], 0
mov qword [rsi + 0x1330], rax
xor ecx, ecx
mov rbx, rax
lea rax, [rcx + 0x20]
mov qword [rbx + 8], rax
mov byte [rbx + rcx + 0x18], 0x2a
and byte [rbx + rcx + 0x1c], 0xc0
movzx eax, byte [rbx + rcx + 0x20]
and al, 0xc0
or al, 0x15
mov byte [rbx + rcx + 0x20], al
lea rax, [0x1400eb4c0]
mov qword [rbx + rcx + 0x10], rax
mov qword [rbx + rcx + 0x28], rdi
lea rdi, [rbx + rcx]
add rdi, 0x10
jmp 0x1400cadfd
add rdi, 2
mov qword [rsi], rdi
cmp r14, rdi
je 0x1400cab2b
movsx eax, byte [rdi]
add eax, 0xffffffd0
cmp eax, 9
ja 0x1400cab2b
mov rcx, rsi
call fcn.1400d0760
test rax, rax
je 0x1400cadfb
mov r14, rax
xor edi, edi
test bl, bl
je 0x1400cac8e
lea r15, [0x1400eb4c0]
lea r12, [0x1400eb1f0]
xor ebx, ebx
jmp 0x1400ca87d
cmp byte [rax], 0x45
je 0x1400cad5a
mov rcx, rsi
call fcn.1400d0760
mov r14, rax
test rax, rax
je 0x1400cadfd
mov r13, qword [rsi + 0x1330]
mov rcx, qword [r13 + 8]
test rbx, rbx
je 0x1400ca91e
lea rax, [rcx - 0xfc0]
cmp rax, 0xfffffffffffff00f
ja 0x1400ca8ca
mov ecx, 0x1000
call sub.mozglue.dll_malloc
test rax, rax
je 0x1400cab26
mov qword [rax], r13
mov qword [rax + 8], 0
mov qword [rsi + 0x1330], rax
xor ecx, ecx
mov r13, rax
lea rax, [rcx + 0x30]
mov qword [r13 + 8], rax
lea rax, [rcx + r13]
add rax, 0x30
mov byte [r13 + rcx + 0x18], 0x16
and byte [r13 + rcx + 0x1c], 0xc0
movzx edx, byte [r13 + rcx + 0x20]
and dl, 0xc0
or dl, 0x15
mov byte [r13 + rcx + 0x20], dl
mov qword [r13 + rcx + 0x10], r12
mov qword [r13 + rcx + 0x28], rbx
lea rbx, [rcx + r13]
add rbx, 0x10
mov qword [rax], r14
mov rax, qword [rsi]
cmp rax, qword [rsi + 8]
jne 0x1400ca860
jmp 0x1400ca869
lea rax, [rcx - 0xfd0]
cmp rax, 0xfffffffffffff00f
ja 0x1400ca957
mov ecx, 0x1000
call sub.mozglue.dll_malloc
test rax, rax
je 0x1400cab26
mov qword [rax], r13
mov qword [rax + 8], 0
mov qword [rsi + 0x1330], rax
xor ecx, ecx
mov r13, rax
lea rax, [rcx + 0x20]
mov qword [r13 + 8], rax
mov byte [r13 + rcx + 0x18], 0x2a
and byte [r13 + rcx + 0x1c], 0xc0
lea rbx, [rcx + r13]
add rbx, 0x10
movzx eax, byte [r13 + rcx + 0x20]
and al, 0xc0
or al, 0x15
mov byte [r13 + rcx + 0x20], al
mov qword [r13 + rcx + 0x10], r15
lea rax, [rcx + r13]
add rax, 0x28
mov qword [rax], r14
mov rax, qword [rsi]
cmp rax, qword [rsi + 8]
jne 0x1400ca860
jmp 0x1400ca869
add rdi, 3
mov qword [rsi], rdi
mov rcx, rsi
call fcn.1400d0600
test rax, rax
je 0x1400cadfb
mov rbx, rax
mov rax, qword [rsi]
cmp qword [rsi + 8], rax
je 0x1400caa6e
cmp byte [rax], 0x49
jne 0x1400caa6e
xor edi, edi
mov rcx, rsi
xor edx, edx
call fcn.1400c5330
test rax, rax
je 0x1400cadfd
mov r14, rax
mov rdi, qword [rsi + 0x1330]
mov rcx, qword [rdi + 8]
lea rax, [rcx - 0xfc0]
cmp rax, 0xfffffffffffff00f
ja 0x1400caa31
mov ecx, 0x1000
call sub.mozglue.dll_malloc
test rax, rax
je 0x1400cab26
mov qword [rax], rdi
mov qword [rax + 8], 0
mov qword [rsi + 0x1330], rax
xor ecx, ecx
mov rdi, rax
lea rax, [rcx + 0x30]
mov qword [rdi + 8], rax
mov byte [rdi + rcx + 0x18], 0x29
and byte [rdi + rcx + 0x1c], 0xc0
movzx eax, byte [rdi + rcx + 0x20]
and al, 0xc0
or al, 0x15
mov byte [rdi + rcx + 0x20], al
lea rax, [0x1400ebcb8]
mov qword [rdi + rcx + 0x10], rax
mov qword [rdi + rcx + 0x28], rbx
lea rbx, [rdi + rcx]
add rbx, 0x10
mov qword [rdi + rcx + 0x30], r14
xor edi, edi
lea r15, [0x1400eb1f0]
jmp 0x1400caad2
mov qword [rax], r12
mov qword [rax + 8], 0
mov qword [rsi + 0x1330], rax
xor ecx, ecx
mov r12, rax
lea rax, [rcx + 0x30]
mov qword [r12 + 8], rax
mov byte [r12 + rcx + 0x18], 0x16
and byte [r12 + rcx + 0x1c], 0xc0
movzx eax, byte [r12 + rcx + 0x20]
and al, 0xc0
or al, 0x15
mov byte [r12 + rcx + 0x20], al
mov qword [r12 + rcx + 0x10], r15
mov qword [r12 + rcx + 0x28], rbx
lea rbx, [r12 + rcx]
add rbx, 0x10
mov qword [r12 + rcx + 0x30], r14
mov rax, qword [rsi]
cmp rax, qword [rsi + 8]
je 0x1400caae4
cmp byte [rax], 0x45
je 0x1400cabef
mov rcx, rsi
call fcn.1400d0760
test rax, rax
je 0x1400cadfd
mov r14, rax
mov r12, qword [rsi + 0x1330]
mov rcx, qword [r12 + 8]
lea rax, [rcx - 0xfc0]
cmp rax, 0xfffffffffffff00f
ja 0x1400caa97
mov ecx, 0x1000
call sub.mozglue.dll_malloc
test rax, rax
jne 0x1400caa80
call fcn.1400ae980
mov rcx, rsi
call fcn.1400d0600
test rax, rax
je 0x1400cadfb
mov rbx, rax
mov rax, qword [rsi]
cmp qword [rsi + 8], rax
je 0x1400cad60
cmp byte [rax], 0x49
jne 0x1400cad60
xor edi, edi
mov rcx, rsi
xor edx, edx
call fcn.1400c5330
test rax, rax
je 0x1400cadfd
mov r14, rax
mov rdi, qword [rsi + 0x1330]
mov rcx, qword [rdi + 8]
lea rax, [rcx - 0xfc0]
cmp rax, 0xfffffffffffff00f
ja 0x1400cabad
mov ecx, 0x1000
call sub.mozglue.dll_malloc
test rax, rax
je 0x1400cab26
mov qword [rax], rdi
mov qword [rax + 8], 0
mov qword [rsi + 0x1330], rax
xor ecx, ecx
mov rdi, rax
lea rax, [rcx + 0x30]
mov qword [rdi + 8], rax
mov byte [rdi + rcx + 0x18], 0x29
and byte [rdi + rcx + 0x1c], 0xc0
movzx eax, byte [rdi + rcx + 0x20]
and al, 0xc0
or al, 0x15
mov byte [rdi + rcx + 0x20], al
lea rax, [0x1400ebcb8]
mov qword [rdi + rcx + 0x10], rax
mov qword [rdi + rcx + 0x28], rbx
lea rbx, [rdi + rcx]
add rbx, 0x10
mov qword [rdi + rcx + 0x30], r14
jmp 0x1400cad60
inc rax
mov qword [rsi], rax
mov rcx, rsi
call fcn.1400d0850
test rax, rax
je 0x1400cadfb
mov r14, rax
mov r12, qword [rsi + 0x1330]
mov rcx, qword [r12 + 8]
lea rax, [rcx - 0xfc0]
cmp rax, 0xfffffffffffff00f
ja 0x1400cac4e
mov ecx, 0x1000
call sub.mozglue.dll_malloc
test rax, rax
je 0x1400cab26
mov qword [rax], r12
mov qword [rax + 8], 0
mov qword [rsi + 0x1330], rax
xor ecx, ecx
mov r12, rax
lea rax, [rcx + 0x30]
mov qword [r12 + 8], rax
mov byte [r12 + rcx + 0x18], 0x16
and byte [r12 + rcx + 0x1c], 0xc0
lea rdi, [r12 + rcx]
add rdi, 0x10
movzx eax, byte [r12 + rcx + 0x20]
and al, 0xc0
or al, 0x15
mov byte [r12 + rcx + 0x20], al
mov qword [r12 + rcx + 0x10], r15
mov qword [r12 + rcx + 0x28], rbx
mov qword [r12 + rcx + 0x30], r14
jmp 0x1400cadfd
lea r15, [0x1400eb1f0]
xor ebx, ebx
jmp 0x1400cacfd
lea rax, [rcx + 0x30]
mov qword [r12 + 8], rax
mov byte [r12 + rcx + 0x18], 0x16
and byte [r12 + rcx + 0x1c], 0xc0
movzx eax, byte [r12 + rcx + 0x20]
and al, 0xc0
or al, 0x15
mov byte [r12 + rcx + 0x20], al
mov qword [r12 + rcx + 0x10], r15
mov qword [r12 + rcx + 0x28], rbx
lea rbx, [r12 + rcx]
add rbx, 0x10
mov qword [r12 + rcx + 0x30], r14
mov rax, qword [rsi]
cmp rax, qword [rsi + 8]
je 0x1400cace9
cmp byte [rax], 0x45
je 0x1400cad5a
mov rcx, rsi
call fcn.1400d0760
mov r14, rax
test rax, rax
je 0x1400cadfd
test rbx, rbx
je 0x1400cad4c
mov r12, qword [rsi + 0x1330]
mov rcx, qword [r12 + 8]
lea rax, [rcx - 0xfc0]
cmp rax, 0xfffffffffffff00f
ja 0x1400caca0
mov ecx, 0x1000
call sub.mozglue.dll_malloc
test rax, rax
je 0x1400cab26
mov qword [rax], r12
mov qword [rax + 8], 0
mov qword [rsi + 0x1330], rax
xor ecx, ecx
mov r12, rax
jmp 0x1400caca0
mov rbx, r14
mov rax, qword [rsi]
cmp rax, qword [rsi + 8]
jne 0x1400cace4
jmp 0x1400cace9
inc rax
mov qword [rsi], rax
mov rcx, rsi
call fcn.1400d0850
test rax, rax
je 0x1400cadfb
mov r14, rax
mov r15, qword [rsi + 0x1330]
mov rcx, qword [r15 + 8]
lea rax, [rcx - 0xfc0]
cmp rax, 0xfffffffffffff00f
ja 0x1400cadb8
mov ecx, 0x1000
call sub.mozglue.dll_malloc
test rax, rax
je 0x1400cab26
mov qword [rax], r15
mov qword [rax + 8], 0
mov qword [rsi + 0x1330], rax
xor ecx, ecx
mov r15, rax
lea rax, [rcx + 0x30]
mov qword [r15 + 8], rax
lea rdi, [r15 + rcx]
add rdi, 0x10
mov byte [r15 + rcx + 0x18], 0x16
and byte [r15 + rcx + 0x1c], 0xc0
movzx eax, byte [r15 + rcx + 0x20]
and al, 0xc0
or al, 0x15
mov byte [r15 + rcx + 0x20], al
lea rax, [0x1400eb1f0]
mov qword [r15 + rcx + 0x10], rax
mov qword [r15 + rcx + 0x28], rbx
mov qword [r15 + rcx + 0x30], r14
jmp 0x1400cadfd
xor edi, edi
mov rax, rdi
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret