Function at 0x140015330
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
movaps 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.14002d320
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 0x1400153fc
mov r14, qword [rbx]
test r14, r14
je 0x1400153f4
mov r15, qword [rbx + 8]
cmp r14, r15
je 0x1400153c0
mov rax, qword [r14]
mov rax, qword [rax]
mov rcx, r14
xor edx, edx
call qword [0x1400ba010]
add r14, 0xb8
cmp r14, r15
jne 0x1400153a0
mov r14, qword [rbx]
mov rdx, qword [rbx + 0x10]
sub rdx, r14
cmp rdx, 0x1000
jb 0x1400153ec
mov rax, qword [r14 - 8]
add r14, 0xfffffffffffffff8
sub r14, rax
cmp r14, 0x20
jae 0x140016388
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.1400465d0
mov qword [rsi + 0x28], 0
mov dword [rsi + 0x30], 0
mov byte [rsi + 8], 0
cmp edi, 4
jb 0x140016358
mov rcx, qword [rsi + 0x10]
lea rdx, [rsp + 0x6c]
mov r8d, 4
call fcn.140012c00
test al, al
je 0x140016358
mov rcx, qword [rsi + 0x10]
cmp byte [rcx + 0x62], 0
mov ebx, dword [rsp + 0x6c]
je 0x14001544e
cmp byte [rcx + 0x60], 0
je 0x14001544e
bswap ebx
mov dword [rsp + 0x6c], ebx
cmp ebx, 0x25ed097
ja 0x140016358
mov eax, edi
imul edx, ebx, 0x6c
lea r8, [rdx + 4]
cmp r8, rax
je 0x140015494
add rdx, 8
cmp rdx, rax
jne 0x140016358
lea rdx, [rsp + 0xb0]
mov r8d, 4
call fcn.140012c00
test al, al
je 0x140016358
mov ebx, dword [rsp + 0x6c]
xor ebp, ebp
cmp ebx, 0x800
ja 0x14001635a
test ebx, ebx
je 0x1400162de
mov ecx, 0x18
call sub.mozglue.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
mov qword [rsp + 0x30], rax
mov r12, qword [rsi + 0x10]
mov byte [rsp + 0xb8], 0
mov qword [rsp + 0xc0], r12
lea r13, [0x140047a70]
mov qword [rsp + 0xb0], r13
lea rbp, [0x140047a80]
mov qword [rsp + 0xc8], rbp
mov word [rsp + 0xd0], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0xd8], xmm0
movups xmmword [rsp + 0xe8], xmm0
movups xmmword [rsp + 0xf8], xmm0
movups xmmword [rsp + 0x108], xmm0
movups xmmword [rsp + 0x118], xmm0
movups xmmword [rsp + 0x128], xmm0
movups xmmword [rsp + 0x138], xmm0
movups xmmword [rsp + 0x148], xmm0
mov dword [rsp + 0x158], 0xffffffff
mov qword [rsp + 0x160], 0
mov edi, ebx
imul r14, rdi, 0xb8
cmp r14, 0x1000
jb 0x140015578
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 0x140015583
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 + 0x30]
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 0x14001559a
mov rdi, qword [rsp + 0x30]
mov qword [rdi + 8], rbx
lea rbx, [rsp + 0xb0]
mov rcx, rbx
call fcn.140013cc0
cmp dword [rsp + 0x6c], 0
je 0x1400162d8
mov r14, qword [rdi]
lea r12, [r14 + 0xb0]
xor r13d, r13d
mov r15, qword [r12 - 0x18]
test r15, r15
je 0x140015648
mov rax, qword [r15 + 0x18]
cmp rax, 0x10
jb 0x140015640
mov rcx, qword [r15]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14001563b
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140016388
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.1400465d0
mov qword [r12 - 0x18], 0
mov r15, qword [r12 - 0x10]
test r15, r15
je 0x14001569c
mov rcx, qword [r15]
test rcx, rcx
je 0x140015694
mov rdx, qword [r15 + 0x10]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x14001568f
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x140016388
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.1400465d0
mov qword [r12 - 0x10], 0
mov dword [r12 - 8], 0xffffffff
mov r15, qword [r12]
test r15, r15
je 0x1400156f8
mov rcx, qword [r15]
test rcx, rcx
je 0x1400156f0
mov rdx, qword [r15 + 0x10]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x1400156eb
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x140016388
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.1400465d0
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.140012c00
test al, al
je 0x1400162f2
mov rax, qword [r12 - 0xa0]
cmp byte [rax + 0x62], 0
je 0x140015878
cmp byte [rax + 0x60], 0
je 0x140015878
mov eax, dword [r12 - 0x88]
mov ecx, dword [r12 - 0x84]
bswap eax
bswap ecx
mov dword [r12 - 0x88], ecx
mov dword [r12 - 0x84], eax
mov eax, dword [r12 - 0x80]
bswap eax
mov dword [r12 - 0x80], eax
mov ecx, dword [r12 - 0x7c]
bswap ecx
mov dword [r12 - 0x7c], ecx
mov ecx, dword [r12 - 0x78]
bswap ecx
mov dword [r12 - 0x78], ecx
mov ecx, dword [r12 - 0x74]
bswap ecx
mov dword [r12 - 0x74], ecx
mov ecx, dword [r12 - 0x70]
bswap ecx
mov dword [r12 - 0x70], ecx
mov ecx, dword [r12 - 0x6c]
bswap ecx
mov dword [r12 - 0x6c], ecx
mov ecx, dword [r12 - 0x68]
bswap ecx
mov dword [r12 - 0x68], ecx
mov ecx, dword [r12 - 0x64]
bswap ecx
mov dword [r12 - 0x64], ecx
mov ecx, dword [r12 - 0x60]
bswap ecx
mov dword [r12 - 0x60], ecx
mov ecx, dword [r12 - 0x5c]
bswap ecx
mov dword [r12 - 0x5c], ecx
mov ecx, dword [r12 - 0x58]
bswap ecx
mov dword [r12 - 0x58], ecx
mov ecx, dword [r12 - 0x54]
bswap ecx
mov dword [r12 - 0x54], ecx
mov ecx, dword [r12 - 0x50]
bswap ecx
mov dword [r12 - 0x50], ecx
mov ecx, dword [r12 - 0x4c]
bswap ecx
mov dword [r12 - 0x4c], ecx
mov ecx, dword [r12 - 0x48]
bswap ecx
mov dword [r12 - 0x48], ecx
mov ecx, dword [r12 - 0x44]
bswap ecx
mov dword [r12 - 0x44], ecx
mov ecx, dword [r12 - 0x40]
bswap ecx
mov dword [r12 - 0x40], ecx
mov ecx, dword [r12 - 0x3c]
bswap ecx
mov dword [r12 - 0x3c], ecx
mov ecx, dword [r12 - 0x38]
bswap ecx
mov dword [r12 - 0x38], ecx
mov ecx, dword [r12 - 0x34]
bswap ecx
mov dword [r12 - 0x34], ecx
mov ecx, dword [r12 - 0x30]
bswap ecx
mov dword [r12 - 0x30], ecx
jmp 0x14001587d
mov eax, dword [r12 - 0x80]
test eax, eax
je 0x1400162f2
mov eax, eax
add rax, qword [r15]
jb 0x1400162f2
mov byte [r12 - 0x90], 1
inc r13
mov eax, dword [rsp + 0x6c]
add r12, 0xb8
cmp r13, rax
jb 0x1400155f8
mov dword [rsp + 0x68], 0
test eax, eax
je 0x1400162d8
xorps xmm6, xmm6
xor r12d, r12d
xor eax, eax
mov eax, eax
mov r14, qword [rdi]
imul rbp, rax, 0xb8
lea r15, [r14 + rbp]
cmp byte [r14 + rbp + 0x20], 0
je 0x140015d84
mov rcx, qword [r15 + 0x10]
mov edx, dword [r14 + rbp + 0x3c]
call fcn.140013de0
mov qword [r14 + rbp + 0x98], rax
test rax, rax
je 0x140015d84
lea r13, [r14 + rbp]
add r13, 0x20
mov byte [r15 + 8], 1
cmp dword [r13 + 0x54], 0
je 0x140015939
cmp byte [r13], 0
je 0x140015d84
mov rdx, qword [r14 + rbp + 0xa0]
test rdx, rdx
je 0x140015973
cmp qword [rdx], 0
je 0x140015d84
mov eax, dword [r14 + rbp + 0x7c]
test eax, eax
je 0x140015968
cmp byte [r13], 0
je 0x140015d84
mov rcx, qword [r14 + rbp + 0xb0]
test rcx, rcx
je 0x1400159f7
cmp qword [rcx], 0
je 0x140015d84
mov byte [r14 + rbp + 0x21], 1
jmp 0x140015d8f
mov rcx, qword [r15 + 0x10]
mov edx, dword [r14 + rbp + 0x78]
call fcn.140012f30
test al, al
je 0x140015d84
lea rax, [r14 + rbp]
add rax, 0x74
mov qword [rsp + 0x40], rax
mov eax, dword [rax]
cmp rax, 0x8000
ja 0x140015d84
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 + 0x38], rax
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
test rcx, rcx
je 0x140015a82
cmp ecx, 0x1000
jb 0x140015a9f
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 0x140015aa7
cmp eax, 0xc
jb 0x140015d84
mov rcx, qword [r15 + 0x10]
mov edx, dword [r14 + rbp + 0x80]
call fcn.140012f30
test al, al
je 0x140015d84
lea rax, [r14 + rbp]
add rax, 0x7c
mov r13d, dword [rax]
cmp r13, 0x8000
ja 0x140015d84
mov qword [rsp + 0x40], rax
mov ecx, 0x18
call sub.mozglue.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
movups xmmword [rax], xmm6
mov qword [rsp + 0x38], rax
mov qword [rax + 0x10], 0
test r13, r13
je 0x140015bbe
mov rdi, r13
cmp edi, 0x1000
jb 0x140015bc5
lea rcx, [rdi + 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 0x140015bd0
mov rcx, qword [r15 + 0x10]
xor edx, edx
xor r8d, r8d
call fcn.140012c00
mov r9d, 0
test al, al
jne 0x140015af8
jmp 0x140015d7a
call sub.mozglue.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
mov rcx, rax
mov rdi, qword [rsp + 0x38]
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 + 0x40]
mov r8d, dword [rax]
mov rdi, qword [rdi]
mov rcx, qword [r15 + 0x10]
mov rdx, rdi
call fcn.140012c00
test al, al
je 0x140015bb0
mov r9, rdi
mov rdi, qword [rsp + 0x30]
mov rax, qword [rsp + 0x40]
mov eax, dword [rax]
mov ecx, 0xffffffff
cmp eax, 5
jb 0x1400162be
mov rcx, qword [r15 + 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 0x140015cd7
cmp ecx, 0x4270454c
je 0x140015ce1
cmp ecx, 0x53445352
mov rdi, qword [rsp + 0x30]
jne 0x1400162be
cmp eax, 0x19
jb 0x140015cdc
test r8b, r8b
je 0x140015b96
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 + 0x40]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x38]
mov r9, qword [rcx]
dec eax
mov rdi, r9
cmp byte [r9 + rax], 0
jne 0x140015d3c
mov ecx, 0x53445352
jmp 0x1400162b9
test rdi, rdi
jne 0x140015d3c
jmp 0x140015d75
xor r8d, r8d
xor edi, edi
jmp 0x140015bfa
mov rcx, rdi
call sub.mozglue.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
mov rcx, rax
mov r13, qword [rsp + 0x38]
mov qword [r13], rcx
mov r8, rdi
add rdi, rcx
mov qword [r13 + 0x10], rdi
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov qword [r13 + 8], rdi
mov rdi, qword [r13]
mov rax, qword [rsp + 0x40]
mov r8d, dword [rax]
mov rcx, qword [r15 + 0x10]
mov rdx, rdi
call fcn.140012c00
test al, al
je 0x140015c95
mov rax, qword [r15 + 0x10]
cmp byte [rax + 0x62], 0
je 0x140015c65
cmp byte [rax + 0x60], 0
je 0x140015c65
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 0x140015c68
mov rcx, qword [rsp + 0x40]
mov ecx, dword [rcx]
add rcx, 0xfffffffffffffff4
cmp rcx, 2
jb 0x140015c68
shr rcx, 1
cmp rcx, 2
mov edx, 1
cmovb rcx, rdx
xor edx, edx
rol word [rdi + rdx*2 + 0xc], 8
inc rdx
cmp rcx, rdx
jne 0x140015c55
jmp 0x140015c68
mov eax, dword [rdi + 4]
mov rcx, qword [rsp + 0x40]
cmp dword [rcx], eax
jne 0x140015c8d
lea rax, [r14 + rbp]
add rax, 0xb0
mov rcx, qword [rsp + 0x38]
mov qword [rax], rcx
mov rdi, qword [rsp + 0x30]
jmp 0x14001595e
mov rax, qword [rsp + 0x38]
mov rdi, qword [rax]
test rdi, rdi
je 0x140015d75
mov rax, qword [rsp + 0x38]
mov rdx, qword [rax + 0x10]
sub rdx, rdi
cmp rdx, 0x1000
jb 0x140015ccf
mov rax, qword [rdi - 8]
add rdi, 0xfffffffffffffff8
sub rdi, rax
cmp rdi, 0x20
jae 0x140016388
add rdx, 0x27
mov rdi, rax
mov rcx, rdi
jmp 0x140015d70
cmp eax, 0x11
jae 0x140015cf7
mov rdi, r9
jmp 0x140015d3c
mov ecx, 0x4270454c
test r8b, r8b
je 0x1400162b9
mov dword [r9], edx
jmp 0x1400162b9
test r8b, r8b
je 0x140015d2c
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 + 0x40]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x38]
mov r9, qword [rcx]
dec eax
mov rdi, r9
cmp byte [r9 + rax], 0
je 0x1400162b4
mov rax, qword [rsp + 0x38]
mov rdx, qword [rax + 0x10]
mov rcx, rdi
sub rdx, rdi
cmp rdx, 0x1000
jb 0x140015d70
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x140016388
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 + 0x30]
mov rcx, qword [rsp + 0x38]
call fcn.1400465d0
cmp byte [r15 + 8], 0
je 0x1400162ea
lea r13, [r15 + 0x18]
mov rax, qword [r15 + 0x18]
mov rax, qword [rax + 8]
mov rcx, r13
call qword [0x1400ba010]
mov qword [rsp + 0x60], rax
mov rax, qword [r15 + 0x18]
mov rax, qword [rax + 0x10]
mov rcx, r13
call qword [0x1400ba010]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x60]
cmp rax, 0xffffffffffffffff
je 0x1400162ea
mov rcx, qword [rsi + 0x20]
mov rdx, qword [rcx + 8]
mov r8, qword [rdx + 8]
cmp byte [r8 + 0x19], 0
je 0x140015fd1
mov rcx, qword [rsi + 0x10]
mov rdx, rbx
call fcn.140015180
cmp dword [rsp + 0xb0], 0x8203
sete bpl
and bpl, 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 [r13]
mov rax, qword [rax + 0x10]
mov rcx, r13
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
lea r9, [rsp + 0x168]
call fcn.14002ecc0
test al, al
jne 0x140015f53
test bpl, bpl
je 0x140015f53
mov rax, qword [r13]
mov rax, qword [rax + 0x18]
mov rcx, r13
lea rdi, [rsp + 0x168]
mov rdx, rdi
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 r13, qword [rsp + 0x168]
mov r8, qword [rsp + 0x178]
mov r15, qword [rsp + 0x180]
cmp r15, 0x10
mov rcx, rdi
cmovae rcx, r13
cmp r8, rax
cmovae r8, rax
setae dil
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
sete r14b
cmp r15, 0x10
jb 0x140015f47
lea rdx, [r15 + 1]
cmp rdx, 0x1000
jb 0x140015f3f
mov rax, qword [r13 - 8]
add r13, 0xfffffffffffffff8
sub r13, rax
cmp r13, 0x20
jae 0x140016388
add r15, 0x28
mov rdx, r15
mov r13, rax
mov rcx, r13
call sub.mozglue.dll_void___cdecl_operator_delete_void____ptr64__unsigned_long_long_unsigned___int64__
and r14b, dil
mov rdi, qword [rsp + 0x30]
je 0x140015f57
jmp 0x140015fac
test al, al
jne 0x140015fac
test bpl, bpl
je 0x1400162ea
mov rax, qword [rsp + 0x60]
sub rax, r12
jae 0x1400162ea
add qword [rsp + 0x58], rax
mov qword [rsp + 0x60], r12
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.14002ecc0
test al, al
je 0x1400162ea
mov r12, qword [rsp + 0x58]
add r12, qword [rsp + 0x60]
mov eax, dword [rsp + 0x68]
inc eax
mov dword [rsp + 0x68], eax
mov ebp, dword [rsp + 0x6c]
cmp eax, ebp
jb 0x1400158c8
jmp 0x1400162da
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 0x140015fd4
cmp rcx, rdx
je 0x140015de5
cmp rax, qword [rcx + 0x28]
jb 0x140015de5
mov eax, dword [rcx + 0x38]
cmp eax, dword [rsp + 0x6c]
jae 0x140015de5
mov rcx, qword [rdi]
imul rax, rax, 0xb8
lea rbp, [rcx + rax]
add rbp, 0x18
mov rax, qword [rbp]
mov rax, qword [rax + 8]
mov rcx, rbp
call qword [0x1400ba010]
mov r15, rax
mov rax, qword [r13]
mov rax, qword [rax + 8]
mov rcx, r13
call qword [0x1400ba010]
cmp r15, rax
jne 0x140015de5
mov rax, qword [rbp]
mov rax, qword [rax + 0x10]
mov rcx, rbp
call qword [0x1400ba010]
mov r15, rax
mov rax, qword [r13]
mov rax, qword [rax + 0x10]
mov rcx, r13
call qword [0x1400ba010]
cmp r15, rax
jne 0x140015de5
mov rax, qword [r13]
mov rax, qword [rax + 0x18]
mov rcx, r13
mov rdx, rbx
call qword [0x1400ba010]
mov rax, qword [rbp]
mov rax, qword [rax + 0x18]
mov rcx, rbp
lea rdx, [rsp + 0x168]
call qword [0x1400ba010]
mov r8, qword [rsp + 0xc0]
cmp qword [rsp + 0x178], r8
jne 0x1400160fc
cmp qword [rsp + 0x180], 0x10
lea rcx, [rsp + 0x168]
jb 0x1400160d6
mov rcx, qword [rsp + 0x168]
cmp qword [rsp + 0xc8], 0x10
mov rdx, rbx
jb 0x1400160ec
mov rdx, qword [rsp + 0xb0]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140016103
xor ebp, ebp
jmp 0x140016209
xor ebp, ebp
jmp 0x14001620e
mov rax, qword [r13]
mov rax, qword [rax + 0x20]
mov rcx, r13
lea rdx, [rsp + 0x90]
call qword [0x1400ba010]
mov rax, qword [rbp]
mov rax, qword [rax + 0x20]
mov rcx, rbp
lea rdx, [rsp + 0x70]
call qword [0x1400ba010]
mov r8, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0x88]
cmp qword [rsp + 0x80], r8
jne 0x140016184
lea rcx, [rsp + 0x70]
cmp rdi, 0x10
jb 0x14001615c
mov rcx, qword [rsp + 0x70]
cmp qword [rsp + 0xa8], 0x10
lea rdx, [rsp + 0x90]
jb 0x140016177
mov rdx, qword [rsp + 0x90]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
sete bpl
jmp 0x140016186
xor ebp, ebp
cmp rdi, 0x10
jb 0x1400161c2
mov rcx, qword [rsp + 0x70]
lea rdx, [rdi + 1]
cmp rdx, 0x1000
jb 0x1400161bd
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x140016388
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 0x140016209
mov rcx, qword [rsp + 0x90]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140016204
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140016388
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 + 0x30]
mov rax, qword [rsp + 0x180]
cmp rax, 0x10
jb 0x14001625a
mov rcx, qword [rsp + 0x168]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140016250
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140016388
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 + 0x30]
mov rax, qword [rsp + 0xc8]
cmp rax, 0x10
jb 0x1400162a6
mov rcx, qword [rsp + 0xb0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14001629c
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140016388
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 + 0x30]
test bpl, bpl
je 0x140015de5
jmp 0x140015fb6
mov ecx, 0x3031424e
mov rdi, qword [rsp + 0x30]
lea rax, [r14 + rbp]
add rax, 0xa0
mov rdx, qword [rsp + 0x38]
mov qword [rax], rdx
mov dword [rax + 8], ecx
jmp 0x14001592f
xor ebp, ebp
mov qword [rsi + 0x28], rdi
mov dword [rsi + 0x30], ebp
mov byte [rsi + 8], 1
mov bpl, 1
jmp 0x14001635a
mov r14, qword [rdi]
test r14, r14
je 0x140016350
mov rdi, qword [rdi + 8]
cmp r14, rdi
je 0x14001631b
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 0x1400162fe
mov rdi, qword [rsp + 0x30]
mov rdx, qword [rdi + 0x10]
sub rdx, r14
cmp rdx, 0x1000
jb 0x140016348
mov rax, qword [r14 - 8]
add r14, 0xfffffffffffffff8
sub r14, rax
cmp r14, 0x20
jae 0x140016388
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.1400465d0
xor ebp, ebp
mov rcx, qword [rsp + 0x188]
xor rcx, rsp
call fcn.14003b840
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