Function at 0x140018310
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 [0x140084030]
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.140017fa0
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 0x1400183dd
mov r14, qword [rbx]
test r14, r14
je 0x1400183d5
mov r15, qword [rbx + 8]
cmp r14, r15
je 0x1400183a1
mov rax, qword [r14]
mov rax, qword [rax]
mov rcx, r14
xor edx, edx
call qword [0x1400ba010]
add r14, 0xb8
cmp r14, r15
jne 0x140018381
mov r14, qword [rbx]
mov rdx, qword [rbx + 0x10]
sub rdx, r14
cmp rdx, 0x1000
jb 0x1400183cd
mov rax, qword [r14 - 8]
add r14, 0xfffffffffffffff8
sub r14, rax
cmp r14, 0x20
jae 0x1400193d1
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 sub.mozglue.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [rsi + 0x28], 0
mov dword [rsi + 0x30], 0
mov byte [rsi + 8], 0
cmp edi, 4
jb 0x1400193a1
mov rcx, qword [rsi + 0x10]
lea rdx, [rsp + 0x6c]
mov r8d, 4
call fcn.140014e40
test al, al
je 0x1400193a1
mov rcx, qword [rsi + 0x10]
cmp byte [rcx + 0x62], 0
mov ebx, dword [rsp + 0x6c]
je 0x14001842f
cmp byte [rcx + 0x60], 0
je 0x14001842f
bswap ebx
mov dword [rsp + 0x6c], ebx
cmp ebx, 0x25ed097
ja 0x1400193a1
mov eax, edi
imul edx, ebx, 0x6c
lea r8, [rdx + 4]
cmp r8, rax
je 0x140018475
add rdx, 8
cmp rdx, rax
jne 0x1400193a1
lea rdx, [rsp + 0xb0]
mov r8d, 4
call fcn.140014e40
test al, al
je 0x1400193a1
mov ebx, dword [rsp + 0x6c]
xor ebp, ebp
cmp ebx, 0x800
ja 0x1400193a3
test ebx, ebx
je 0x140019327
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, [0x140046960]
mov qword [rsp + 0xb0], r13
lea rbp, [0x140046970]
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 0x14001855e
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 0x140018569
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 0x140018580
mov rdi, qword [rsp + 0x28]
mov qword [rdi + 8], rbx
lea rbx, [rsp + 0xb0]
mov rcx, rbx
call fcn.140016530
cmp dword [rsp + 0x6c], 0
je 0x140019321
mov r14, qword [rdi]
lea r12, [r14 + 0xb0]
xor r13d, r13d
pxor xmm6, xmm6
mov r15, qword [r12 - 0x18]
test r15, r15
je 0x140018632
mov rax, qword [r15 + 0x18]
cmp rax, 0x10
jb 0x14001862a
mov rcx, qword [r15]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140018625
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1400193d1
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 sub.mozglue.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [r12 - 0x18], 0
mov r15, qword [r12 - 0x10]
test r15, r15
je 0x140018686
mov rcx, qword [r15]
test rcx, rcx
je 0x14001867e
mov rdx, qword [r15 + 0x10]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x140018679
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x1400193d1
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 sub.mozglue.dll_void___cdecl_operator_delete_void____ptr64_
mov qword [r12 - 0x10], 0
mov dword [r12 - 8], 0xffffffff
mov r15, qword [r12]
test r15, r15
je 0x1400186e2
mov rcx, qword [r15]
test rcx, rcx
je 0x1400186da
mov rdx, qword [r15 + 0x10]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x1400186d5
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x1400193d1
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 sub.mozglue.dll_void___cdecl_operator_delete_void____ptr64_
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.140014e40
test al, al
je 0x14001933b
mov rax, qword [r12 - 0xa0]
cmp byte [rax + 0x62], 0
je 0x140018873
cmp byte [rax + 0x60], 0
je 0x140018873
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 0x140018878
mov eax, dword [r12 - 0x80]
test eax, eax
je 0x14001933b
mov eax, eax
add rax, qword [r15]
jb 0x14001933b
mov byte [r12 - 0x90], 1
inc r13
mov eax, dword [rsp + 0x6c]
add r12, 0xb8
cmp r13, rax
jb 0x1400185e2
mov dword [rsp + 0x68], 0
test eax, eax
je 0x140019321
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 0x140018dad
mov rcx, qword [r12 + 0x10]
mov edx, dword [rbp + r15 + 0x3c]
call fcn.140017ce0
mov qword [rbp + r15 + 0x98], rax
test rax, rax
je 0x140018dad
lea r13, [r15 + rbp]
add r13, 0x20
mov byte [r12 + 8], 1
cmp dword [r13 + 0x54], 0
je 0x140018943
cmp byte [r13], 0
je 0x140018dad
mov rdx, qword [rbp + r15 + 0xa0]
test rdx, rdx
je 0x14001897d
cmp qword [rdx], 0
je 0x140018dad
mov eax, dword [rbp + r15 + 0x7c]
test eax, eax
je 0x140018972
cmp byte [r13], 0
je 0x140018dad
mov rcx, qword [rbp + r15 + 0xb0]
test rcx, rcx
je 0x140018a03
cmp qword [rcx], 0
je 0x140018dad
mov byte [rbp + r15 + 0x21], 1
jmp 0x140018db9
mov rcx, qword [r12 + 0x10]
mov edx, dword [rbp + r15 + 0x78]
call fcn.140013370
test al, al
je 0x140018dad
lea rax, [r15 + rbp]
add rax, 0x74
mov qword [rsp + 0x38], rax
mov eax, dword [rax]
cmp rax, 0x8000
ja 0x140018dad
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 0x140018a8f
cmp ecx, 0x1000
jb 0x140018aad
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 0x140018ab5
cmp eax, 0xc
jb 0x140018dad
mov rcx, qword [r12 + 0x10]
mov edx, dword [rbp + r15 + 0x80]
call fcn.140013370
test al, al
je 0x140018dad
lea rax, [r15 + rbp]
add rax, 0x7c
mov qword [rsp + 0x38], rax
mov eax, dword [rax]
cmp rax, 0x8000
ja 0x140018dad
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 0x140018bdb
cmp r13d, 0x1000
jb 0x140018be2
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 0x140018bed
mov rcx, qword [r12 + 0x10]
xor edx, edx
xor r8d, r8d
call fcn.140014e40
mov r9d, 0
test al, al
jne 0x140018b07
jmp 0x140018da3
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.140014e40
test al, al
je 0x140018bcd
mov r9, rdi
mov rdi, qword [rsp + 0x28]
mov rax, qword [rsp + 0x38]
mov eax, dword [rax]
mov ecx, 0xffffffff
cmp eax, 5
jb 0x140019307
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 0x140018cf8
cmp ecx, 0x4270454c
je 0x140018d02
cmp ecx, 0x53445352
mov rdi, qword [rsp + 0x28]
lea r14, [rsp + 0x168]
jne 0x140019307
cmp eax, 0x19
jb 0x140018cfd
test r8b, r8b
je 0x140018bae
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 0x140018d5d
mov ecx, 0x53445352
mov rdi, qword [rsp + 0x28]
jmp 0x140019307
test rdi, rdi
jne 0x140018d5d
jmp 0x140018d96
xor r8d, r8d
xor edi, edi
jmp 0x140018c16
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.140014e40
test al, al
je 0x140018cb6
mov rax, qword [r12 + 0x10]
cmp byte [rax + 0x62], 0
je 0x140018c7e
cmp byte [rax + 0x60], 0
je 0x140018c7e
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 0x140018c81
mov rcx, qword [rsp + 0x38]
mov ecx, dword [rcx]
add rcx, 0xfffffffffffffff4
cmp rcx, 2
jb 0x140018c81
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 0x140018c6e
jmp 0x140018c81
mov eax, dword [rdi + 4]
mov rcx, qword [rsp + 0x38]
cmp dword [rcx], eax
jne 0x140018cae
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 0x140018968
mov rax, qword [rsp + 0x30]
mov rdi, qword [rax]
test rdi, rdi
je 0x140018d96
mov rax, qword [rsp + 0x30]
mov rdx, qword [rax + 0x10]
sub rdx, rdi
cmp rdx, 0x1000
jb 0x140018cf0
mov rax, qword [rdi - 8]
add rdi, 0xfffffffffffffff8
sub rdi, rax
cmp rdi, 0x20
jae 0x1400193d1
add rdx, 0x27
mov rdi, rax
mov rcx, rdi
jmp 0x140018d91
cmp eax, 0x11
jae 0x140018d18
mov rdi, r9
jmp 0x140018d5d
mov ecx, 0x4270454c
test r8b, r8b
je 0x1400192fa
mov dword [r9], edx
jmp 0x1400192fa
test r8b, r8b
je 0x140018d4d
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 0x1400192f5
mov rax, qword [rsp + 0x30]
mov rdx, qword [rax + 0x10]
mov rcx, rdi
sub rdx, rdi
cmp rdx, 0x1000
jb 0x140018d91
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x1400193d1
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 sub.mozglue.dll_void___cdecl_operator_delete_void____ptr64_
cmp byte [r12 + 8], 0
je 0x140019333
lea rbp, [r12 + 0x18]
mov rax, qword [r12 + 0x18]
mov rax, qword [rax + 8]
mov rcx, rbp
call qword [0x1400ba010]
mov qword [rsp + 0x60], rax
mov rax, qword [r12 + 0x18]
mov rax, qword [rax + 0x10]
mov rcx, rbp
call qword [0x1400ba010]
mov r13, rax
mov rax, qword [rsp + 0x60]
cmp rax, 0xffffffffffffffff
je 0x140019333
mov rcx, qword [rsi + 0x20]
mov rdx, qword [rcx + 8]
mov r8, qword [rdx + 8]
cmp byte [r8 + 0x19], 0
je 0x140019001
mov rcx, qword [rsi + 0x10]
mov rdx, rbx
call fcn.140017df0
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 [0x1400ba010]
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.1400193e0
test al, al
jne 0x140018f79
test r12b, r12b
je 0x140018f79
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
mov rcx, rbp
mov rdx, r14
call qword [0x1400ba010]
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 0x140018f65
lea rdx, [r14 + 1]
cmp rdx, 0x1000
jb 0x140018f5d
mov rax, qword [r15 - 8]
add r15, 0xfffffffffffffff8
sub r15, rax
cmp r15, 0x20
jae 0x1400193d1
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 0x140018f7d
jmp 0x140018fdc
test al, al
jne 0x140018fdc
test r12b, r12b
je 0x140019333
mov rax, qword [rsp + 0x60]
sub rax, qword [rsp + 0x40]
jae 0x140019333
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.1400193e0
test al, al
je 0x140019333
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 0x1400188d0
jmp 0x140019323
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 0x140019004
cmp rcx, rdx
je 0x140018e10
cmp rax, qword [rcx + 0x28]
jb 0x140018e10
mov eax, dword [rcx + 0x38]
cmp eax, dword [rsp + 0x6c]
jae 0x140018e10
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 [0x1400ba010]
mov r12, rax
mov rax, qword [rbp]
mov rax, qword [rax + 8]
mov rcx, rbp
call qword [0x1400ba010]
cmp r12, rax
jne 0x140018e10
mov rax, qword [r15]
mov rax, qword [rax + 0x10]
mov rcx, r15
call qword [0x1400ba010]
mov r12, rax
mov rax, qword [rbp]
mov rax, qword [rax + 0x10]
mov rcx, rbp
call qword [0x1400ba010]
cmp r12, rax
jne 0x140018e10
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
mov rcx, rbp
mov rdx, rbx
call qword [0x1400ba010]
mov rax, qword [r15]
mov rax, qword [rax + 0x18]
mov rcx, r15
mov rdx, r14
call qword [0x1400ba010]
mov r8, qword [rsp + 0xc0]
mov r12, qword [rsp + 0x180]
cmp qword [rsp + 0x178], r8
jne 0x140019123
cmp r12, 0x10
jb 0x1400190f9
mov r14, qword [rsp + 0x168]
cmp qword [rsp + 0xc8], 0x10
mov rdx, rbx
jb 0x14001910f
mov rdx, qword [rsp + 0xb0]
mov rcx, r14
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14001912b
xor r15d, r15d
jmp 0x140019239
xor r15d, r15d
jmp 0x140019246
mov rax, qword [rbp]
mov rax, qword [rax + 0x20]
mov rcx, rbp
lea rdx, [rsp + 0x90]
call qword [0x1400ba010]
mov rax, qword [r15]
mov rax, qword [rax + 0x20]
mov rcx, r15
lea rdx, [rsp + 0x70]
call qword [0x1400ba010]
mov r8, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0x88]
cmp qword [rsp + 0x80], r8
jne 0x1400191ab
lea rcx, [rsp + 0x70]
cmp rdi, 0x10
jb 0x140019183
mov rcx, qword [rsp + 0x70]
cmp qword [rsp + 0xa8], 0x10
lea rdx, [rsp + 0x90]
jb 0x14001919e
mov rdx, qword [rsp + 0x90]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
sete r15b
jmp 0x1400191ae
xor r15d, r15d
cmp rdi, 0x10
jb 0x1400191ea
mov rcx, qword [rsp + 0x70]
lea rdx, [rdi + 1]
cmp rdx, 0x1000
jb 0x1400191e5
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x1400193d1
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 0x140019231
mov rcx, qword [rsp + 0x90]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14001922c
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1400193d1
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 0x140019293
mov rcx, qword [rsp + 0x168]
lea rdx, [r12 + 1]
cmp rdx, 0x1000
jb 0x140019281
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x1400193d1
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 0x1400192e7
mov rcx, qword [rsp + 0xb0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400192d5
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1400193d1
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 0x140018e10
jmp 0x140018fe6
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 0x140018939
xor ebp, ebp
mov qword [rsi + 0x28], rdi
mov dword [rsi + 0x30], ebp
mov byte [rsi + 8], 1
mov bpl, 1
jmp 0x1400193a3
mov r14, qword [rdi]
test r14, r14
je 0x140019399
mov rdi, qword [rdi + 8]
cmp r14, rdi
je 0x140019364
mov rsi, r14
mov rax, qword [rsi]
mov rax, qword [rax]
mov rcx, rsi
xor edx, edx
call qword [0x1400ba010]
add rsi, 0xb8
cmp rsi, rdi
jne 0x140019347
mov rdi, qword [rsp + 0x28]
mov rdx, qword [rdi + 0x10]
sub rdx, r14
cmp rdx, 0x1000
jb 0x140019391
mov rax, qword [r14 - 8]
add r14, 0xfffffffffffffff8
sub r14, rax
cmp r14, 0x20
jae 0x1400193d1
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 sub.mozglue.dll_void___cdecl_operator_delete_void____ptr64_
xor ebp, ebp
mov rcx, qword [rsp + 0x188]
xor rcx, rsp
call fcn.14003b140
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