Function at 0x140012a50
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1a8
movdqa xmmword [rsp + 0x190], xmm6
mov edi, edx
mov rsi, rcx
mov rax, qword [0x140083030]
xor rax, rsp
mov qword [rsp + 0x188], rax
mov rbx, qword [rcx + 0x20]
mov r14, qword [rbx + 8]
mov rcx, qword [r14 + 8]
call fcn.1400126e0
mov qword [r14 + 8], r14
mov qword [r14], r14
mov qword [r14 + 0x10], r14
mov qword [rbx + 0x10], 0
mov rbx, qword [rsi + 0x28]
test rbx, rbx
je 0x140012b1d
mov r14, qword [rbx]
test r14, r14
je 0x140012b15
mov r15, qword [rbx + 8]
cmp r14, r15
je 0x140012ae1
mov rax, qword [r14]
mov rax, qword [rax]
mov rcx, r14
xor edx, edx
call qword [0x1400b9010]
add r14, 0xb8
cmp r14, r15
jne 0x140012ac1
mov r14, qword [rbx]
mov rdx, qword [rbx + 0x10]
sub rdx, r14
cmp rdx, 0x1000
jb 0x140012b0d
mov rax, qword [r14 - 8]
add r14, 0xfffffffffffffff8
sub r14, rax
cmp r14, 0x20
jae 0x140013b11
add rdx, 0x27
mov r14, rax
mov rcx, r14
call sub.mozglue.dll_void___cdecl_operator_delete_void____ptr64__unsigned_long_long_unsigned___int64__
mov rcx, rbx
call fcn.1400447c0
mov qword [rsi + 0x28], 0
mov dword [rsi + 0x30], 0
mov byte [rsi + 8], 0
cmp edi, 4
jb 0x140013ae1
mov rcx, qword [rsi + 0x10]
lea rdx, [rsp + 0x6c]
mov r8d, 4
call fcn.14000f580
test al, al
je 0x140013ae1
mov rcx, qword [rsi + 0x10]
cmp byte [rcx + 0x62], 0
mov ebx, dword [rsp + 0x6c]
je 0x140012b6f
cmp byte [rcx + 0x60], 0
je 0x140012b6f
bswap ebx
mov dword [rsp + 0x6c], ebx
cmp ebx, 0x25ed097
ja 0x140013ae1
mov eax, edi
imul edx, ebx, 0x6c
lea r8, [rdx + 4]
cmp r8, rax
je 0x140012bb5
add rdx, 8
cmp rdx, rax
jne 0x140013ae1
lea rdx, [rsp + 0xb0]
mov r8d, 4
call fcn.14000f580
test al, al
je 0x140013ae1
mov ebx, dword [rsp + 0x6c]
xor ebp, ebp
cmp ebx, 0x800
ja 0x140013ae3
test ebx, ebx
je 0x140013a67
mov ecx, 0x18
call sub.mozglue.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
mov qword [rsp + 0x28], rax
mov r12, qword [rsi + 0x10]
mov byte [rsp + 0xb8], 0
mov qword [rsp + 0xc0], r12
lea r13, [0x140045950]
mov qword [rsp + 0xb0], r13
lea rbp, [0x140045960]
mov qword [rsp + 0xc8], rbp
mov word [rsp + 0xd0], 0
pxor xmm0, xmm0
movdqu xmmword [rsp + 0xd8], xmm0
movdqu xmmword [rsp + 0xe8], xmm0
movdqu xmmword [rsp + 0xf8], xmm0
movdqu xmmword [rsp + 0x108], xmm0
movdqu xmmword [rsp + 0x118], xmm0
movdqu xmmword [rsp + 0x128], xmm0
movdqu xmmword [rsp + 0x138], xmm0
movdqu xmmword [rsp + 0x148], xmm0
mov dword [rsp + 0x158], 0xffffffff
mov qword [rsp + 0x160], 0
mov edi, ebx
imul r14, rdi, 0xb8
cmp ebx, 0x17
jb 0x140012c9e
lea rcx, [r14 + 0x27]
call sub.mozglue.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x140012ca9
mov rcx, r14
call sub.mozglue.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
mov rbx, rax
lea r15, [rsp + 0xd0]
mov rax, qword [rsp + 0x28]
mov qword [rax], rbx
add r14, rbx
mov qword [rax + 0x10], r14
mov byte [rbx + 8], 0
mov qword [rbx + 0x10], r12
mov qword [rbx], r13
mov qword [rbx + 0x18], rbp
lea rcx, [rbx + 0x20]
mov r8d, 0x98
mov rdx, r15
call sub.VCRUNTIME140.dll_memcpy
add rbx, 0xb8
dec rdi
jne 0x140012cc0
mov rdi, qword [rsp + 0x28]
mov qword [rdi + 8], rbx
lea rbx, [rsp + 0xb0]
mov rcx, rbx
call fcn.140010c70
cmp dword [rsp + 0x6c], 0
je 0x140013a61
mov r14, qword [rdi]
lea r12, [r14 + 0xb0]
xor r13d, r13d
pxor xmm6, xmm6
mov r15, qword [r12 - 0x18]
test r15, r15
je 0x140012d72
mov rax, qword [r15 + 0x18]
cmp rax, 0x10
jb 0x140012d6a
mov rcx, qword [r15]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140012d65
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140013b11
add rax, 0x28
mov rdx, rax
mov rcx, r8
call sub.mozglue.dll_void___cdecl_operator_delete_void____ptr64__unsigned_long_long_unsigned___int64__
mov rcx, r15
call fcn.1400447c0
mov qword [r12 - 0x18], 0
mov r15, qword [r12 - 0x10]
test r15, r15
je 0x140012dc6
mov rcx, qword [r15]
test rcx, rcx
je 0x140012dbe
mov rdx, qword [r15 + 0x10]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x140012db9
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x140013b11
add rdx, 0x27
mov rcx, rax
call sub.mozglue.dll_void___cdecl_operator_delete_void____ptr64__unsigned_long_long_unsigned___int64__
mov rcx, r15
call fcn.1400447c0
mov qword [r12 - 0x10], 0
mov dword [r12 - 8], 0xffffffff
mov r15, qword [r12]
test r15, r15
je 0x140012e22
mov rcx, qword [r15]
test rcx, rcx
je 0x140012e1a
mov rdx, qword [r15 + 0x10]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x140012e15
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x140013b11
add rdx, 0x27
mov rcx, rax
call sub.mozglue.dll_void___cdecl_operator_delete_void____ptr64__unsigned_long_long_unsigned___int64__
mov rcx, r15
call fcn.1400447c0
mov qword [r12], 0
mov word [r12 - 0x90], 0
mov byte [r12 - 0xa8], 0
mov rcx, qword [r12 - 0xa0]
lea r15, [r12 - 0x88]
mov r8d, 0x6c
mov rdx, r15
call fcn.14000f580
test al, al
je 0x140013a7b
mov rax, qword [r12 - 0xa0]
cmp byte [rax + 0x62], 0
je 0x140012fb3
cmp byte [rax + 0x60], 0
je 0x140012fb3
movdqu xmm2, xmmword [r12 - 0x88]
movdqu xmm3, xmmword [r12 - 0x78]
movdqu xmm4, xmmword [r12 - 0x68]
movdqu xmm1, xmmword [r12 - 0x58]
movdqa xmm0, xmm2
punpckhbw xmm0, xmm6
pshuflw xmm0, xmm0, 0x1b
pshufhw xmm5, xmm0, 0x1b
punpcklbw xmm2, xmm6
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm2, xmm2, 0x1b
packuswb xmm2, xmm5
pshufd xmm2, xmm2, 0xe1
movdqu xmmword [r12 - 0x88], xmm2
movdqa xmm2, xmm3
punpckhbw xmm2, xmm6
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm2, xmm2, 0x1b
punpcklbw xmm3, xmm6
pshuflw xmm3, xmm3, 0x1b
pshufhw xmm3, xmm3, 0x1b
packuswb xmm3, xmm2
movdqu xmmword [r12 - 0x78], xmm3
movdqa xmm2, xmm4
punpckhbw xmm2, xmm6
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm2, xmm2, 0x1b
punpcklbw xmm4, xmm6
pshuflw xmm3, xmm4, 0x1b
pshufhw xmm3, xmm3, 0x1b
packuswb xmm3, xmm2
movdqu xmmword [r12 - 0x68], xmm3
movdqa xmm2, xmm1
punpckhbw xmm2, xmm6
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm2, xmm2, 0x1b
punpcklbw xmm1, xmm6
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
packuswb xmm1, xmm2
movdqu xmmword [r12 - 0x58], xmm1
movdqu xmm1, xmmword [r12 - 0x48]
movdqa xmm2, xmm1
punpckhbw xmm2, xmm6
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm2, xmm2, 0x1b
punpcklbw xmm1, xmm6
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
packuswb xmm1, xmm2
movdqu xmmword [r12 - 0x48], xmm1
mov eax, dword [r12 - 0x38]
bswap eax
mov dword [r12 - 0x38], eax
mov eax, dword [r12 - 0x34]
bswap eax
mov dword [r12 - 0x34], eax
mov eax, dword [r12 - 0x30]
bswap eax
mov dword [r12 - 0x30], eax
packuswb xmm0, xmm0
movd eax, xmm0
jmp 0x140012fb8
mov eax, dword [r12 - 0x80]
test eax, eax
je 0x140013a7b
mov eax, eax
add rax, qword [r15]
jb 0x140013a7b
mov byte [r12 - 0x90], 1
inc r13
mov eax, dword [rsp + 0x6c]
add r12, 0xb8
cmp r13, rax
jb 0x140012d22
mov dword [rsp + 0x68], 0
test eax, eax
je 0x140013a61
lea r14, [rsp + 0x168]
pxor xmm6, xmm6
xor eax, eax
mov qword [rsp + 0x40], rax
xor eax, eax
mov eax, eax
mov rbp, qword [rdi]
imul r15, rax, 0xb8
lea r12, [r15 + rbp]
cmp byte [rbp + r15 + 0x20], 0
je 0x1400134ed
mov rcx, qword [r12 + 0x10]
mov edx, dword [rbp + r15 + 0x3c]
call fcn.140012420
mov qword [rbp + r15 + 0x98], rax
test rax, rax
je 0x1400134ed
lea r13, [r15 + rbp]
add r13, 0x20
mov byte [r12 + 8], 1
cmp dword [r13 + 0x54], 0
je 0x140013083
cmp byte [r13], 0
je 0x1400134ed
mov rdx, qword [rbp + r15 + 0xa0]
test rdx, rdx
je 0x1400130bd
cmp qword [rdx], 0
je 0x1400134ed
mov eax, dword [rbp + r15 + 0x7c]
test eax, eax
je 0x1400130b2
cmp byte [r13], 0
je 0x1400134ed
mov rcx, qword [rbp + r15 + 0xb0]
test rcx, rcx
je 0x140013143
cmp qword [rcx], 0
je 0x1400134ed
mov byte [rbp + r15 + 0x21], 1
jmp 0x1400134f9
mov rcx, qword [r12 + 0x10]
mov edx, dword [rbp + r15 + 0x78]
call fcn.14000dab0
test al, al
je 0x1400134ed
lea rax, [r15 + rbp]
add rax, 0x74
mov qword [rsp + 0x38], rax
mov eax, dword [rax]
cmp rax, 0x8000
ja 0x1400134ed
mov ecx, 0x18
mov qword [rsp + 0x48], rax
call sub.mozglue.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x30], rax
movdqu xmmword [rax], xmm6
mov qword [rax + 0x10], 0
test rcx, rcx
je 0x1400131cf
cmp ecx, 0x1000
jb 0x1400131ed
add rcx, 0x27
call sub.mozglue.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
lea rcx, [rax + 0x27]
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x1400131f5
cmp eax, 0xc
jb 0x1400134ed
mov rcx, qword [r12 + 0x10]
mov edx, dword [rbp + r15 + 0x80]
call fcn.14000dab0
test al, al
je 0x1400134ed
lea rax, [r15 + rbp]
add rax, 0x7c
mov qword [rsp + 0x38], rax
mov eax, dword [rax]
cmp rax, 0x8000
ja 0x1400134ed
mov r13, rax
mov ecx, 0x18
call sub.mozglue.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
movdqu xmmword [rax], xmm6
mov qword [rsp + 0x30], rax
mov qword [rax + 0x10], 0
test r13, r13
je 0x14001331b
cmp r13d, 0x1000
jb 0x140013322
lea rcx, [r13 + 0x27]
call sub.mozglue.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
lea rcx, [rax + 0x27]
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x14001332d
mov rcx, qword [r12 + 0x10]
xor edx, edx
xor r8d, r8d
call fcn.14000f580
mov r9d, 0
test al, al
jne 0x140013247
jmp 0x1400134e3
call sub.mozglue.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
mov rcx, rax
mov rdi, qword [rsp + 0x30]
mov qword [rdi], rcx
mov r8, qword [rsp + 0x48]
lea rax, [rcx + r8]
mov qword [rsp + 0x50], rax
mov qword [rdi + 0x10], rax
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov rax, qword [rsp + 0x50]
mov qword [rdi + 8], rax
mov rax, qword [rsp + 0x38]
mov r8d, dword [rax]
mov rdi, qword [rdi]
mov rcx, qword [r12 + 0x10]
mov rdx, rdi
call fcn.14000f580
test al, al
je 0x14001330d
mov r9, rdi
mov rdi, qword [rsp + 0x28]
mov rax, qword [rsp + 0x38]
mov eax, dword [rax]
mov ecx, 0xffffffff
cmp eax, 5
jb 0x140013a47
mov rcx, qword [r12 + 0x10]
cmp byte [rcx + 0x62], 0
setne dl
cmp byte [rcx + 0x60], 0
mov ecx, dword [r9]
setne r8b
and r8b, dl
mov edx, ecx
bswap edx
cmovne ecx, edx
cmp ecx, 0x3031424e
je 0x140013438
cmp ecx, 0x4270454c
je 0x140013442
cmp ecx, 0x53445352
mov rdi, qword [rsp + 0x28]
lea r14, [rsp + 0x168]
jne 0x140013a47
cmp eax, 0x19
jb 0x14001343d
test r8b, r8b
je 0x1400132ee
mov dword [r9], edx
mov eax, dword [r9 + 4]
mov ecx, dword [r9 + 0x14]
bswap eax
mov dword [r9 + 4], eax
rol word [r9 + 8], 8
rol word [r9 + 0xa], 8
bswap ecx
mov dword [r9 + 0x14], ecx
mov rax, qword [rsp + 0x38]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x30]
mov r9, qword [rcx]
dec eax
mov rdi, r9
cmp byte [r9 + rax], 0
jne 0x14001349d
mov ecx, 0x53445352
mov rdi, qword [rsp + 0x28]
jmp 0x140013a47
test rdi, rdi
jne 0x14001349d
jmp 0x1400134d6
xor r8d, r8d
xor edi, edi
jmp 0x140013356
mov rcx, r13
call sub.mozglue.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
mov rcx, rax
mov r14, qword [rsp + 0x30]
mov qword [r14], rcx
lea rdi, [rcx + r13]
mov qword [r14 + 0x10], rdi
xor edx, edx
mov r8, r13
call sub.VCRUNTIME140.dll_memset
mov qword [r14 + 8], rdi
mov rdi, qword [r14]
mov rax, qword [rsp + 0x38]
mov r8d, dword [rax]
mov rcx, qword [r12 + 0x10]
mov rdx, rdi
call fcn.14000f580
test al, al
je 0x1400133f6
mov rax, qword [r12 + 0x10]
cmp byte [rax + 0x62], 0
je 0x1400133be
cmp byte [rax + 0x60], 0
je 0x1400133be
mov ecx, dword [rdi]
mov eax, dword [rdi + 4]
bswap ecx
mov dword [rdi], ecx
bswap eax
mov dword [rdi + 4], eax
cmp byte [rdi + 8], 0
je 0x1400133c1
mov rcx, qword [rsp + 0x38]
mov ecx, dword [rcx]
add rcx, 0xfffffffffffffff4
cmp rcx, 2
jb 0x1400133c1
shr rcx, 1
cmp rcx, 1
adc rcx, 0
xor edx, edx
rol word [rdi + rdx*2 + 0xc], 8
inc rdx
cmp rcx, rdx
jne 0x1400133ae
jmp 0x1400133c1
mov eax, dword [rdi + 4]
mov rcx, qword [rsp + 0x38]
cmp dword [rcx], eax
jne 0x1400133ee
lea rax, [r15 + rbp]
add rax, 0xb0
mov rcx, qword [rsp + 0x30]
mov qword [rax], rcx
mov rdi, qword [rsp + 0x28]
lea r14, [rsp + 0x168]
jmp 0x1400130a8
mov rax, qword [rsp + 0x30]
mov rdi, qword [rax]
test rdi, rdi
je 0x1400134d6
mov rax, qword [rsp + 0x30]
mov rdx, qword [rax + 0x10]
sub rdx, rdi
cmp rdx, 0x1000
jb 0x140013430
mov rax, qword [rdi - 8]
add rdi, 0xfffffffffffffff8
sub rdi, rax
cmp rdi, 0x20
jae 0x140013b11
add rdx, 0x27
mov rdi, rax
mov rcx, rdi
jmp 0x1400134d1
cmp eax, 0x11
jae 0x140013458
mov rdi, r9
jmp 0x14001349d
mov ecx, 0x4270454c
test r8b, r8b
je 0x140013a3a
mov dword [r9], edx
jmp 0x140013a3a
test r8b, r8b
je 0x14001348d
mov dword [r9], edx
mov eax, dword [r9 + 4]
mov ecx, dword [r9 + 8]
bswap eax
mov dword [r9 + 4], eax
bswap ecx
mov dword [r9 + 8], ecx
mov eax, dword [r9 + 0xc]
bswap eax
mov dword [r9 + 0xc], eax
mov rax, qword [rsp + 0x38]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x30]
mov r9, qword [rcx]
dec eax
mov rdi, r9
cmp byte [r9 + rax], 0
je 0x140013a35
mov rax, qword [rsp + 0x30]
mov rdx, qword [rax + 0x10]
mov rcx, rdi
sub rdx, rdi
cmp rdx, 0x1000
jb 0x1400134d1
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x140013b11
add rdx, 0x27
mov rcx, rax
call sub.mozglue.dll_void___cdecl_operator_delete_void____ptr64__unsigned_long_long_unsigned___int64__
mov rdi, qword [rsp + 0x28]
lea r14, [rsp + 0x168]
mov rcx, qword [rsp + 0x30]
call fcn.1400447c0
cmp byte [r12 + 8], 0
je 0x140013a73
lea rbp, [r12 + 0x18]
mov rax, qword [r12 + 0x18]
mov rax, qword [rax + 8]
mov rcx, rbp
call qword [0x1400b9010]
mov qword [rsp + 0x60], rax
mov rax, qword [r12 + 0x18]
mov rax, qword [rax + 0x10]
mov rcx, rbp
call qword [0x1400b9010]
mov r13, rax
mov rax, qword [rsp + 0x60]
cmp rax, 0xffffffffffffffff
je 0x140013a73
mov rcx, qword [rsi + 0x20]
mov rdx, qword [rcx + 8]
mov r8, qword [rdx + 8]
cmp byte [r8 + 0x19], 0
je 0x140013741
mov rcx, qword [rsi + 0x10]
mov rdx, rbx
call fcn.140012530
cmp dword [rsp + 0xb0], 0x8203
sete r12b
and r12b, al
mov eax, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
mov dword [rsp + 0x70], eax
mov qword [rsp + 0x90], rcx
mov r15, qword [rsi + 0x20]
mov rax, qword [rbp]
mov rax, qword [rax + 0x10]
mov rcx, rbp
call qword [0x1400b9010]
mov qword [rsp + 0x168], rax
mov qword [rsp + 0xb0], 0
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov rcx, r15
lea rdx, [rsp + 0x90]
mov r8, rbx
mov r9, r14
call fcn.140013b20
test al, al
jne 0x1400136b9
test r12b, r12b
je 0x1400136b9
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
mov rcx, rbp
mov rdx, r14
call qword [0x1400b9010]
mov qword [rsp + 0xc8], 0xf
mov eax, 0xc
mov qword [rsp + 0xc0], rax
movabs rcx, 0x6873612f7665642f
mov qword [rsp + 0xb0], rcx
mov dword [rsp + 0xb8], 0x2f6d656d
mov byte [rsp + 0xbc], 0
mov r15, qword [rsp + 0x168]
mov r8, qword [rsp + 0x178]
mov rcx, r14
mov r14, qword [rsp + 0x180]
cmp r14, 0x10
cmovae rcx, r15
cmp r8, rax
cmovae r8, rax
setae dil
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
sete bpl
cmp r14, 0x10
jb 0x1400136a5
lea rdx, [r14 + 1]
cmp rdx, 0x1000
jb 0x14001369d
mov rax, qword [r15 - 8]
add r15, 0xfffffffffffffff8
sub r15, rax
cmp r15, 0x20
jae 0x140013b11
add r14, 0x28
mov rdx, r14
mov r15, rax
mov rcx, r15
call sub.mozglue.dll_void___cdecl_operator_delete_void____ptr64__unsigned_long_long_unsigned___int64__
and bpl, dil
mov rdi, qword [rsp + 0x28]
lea r14, [rsp + 0x168]
je 0x1400136bd
jmp 0x14001371c
test al, al
jne 0x14001371c
test r12b, r12b
je 0x140013a73
mov rax, qword [rsp + 0x60]
sub rax, qword [rsp + 0x40]
jae 0x140013a73
add r13, rax
mov qword [rsp + 0x58], r13
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x60], rax
mov rcx, qword [rsi + 0x20]
mov qword [rsp + 0xb0], 0
lea rax, [rsp + 0x68]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x60]
mov r8, rbx
lea r9, [rsp + 0x58]
call fcn.140013b20
test al, al
je 0x140013a73
add r13, qword [rsp + 0x60]
mov qword [rsp + 0x40], r13
mov eax, dword [rsp + 0x68]
inc eax
mov dword [rsp + 0x68], eax
mov ebp, dword [rsp + 0x6c]
cmp eax, ebp
jb 0x140013010
jmp 0x140013a63
mov rcx, rdx
lea r9, [r8 + 0x10]
cmp qword [r8 + 0x20], rax
cmovae rcx, r8
cmovae r9, r8
mov r8, qword [r9]
cmp byte [r8 + 0x19], 0
je 0x140013744
cmp rcx, rdx
je 0x140013550
cmp rax, qword [rcx + 0x28]
jb 0x140013550
mov eax, dword [rcx + 0x38]
cmp eax, dword [rsp + 0x6c]
jae 0x140013550
mov rcx, qword [rdi]
imul rax, rax, 0xb8
lea r15, [rcx + rax]
add r15, 0x18
mov rax, qword [r15]
mov rax, qword [rax + 8]
mov rcx, r15
call qword [0x1400b9010]
mov r12, rax
mov rax, qword [rbp]
mov rax, qword [rax + 8]
mov rcx, rbp
call qword [0x1400b9010]
cmp r12, rax
jne 0x140013550
mov rax, qword [r15]
mov rax, qword [rax + 0x10]
mov rcx, r15
call qword [0x1400b9010]
mov r12, rax
mov rax, qword [rbp]
mov rax, qword [rax + 0x10]
mov rcx, rbp
call qword [0x1400b9010]
cmp r12, rax
jne 0x140013550
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
mov rcx, rbp
mov rdx, rbx
call qword [0x1400b9010]
mov rax, qword [r15]
mov rax, qword [rax + 0x18]
mov rcx, r15
mov rdx, r14
call qword [0x1400b9010]
mov r8, qword [rsp + 0xc0]
mov r12, qword [rsp + 0x180]
cmp qword [rsp + 0x178], r8
jne 0x140013863
cmp r12, 0x10
jb 0x140013839
mov r14, qword [rsp + 0x168]
cmp qword [rsp + 0xc8], 0x10
mov rdx, rbx
jb 0x14001384f
mov rdx, qword [rsp + 0xb0]
mov rcx, r14
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14001386b
xor r15d, r15d
jmp 0x140013979
xor r15d, r15d
jmp 0x140013986
mov rax, qword [rbp]
mov rax, qword [rax + 0x20]
mov rcx, rbp
lea rdx, [rsp + 0x90]
call qword [0x1400b9010]
mov rax, qword [r15]
mov rax, qword [rax + 0x20]
mov rcx, r15
lea rdx, [rsp + 0x70]
call qword [0x1400b9010]
mov r8, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0x88]
cmp qword [rsp + 0x80], r8
jne 0x1400138eb
lea rcx, [rsp + 0x70]
cmp rdi, 0x10
jb 0x1400138c3
mov rcx, qword [rsp + 0x70]
cmp qword [rsp + 0xa8], 0x10
lea rdx, [rsp + 0x90]
jb 0x1400138de
mov rdx, qword [rsp + 0x90]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
sete r15b
jmp 0x1400138ee
xor r15d, r15d
cmp rdi, 0x10
jb 0x14001392a
mov rcx, qword [rsp + 0x70]
lea rdx, [rdi + 1]
cmp rdx, 0x1000
jb 0x140013925
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x140013b11
add rdi, 0x28
mov rdx, rdi
mov rcx, rax
call sub.mozglue.dll_void___cdecl_operator_delete_void____ptr64__unsigned_long_long_unsigned___int64__
mov rax, qword [rsp + 0xa8]
cmp rax, 0x10
jb 0x140013971
mov rcx, qword [rsp + 0x90]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14001396c
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140013b11
add rax, 0x28
mov rdx, rax
mov rcx, r8
call sub.mozglue.dll_void___cdecl_operator_delete_void____ptr64__unsigned_long_long_unsigned___int64__
mov r12, qword [rsp + 0x180]
mov rdi, qword [rsp + 0x28]
lea r14, [rsp + 0x168]
cmp r12, 0x10
jb 0x1400139d3
mov rcx, qword [rsp + 0x168]
lea rdx, [r12 + 1]
cmp rdx, 0x1000
jb 0x1400139c1
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x140013b11
add r12, 0x28
mov rdx, r12
mov rcx, rax
call sub.mozglue.dll_void___cdecl_operator_delete_void____ptr64__unsigned_long_long_unsigned___int64__
mov rdi, qword [rsp + 0x28]
lea r14, [rsp + 0x168]
mov rax, qword [rsp + 0xc8]
cmp rax, 0x10
jb 0x140013a27
mov rcx, qword [rsp + 0xb0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140013a15
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140013b11
add rax, 0x28
mov rdx, rax
mov rcx, r8
call sub.mozglue.dll_void___cdecl_operator_delete_void____ptr64__unsigned_long_long_unsigned___int64__
mov rdi, qword [rsp + 0x28]
lea r14, [rsp + 0x168]
test r15b, r15b
je 0x140013550
jmp 0x140013726
mov ecx, 0x3031424e
mov rdi, qword [rsp + 0x28]
lea r14, [rsp + 0x168]
lea rax, [r15 + rbp]
add rax, 0xa0
mov rdx, qword [rsp + 0x30]
mov qword [rax], rdx
mov dword [rax + 8], ecx
jmp 0x140013079
xor ebp, ebp
mov qword [rsi + 0x28], rdi
mov dword [rsi + 0x30], ebp
mov byte [rsi + 8], 1
mov bpl, 1
jmp 0x140013ae3
mov r14, qword [rdi]
test r14, r14
je 0x140013ad9
mov rdi, qword [rdi + 8]
cmp r14, rdi
je 0x140013aa4
mov rsi, r14
mov rax, qword [rsi]
mov rax, qword [rax]
mov rcx, rsi
xor edx, edx
call qword [0x1400b9010]
add rsi, 0xb8
cmp rsi, rdi
jne 0x140013a87
mov rdi, qword [rsp + 0x28]
mov rdx, qword [rdi + 0x10]
sub rdx, r14
cmp rdx, 0x1000
jb 0x140013ad1
mov rax, qword [r14 - 8]
add r14, 0xfffffffffffffff8
sub r14, rax
cmp r14, 0x20
jae 0x140013b11
add rdx, 0x27
mov r14, rax
mov rcx, r14
call sub.mozglue.dll_void___cdecl_operator_delete_void____ptr64__unsigned_long_long_unsigned___int64__
mov rcx, rdi
call fcn.1400447c0
xor ebp, ebp
mov rcx, qword [rsp + 0x188]
xor rcx, rsp
call fcn.1400361c0
mov eax, ebp
movaps xmm6, xmmword [rsp + 0x190]
add rsp, 0x1a8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3