Function at 0x1400151c0
Capabilities:
Check for software breakpoints
Get system information on windows
Parse credit card information

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x138
mov r12, r9
mov rsi, r8
mov rbx, rdx
mov rdi, rcx
mov rcx, qword [rsp + 0x1a8]
mov rax, qword [0x140062030]
xor rax, rsp
mov qword [rsp + 0x130], rax
mov qword [rcx], 0
cmp qword [r9], 0
je 0x140015236
cmp qword [r12 + 0x10], 0
je 0x140018345
cmp qword [r12 + 0x18], 0
je 0x140018345
cmp dword [r12 + 8], 0
je 0x140018345
cmp byte [r12 + 0x34], 0
je 0x140018345
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_EncodePointer]
lea r15, [r12 + 0x20]
mov ecx, dword [r12 + 0x20]
lea edx, [rcx + 8]
cmp qword [r12], 0
je 0x14001688a
cmp edx, dword [r12 + 0x30]
ja 0x140016892
mov rdx, qword [r12 + 0x10]
mov qword [rdx + rcx], rax
add dword [r12 + 0x20], 8
cmp qword [r12], 0
je 0x1400152a9
mov al, byte [r12 + 0x34]
cmp qword [r12 + 0x10], 0
je 0x140018345
cmp qword [r12 + 0x18], 0
je 0x140018345
cmp dword [r12 + 8], 0
je 0x140018345
test al, al
je 0x140018345
mov rax, qword [rbx]
mov ecx, dword [rbx + 0x10]
add rcx, qword [rax + 0x40]
call qword [sym.imp.KERNEL32.dll_EncodePointer]
mov ecx, dword [r12 + 0x20]
lea edx, [rcx + 8]
cmp qword [r12], 0
mov qword [rsp + 0x78], rsi
je 0x14001689f
cmp edx, dword [r12 + 0x30]
ja 0x1400168a7
mov rdx, qword [r12 + 0x10]
mov qword [rdx + rcx], rax
add dword [r12 + 0x20], 8
cmp qword [r12], 0
je 0x140015323
mov al, byte [r12 + 0x34]
cmp qword [r12 + 0x10], 0
je 0x140018337
cmp qword [r12 + 0x18], 0
je 0x140018337
cmp dword [r12 + 8], 0
je 0x140018337
test al, al
je 0x140018337
mov rcx, qword [rbx]
mov edx, dword [rbx + 0x10]
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001533e
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x48
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], r15
jne 0x140015376
inc edx
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015368
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0xb8
je 0x140015eb1
mov eax, dword [r12 + 0x20]
mov dword [r12 + 0x24], eax
mov dword [r12 + 0x28], eax
cmp byte [rdi + 0x34], 0
je 0x1400168e6
lea rsi, [rbx + 0x10]
mov eax, dword [rdi + 0x30]
and eax, 2
mov r8d, eax
shr r8d, 1
xor ecx, ecx
test eax, eax
sete cl
lea eax, [rcx + rcx*2]
add eax, 0xa
mov edx, dword [rsi]
mov dword [rsp + 0x68], eax
cmp edx, eax
mov dword [rsp + 0x74], r8d
jae 0x14001629d
lea r13, [r12 + 0x28]
lea rax, [r12 + 0x30]
mov qword [rsp + 0x58], rax
lea rax, [r12 + 0x34]
mov qword [rsp + 0x50], rax
xor ebp, ebp
mov edi, edx
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], r13
mov r14, qword [rbx]
mov rcx, r14
mov edx, edi
test bpl, 1
jne 0x140016304
mov rcx, r14
mov edx, edi
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015412
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xf
je 0x14001636b
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015434
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x88
jae 0x140015a88
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015456
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x40
je 0x14001591a
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015478
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x41
je 0x14001591a
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001549a
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x44
je 0x1400164de
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400154bc
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x45
je 0x1400165bc
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400154de
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xfa
cmp al, 0x48
je 0x1400155ce
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015503
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x66
je 0x1400166d4
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015525
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xf0
cmp al, 0x50
jne 0x140015aaf
add rdx, qword [rcx + 0x40]
mov r8d, dword [r15]
lea ecx, [r8 + 1]
cmp r8d, dword [r13]
jne 0x14001554a
mov dword [r13], ecx
mov rax, qword [r12]
test rax, rax
je 0x1400166cc
mov r9, qword [rsp + 0x58]
cmp ecx, dword [r9]
ja 0x1400162ea
cmp qword [rax], 0
je 0x1400162ea
add r8, qword [r12 + 0x10]
mov qword [rsp + 0x90], 0
mov rcx, qword [rax]
lea rax, [rsp + 0x90]
mov qword [rsp + 0x20], rax
mov r9d, 1
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x1400162ea
cmp qword [rsp + 0x90], 1
jne 0x1400162ea
inc dword [r15]
inc dword [rsi]
mov edi, dword [rsi]
cmp edi, dword [rsp + 0x68]
mov r13, qword [rsp + 0x40]
jb 0x1400153e6
jmp 0x140015c9f
add rdx, qword [rcx + 0x40]
mov r8d, dword [r15]
lea ecx, [r8 + 1]
cmp r8d, dword [r13]
jne 0x1400155e3
mov dword [r13], ecx
mov rax, qword [r12]
test rax, rax
je 0x140016801
mov r9, qword [rsp + 0x58]
cmp ecx, dword [r9]
ja 0x1400162f7
cmp qword [rax], 0
je 0x1400162f7
add r8, qword [r12 + 0x10]
mov qword [rsp + 0x90], 0
mov rcx, qword [rax]
lea rax, [rsp + 0x90]
mov qword [rsp + 0x20], rax
mov r9d, 1
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x1400162f7
cmp qword [rsp + 0x90], 1
jne 0x1400162f7
inc dword [r15]
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.1400183d0
mov rcx, qword [rbx]
mov rdx, qword [rcx + 0x10]
test rdx, rdx
je 0x14001566f
mov rdx, qword [rcx + 8]
mov eax, dword [rbx + 0x10]
cmp byte [rdx + rax], 0x81
je 0x1400159d0
mov edx, eax
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015693
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
je 0x1400168fc
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400156b5
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
je 0x140016926
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400156d7
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
je 0x14001697f
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400156f9
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x2b
je 0x1400169eb
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001571b
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x85
je 0x140016a41
call fcn.1400183d0
mov rdi, qword [rbx]
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x14001573d
mov rax, qword [rdi + 8]
mov qword [rsp + 0x60], rbp
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xfd
cmp al, 0x89
jne 0x140016c04
lea r12d, [rdx + 1]
mov ecx, 0x58
call qword [sym.imp.mozglue.dll_moz_xmalloc]
mov r13, rax
add rax, 8
mov qword [rsp + 0x80], rax
movabs rax, 0x100000001
mov qword [r13 + 8], rax
lea rax, [0x140054450]
mov qword [r13], rax
lea rbp, [r13 + 0x10]
mov rax, qword [rdi]
mov qword [r13 + 0x10], rax
mov qword [r13 + 0x20], 0
mov qword [r13 + 0x28], 0x20
lea rax, [r13 + 0x30]
mov qword [r13 + 0x18], rax
mov rcx, qword [rdi + 0x40]
add rcx, r12
mov qword [r13 + 0x50], rcx
mov r14, qword [rdi + 0x10]
cmp r14, r12
jbe 0x140015800
mov r15, qword [rdi + 8]
lea rdi, [r15 + r14]
add r15, r12
mov rsi, rdi
sub rsi, r15
cmp rsi, 0x21
jae 0x140016c6f
xor ecx, ecx
cmp r14, r12
jle 0x1400157f9
add rax, rcx
mov cl, byte [r15]
mov byte [rax], cl
inc r15
inc rax
cmp r15, rdi
jb 0x1400157e5
mov rcx, qword [r13 + 0x20]
add rcx, rsi
mov qword [r13 + 0x20], rcx
mov qword [rsp + 0x90], rbp
mov qword [rsp + 0x98], r13
mov dword [rsp + 0xa0], 0
lea rcx, [rsp + 0x90]
lea rdx, [rsp + 0x88]
call fcn.140018990
mov ebp, eax
mov rax, qword [rsp + 0x80]
lock dec dword [rax]
jne 0x14001586c
mov rsi, r13
add rsi, 0xc
mov rax, qword [r13]
mov rax, qword [rax]
mov rcx, r13
call qword [0x140068010]
lock dec dword [rsi]
jne 0x14001586c
mov rax, qword [r13]
mov rax, qword [rax + 8]
mov rcx, r13
call qword [0x140068010]
test ebp, ebp
mov r12, qword [rsp + 0x30]
mov r15, qword [rsp + 0x38]
js 0x140016a75
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
mov r8d, dword [r15]
lea ecx, [r8 + rbp]
inc ecx
mov rax, qword [rsp + 0x40]
cmp r8d, dword [rax]
mov rsi, qword [rsp + 0x48]
jne 0x1400158a2
mov dword [rax], ecx
inc ebp
mov rax, qword [r12]
test rax, rax
je 0x140016c90
mov r9, qword [rsp + 0x58]
cmp ecx, dword [r9]
ja 0x1400164d1
cmp qword [rax], 0
je 0x1400164d1
add r8, qword [r12 + 0x10]
mov edi, ebp
mov qword [rsp + 0x90], 0
mov rcx, qword [rax]
lea rax, [rsp + 0x90]
mov qword [rsp + 0x20], rax
mov r9, rdi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x1400164d1
cmp qword [rsp + 0x90], rdi
jne 0x1400164d1
add dword [r15], ebp
add dword [rsi], ebp
mov rbp, qword [rsp + 0x60]
jmp 0x1400155b8
add rdx, qword [rcx + 0x40]
mov r8d, dword [r15]
lea ecx, [r8 + 1]
cmp r8d, dword [r13]
jne 0x14001592f
mov dword [r13], ecx
mov rax, qword [r12]
test rax, rax
je 0x140016d19
mov r9, qword [rsp + 0x58]
cmp ecx, dword [r9]
ja 0x140016657
cmp qword [rax], 0
je 0x140016657
add r8, qword [r12 + 0x10]
mov qword [rsp + 0x90], 0
mov rcx, qword [rax]
lea rax, [rsp + 0x90]
mov qword [rsp + 0x20], rax
mov r9d, 1
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x140016657
cmp qword [rsp + 0x90], 1
jne 0x140016657
inc dword [r15]
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400159bb
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xf0
cmp al, 0x50
je 0x140015535
jmp 0x140016d21
lea edx, [rax + 1]
call fcn.1400183d0
mov rcx, qword [rbx]
mov rdx, qword [rcx + 0x10]
test rdx, rdx
je 0x1400159e8
mov rdx, qword [rcx + 8]
mov eax, dword [rbx + 0x10]
mov dl, byte [rdx + rax + 1]
and dl, 0xf8
cmp dl, 0xe8
jne 0x14001567c
mov rdx, qword [rcx + 0x40]
add rdx, rax
mov r8d, dword [r15]
lea ecx, [r8 + 6]
cmp r8d, dword [r13]
jne 0x140015a13
mov dword [r13], ecx
mov rax, qword [r12]
test rax, rax
je 0x140016e38
mov r9, qword [rsp + 0x58]
cmp ecx, dword [r9]
ja 0x140016664
cmp qword [rax], 0
je 0x140016664
add r8, qword [r12 + 0x10]
mov qword [rsp + 0x90], 0
mov rcx, qword [rax]
lea rax, [rsp + 0x90]
mov qword [rsp + 0x20], rax
mov r9d, 6
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x140016664
cmp qword [rsp + 0x90], 6
jne 0x140016664
add dword [r15], 6
add dword [rsi], 6
jmp 0x1400155b8
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015a9d
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x8b
ja 0x140015441
jmp 0x140016e40
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015ac4
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x65
je 0x140016e69
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015ae6
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x80
je 0x140016f23
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015b08
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x90
je 0x140016f61
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015b2a
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xf8
cmp al, 0xb8
jne 0x140015b60
add rdx, qword [rcx + 0x40]
mov eax, dword [r15]
cmp eax, dword [r13]
jne 0x140015b4a
add eax, 5
mov dword [r13], eax
mov rcx, r12
mov r8d, 5
call fcn.1400186b0
add dword [rsi], 5
jmp 0x1400155b8
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015b75
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x33
je 0x1400171cb
call fcn.1400183d0
mov rdi, qword [rbx]
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x140015b97
mov rax, qword [rdi + 8]
mov qword [rsp + 0x60], rbp
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xf6
jne 0x1400171e1
mov byte [rsp + 0x88], 0
lea ebp, [rdx + 1]
mov ecx, 0x58
call qword [sym.imp.mozglue.dll_moz_xmalloc]
mov r14, rax
movabs rax, 0x100000001
mov qword [r14 + 8], rax
lea rax, [0x140054450]
mov qword [r14], rax
lea r13, [r14 + 0x10]
mov rcx, r13
mov rdx, rdi
mov r8d, ebp
call fcn.1400188e0
mov qword [rsp + 0x90], r13
mov qword [rsp + 0x98], r14
mov dword [rsp + 0xa0], 0
lea rcx, [rsp + 0x90]
lea rdx, [rsp + 0x88]
call fcn.140018990
mov edi, eax
lock dec dword [r14 + 8]
jne 0x140015c50
mov rsi, r14
add rsi, 0xc
mov rax, qword [r14]
mov rax, qword [rax]
mov rcx, r14
call qword [0x140068010]
lock dec dword [rsi]
jne 0x140015c50
mov rax, qword [r14]
mov rax, qword [rax + 8]
mov rcx, r14
call qword [0x140068010]
test edi, edi
mov rsi, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x60]
js 0x140018337
cmp byte [rsp + 0x88], 0
jne 0x140018337
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
add edi, 2
mov eax, dword [r15]
cmp eax, dword [rcx]
jne 0x140015c8d
add eax, edi
mov dword [rcx], eax
mov rcx, r12
mov r8d, edi
call fcn.1400186b0
add dword [rsi], edi
jmp 0x1400155b8
mov edx, edi
cmp edx, 0x64
ja 0x140018337
test bpl, 1
jne 0x140015ccf
mov rax, qword [rbx]
mov edx, edx
add rdx, qword [rax + 0x40]
mov rcx, r12
mov r8d, 3
call fcn.140018b90
test al, al
je 0x140018337
cmp byte [r12 + 0x34], 0
je 0x140018337
cmp qword [r12], 0
je 0x140018337
mov eax, dword [r12 + 0x20]
mov r15d, dword [r12 + 0x24]
mov dword [r12 + 0x2c], eax
add r15, qword [r12 + 0x18]
je 0x140018337
mov r9d, dword [rsi]
test r9, r9
je 0x1400168f1
mov rax, qword [rbx]
mov rdx, qword [rax]
mov r8, qword [rax + 0x40]
lea r14, [rsp + 0xc8]
mov qword [r14 - 0x38], rdx
mov qword [r14 - 0x30], r8
mov qword [r14 - 0x28], r9
xor esi, esi
mov qword [r14 - 0x20], rsi
mov qword [r14 - 0x10], rsi
mov qword [r14 - 8], 0x20
mov qword [r14 - 0x18], r14
mov byte [r14 + 0x20], 1
lea rbx, [rsp + 0xf0]
mov rcx, rbx
call fcn.140018740
cmp qword [rbx + 0x10], rsi
je 0x140018309
cmp byte [rsp + 0xe8], 0
je 0x140018309
cmp byte [rsp + 0x74], 0
jne 0x140016aed
lea rdi, [rsp + 0xb0]
mov rax, qword [rdi + 8]
cmp rax, qword [rdi + 0x10]
je 0x140016b1a
mov rcx, qword [rsp + 0xb0]
mov byte [rcx + rax], 0x49
mov rax, qword [rsp + 0xb8]
inc rax
mov qword [rsp + 0xb8], rax
inc dword [rsp + 0xa8]
cmp rax, qword [rsp + 0xc0]
je 0x140016b41
mov rcx, qword [rsp + 0xb0]
mov byte [rcx + rax], 0xbb
mov rax, qword [rsp + 0xb8]
inc rax
mov qword [rsp + 0xb8], rax
inc dword [rsp + 0xa8]
lea rcx, [rax + 8]
cmp rcx, qword [rsp + 0xc0]
ja 0x140016b68
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0x1a0]
mov qword [rcx + rax], rdx
mov rax, qword [rsp + 0xb8]
add rax, 8
mov qword [rsp + 0xb8], rax
add dword [rsp + 0xa8], 8
cmp rax, qword [rsp + 0xc0]
je 0x140016b8f
mov rcx, qword [rsp + 0xb0]
mov byte [rcx + rax], 0x41
mov rax, qword [rsp + 0xb8]
inc rax
mov qword [rsp + 0xb8], rax
inc dword [rsp + 0xa8]
cmp rax, qword [rsp + 0xc0]
je 0x140016bb6
mov rcx, qword [rsp + 0xb0]
mov byte [rcx + rax], 0xff
mov rax, qword [rsp + 0xb8]
inc rax
mov qword [rsp + 0xb8], rax
inc dword [rsp + 0xa8]
cmp rax, qword [rsp + 0xc0]
je 0x140016bdd
mov rcx, qword [rsp + 0xb0]
mov byte [rcx + rax], 0xe3
jmp 0x140018201
add edx, 0xa
call fcn.1400183d0
mov rbp, qword [rbx]
mov rax, qword [rbp + 0x10]
test rax, rax
je 0x140015ec9
mov rax, qword [rbp + 8]
mov r13d, dword [rbx + 0x10]
cmp byte [rax + r13 + 0xa], 0xff
jne 0x140016c98
lea edx, [r13 + 0xb]
mov rcx, rbp
call fcn.1400183d0
mov rbp, qword [rbx]
mov rax, qword [rbp + 0x10]
test rax, rax
je 0x140015ef5
mov rax, qword [rbp + 8]
mov r13d, dword [rbx + 0x10]
cmp byte [rax + r13 + 0xb], 0xe0
jne 0x140016c98
mov qword [rsp + 0x58], rdi
add r13d, 2
mov ecx, 0x58
call qword [sym.imp.mozglue.dll_moz_xmalloc]
mov r12, rax
add rax, 8
mov qword [rsp + 0x40], rax
movabs rax, 0x100000001
mov qword [r12 + 8], rax
lea rax, [0x140054450]
mov qword [r12], rax
lea r14, [r12 + 0x10]
mov rax, qword [rbp]
mov qword [r12 + 0x10], rax
lea rax, [r12 + 0x18]
mov qword [rsp + 0x68], rax
mov qword [r12 + 0x20], 0
mov qword [r12 + 0x28], 0x20
lea rax, [r12 + 0x30]
mov qword [r12 + 0x18], rax
mov rcx, qword [rbp + 0x40]
add rcx, r13
mov qword [r12 + 0x50], rcx
mov rsi, qword [rbp + 0x10]
cmp rsi, r13
jbe 0x140015fca
mov r15, qword [rbp + 8]
lea rbp, [r15 + rsi]
add r15, r13
mov rdi, rbp
sub rdi, r15
cmp rdi, 0x21
jae 0x1400170d8
xor ecx, ecx
cmp rsi, r13
jle 0x140015fc2
add rax, rcx
mov cl, byte [r15]
mov byte [rax], cl
inc r15
inc rax
cmp r15, rbp
jb 0x140015fad
mov rcx, qword [r12 + 0x20]
add rcx, rdi
mov qword [r12 + 0x20], rcx
mov rcx, r14
mov edx, 8
call fcn.1400183d0
mov rax, qword [rsp + 0x68]
mov rax, qword [rax]
mov r13, qword [rax]
mov rax, qword [rsp + 0x40]
lock dec dword [rax]
jne 0x140016019
mov rsi, r12
add rsi, 0xc
mov rax, qword [r12]
mov rax, qword [rax]
mov rcx, r12
call qword [0x140068010]
lock dec dword [rsi]
jne 0x140016019
mov rax, qword [r12]
mov rax, qword [rax + 8]
mov rcx, r12
call qword [0x140068010]
mov rsi, qword [rbx]
mov r14, qword [rsi + 0x40]
lea rdi, [r14 + 2]
mov eax, dword [0x140064af4]
mov ecx, dword [0x1400624b8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400162a4
mov r8d, dword [0x140064af0]
mov rax, r14
xor edx, edx
div r8
mov rcx, rax
mov rax, rdi
xor edx, edx
div r8
cmp rcx, rax
jne 0x1400170fc
mov rax, qword [rbx]
mov rdx, qword [rax]
mov r8, qword [rax + 0x40]
add r8, 2
lea rax, [rsp + 0xc8]
mov qword [rax - 0x38], rdx
mov qword [rax - 0x30], r8
mov qword [rax - 0x28], 8
xor r14d, r14d
mov qword [rax - 0x20], r14
mov qword [rax - 0x10], r14
mov qword [rax - 8], 0x20
mov qword [rax - 0x18], rax
mov byte [rax + 0x20], 1
lea rdi, [rsp + 0xf0]
mov r9d, 8
mov rcx, rdi
call fcn.140018740
cmp qword [rdi + 0x10], r14
mov r12, qword [rsp + 0x30]
mov r15, qword [rsp + 0x38]
je 0x140016250
cmp byte [rsp + 0xe8], 0
je 0x140016250
mov rax, qword [rsp + 0xb8]
lea rcx, [rax + 8]
cmp rcx, qword [rsp + 0xc0]
ja 0x140017167
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0x1a0]
mov qword [rcx + rax], rdx
mov rdi, qword [rsp + 0xb8]
add rdi, 8
mov qword [rsp + 0xb8], rdi
add dword [rsp + 0xa8], 8
xor r14d, r14d
cmp qword [rsp + 0x100], 0
je 0x140016250
cmp byte [rsp + 0xe8], 0
je 0x140016250
test rdi, rdi
je 0x1400161ea
mov rax, qword [rsp + 0x90]
cmp qword [rax], 0
je 0x140017198
mov edx, dword [rsp + 0xac]
add rdx, qword [rsp + 0x98]
mov r8, qword [rsp + 0xb0]
lea r9, [rsp + 0x88]
mov qword [r9], 0
mov rcx, qword [rax]
mov qword [rsp + 0x20], r9
mov r9, rdi
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
xor r14d, r14d
test eax, eax
je 0x140016250
cmp qword [rsp + 0x88], rdi
jne 0x140016250
mov rax, qword [rsp + 0x90]
mov rcx, qword [rax]
xor edx, edx
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [rsp + 0xb8]
add dword [rsp + 0xac], eax
mov qword [rsp + 0xb8], 0
mov eax, dword [r12 + 0x20]
lea ecx, [rax + 8]
cmp qword [r12], 0
je 0x1400171a0
cmp ecx, dword [r12 + 0x30]
ja 0x1400171a8
mov rcx, qword [r12 + 0x10]
mov qword [rcx + rax], r13
add dword [r12 + 0x20], 8
cmp qword [r12], 0
je 0x140016242
mov al, byte [r12 + 0x34]
xor r14d, r14d
cmp qword [r12 + 0x10], 0
je 0x140016250
cmp qword [r12 + 0x18], 0
je 0x140016250
cmp dword [r12 + 8], 0
je 0x140016250
test al, al
je 0x140016250
mov rax, qword [rsp + 0x1a8]
mov qword [rax], r13
mov r14b, 1
lea rdi, [rsp + 0xf0]
mov rcx, rdi
call fcn.1400185b0
mov rcx, qword [rdi + 8]
lea rax, [rsp + 0x110]
cmp rcx, rax
jne 0x1400171b5
lea rax, [rsp + 0xc8]
mov rcx, qword [rax - 0x18]
cmp rcx, rax
mov rdi, qword [rsp + 0x58]
jne 0x1400171c0
test r14b, r14b
jne 0x140018337
jmp 0x140015376
xor ebp, ebp
jmp 0x140015ca1
lea rcx, [0x140064af4]
call fcn.14002eaa8
cmp dword [0x140064af4], 0xffffffff
jne 0x140016049
lea r12, [rsp + 0x90]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [r12 + 4]
mov dword [0x140064af0], eax
lea rcx, [0x140064af4]
call fcn.14002ea48
jmp 0x140016049
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x1400155b6
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x14001564f
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016319
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x90
je 0x140016344
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016337
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xcc
jne 0x14001648a
inc edx
mov rsi, qword [rsp + 0x48]
mov dword [rsi], edx
cmp edx, dword [rsp + 0x68]
mov r12, qword [rsp + 0x30]
mov r15, qword [rsp + 0x38]
mov r13, qword [rsp + 0x40]
jb 0x1400153ee
jmp 0x140015ca1
add rdx, qword [rcx + 0x40]
mov eax, dword [r15]
cmp eax, dword [r13]
jne 0x140016381
inc eax
mov rcx, qword [rsp + 0x40]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x30]
mov r8d, 1
call fcn.1400186b0
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400163b1
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x1f
jne 0x140016671
add rdx, qword [rcx + 0x40]
mov rax, qword [rsp + 0x38]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x40]
cmp eax, dword [rcx]
jne 0x1400163db
inc eax
mov rcx, qword [rsp + 0x40]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x30]
mov r8d, 1
call fcn.1400186b0
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001640b
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xc0
cmp al, 0x40
mov r12, qword [rsp + 0x30]
jne 0x140018337
call fcn.1400183d0
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140016435
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
mov cl, byte [rcx + rdx]
and cl, 7
cmp cl, 4
mov r12, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
jne 0x140018337
add rdx, qword [rax + 0x40]
mov eax, dword [rcx]
mov rcx, qword [rsp + 0x40]
cmp eax, dword [rcx]
jne 0x14001646a
add eax, 3
mov rcx, qword [rsp + 0x40]
mov dword [rcx], eax
mov r12, qword [rsp + 0x30]
mov rcx, r12
mov r8d, 3
call fcn.1400186b0
mov rsi, qword [rsp + 0x48]
add dword [rsi], 3
jmp 0x14001664d
cmp qword [rsp + 0x78], 0
mov r12, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x48]
je 0x140018337
mov rax, qword [rsp + 0x78]
mov rax, qword [rax]
mov ecx, dword [rax + 0x20]
add rcx, qword [rax + 0x18]
mov eax, 0x80000000
cmp rcx, rax
ja 0x140018337
mov al, 1
mov dword [rsp + 0x74], eax
cmp edx, 9
ja 0x140015ca1
jmp 0x140018337
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x14001590e
add rdx, qword [rcx + 0x40]
mov eax, dword [r15]
cmp eax, dword [r13]
jne 0x1400164f4
inc eax
mov rcx, qword [rsp + 0x40]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x30]
mov r8d, 1
call fcn.1400186b0
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.1400183d0
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140016524
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx], 0x89
mov r12, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
jne 0x140018337
add rdx, qword [rax + 0x40]
mov eax, dword [rcx]
mov rcx, qword [rsp + 0x40]
cmp eax, dword [rcx]
jne 0x140016553
inc eax
mov rcx, qword [rsp + 0x40]
mov dword [rcx], eax
mov r12, qword [rsp + 0x30]
mov rcx, r12
mov r8d, 1
call fcn.1400186b0
inc dword [rbx + 0x10]
mov rcx, rbx
xor edx, edx
call fcn.140018990
test eax, eax
mov rcx, qword [rsp + 0x38]
js 0x140018337
mov edi, eax
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
mov eax, dword [rcx]
mov rcx, qword [rsp + 0x40]
cmp eax, dword [rcx]
jne 0x1400165a0
add eax, edi
mov rcx, qword [rsp + 0x40]
mov dword [rcx], eax
mov r12, qword [rsp + 0x30]
mov rcx, r12
mov r8d, edi
call fcn.1400186b0
mov rsi, qword [rsp + 0x48]
add dword [rsi], edi
jmp 0x14001664d
add rdx, qword [rcx + 0x40]
mov eax, dword [r15]
cmp eax, dword [r13]
jne 0x1400165d2
inc eax
mov rcx, qword [rsp + 0x40]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x30]
mov r8d, 1
call fcn.1400186b0
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.1400183d0
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140016602
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx], 0x33
mov r12, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
jne 0x140018337
add rdx, qword [rax + 0x40]
mov eax, dword [rcx]
mov rcx, qword [rsp + 0x40]
cmp eax, dword [rcx]
jne 0x140016632
add eax, 2
mov rcx, qword [rsp + 0x40]
mov dword [rcx], eax
mov r12, qword [rsp + 0x30]
mov rcx, r12
mov r8d, 2
call fcn.1400186b0
mov rsi, qword [rsp + 0x48]
add dword [rsi], 2
mov r15, qword [rsp + 0x38]
jmp 0x1400155b8
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x14001599b
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x140015a80
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016686
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 5
jne 0x1400168b4
add rdx, qword [rcx + 0x40]
mov rax, qword [rsp + 0x38]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x40]
cmp eax, dword [rcx]
jne 0x1400166b0
inc eax
mov rcx, qword [rsp + 0x40]
mov dword [rcx], eax
mov r12, qword [rsp + 0x30]
mov rcx, r12
mov r8d, 1
call fcn.1400186b0
mov rsi, qword [rsp + 0x48]
inc dword [rsi]
jmp 0x14001664d
mov dword [r15], ecx
jmp 0x1400155b6
add rdx, qword [rcx + 0x40]
mov eax, dword [r15]
cmp eax, dword [r13]
jne 0x1400166ea
inc eax
mov rcx, qword [rsp + 0x40]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x30]
mov r8d, 1
call fcn.1400186b0
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001671a
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x88
jb 0x140016809
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001673c
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x8b
ja 0x140016809
inc edx
call fcn.1400183d0
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140016760
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
movzx ecx, byte [rcx + rdx + 1]
mov r8d, ecx
and r8d, 0xffffffc0
cmp r8b, 0xc0
je 0x14001741a
cmp r8d, 0x40
mov r12, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
je 0x1400167b7
test r8d, r8d
jne 0x140018337
mov r9d, ecx
and r9d, 6
cmp r9d, 4
jne 0x14001741a
cmp r8d, 0x40
mov r12, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
jne 0x140018337
add rdx, qword [rax + 0x40]
and ecx, 7
mov eax, dword [r9]
mov r8, qword [rsp + 0x40]
mov r8d, dword [r8]
cmp ecx, 4
jne 0x140017568
cmp eax, r8d
jne 0x1400167e1
add eax, 4
mov rcx, qword [rsp + 0x40]
mov dword [rcx], eax
mov r12, qword [rsp + 0x30]
mov rcx, r12
mov r8d, 4
call fcn.1400186b0
mov rsi, qword [rsp + 0x48]
add dword [rsi], 4
jmp 0x14001664d
mov dword [r15], ecx
jmp 0x14001564f
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001681e
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x44
jne 0x140017c85
inc edx
call fcn.1400183d0
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140016842
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx + 1], 0x89
jne 0x140017c85
add rdx, qword [rax + 0x40]
mov rax, qword [rsp + 0x38]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x40]
cmp eax, dword [rcx]
jne 0x14001686e
add eax, 2
mov rcx, qword [rsp + 0x40]
mov dword [rcx], eax
mov r12, qword [rsp + 0x30]
mov rcx, r12
mov r8d, 2
call fcn.1400186b0
add dword [rbx + 0x10], 2
jmp 0x140016569
mov dword [r15], edx
jmp 0x1400152a9
mov byte [r12 + 0x34], 0
xor eax, eax
jmp 0x14001527d
mov dword [r15], edx
jmp 0x140015323
mov byte [r12 + 0x34], 0
xor eax, eax
jmp 0x1400152f7
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400168c9
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x10
jne 0x140016f77
add rdx, qword [rcx + 0x40]
mov rax, qword [rsp + 0x38]
mov eax, dword [rax]
jmp 0x140016541
int3
int3
inc edx
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016913
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx + 1]
and al, 0xf8
cmp al, 0xe8
jne 0x1400156a0
jmp 0x14001694e
inc edx
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001693d
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx + 1]
and al, 0xf8
cmp al, 0xc0
jne 0x1400156c2
mov rax, qword [rcx + 0x40]
add rax, rdx
mov rcx, qword [rsp + 0x38]
mov ecx, dword [rcx]
mov rdx, qword [rsp + 0x40]
cmp ecx, dword [rdx]
jne 0x14001696f
add ecx, 3
mov rdx, qword [rsp + 0x40]
mov dword [rdx], ecx
mov r12, qword [rsp + 0x30]
mov rcx, r12
mov rdx, rax
jmp 0x140016472
inc edx
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016996
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx + 1]
and al, 0xf8
cmp al, 0x60
jne 0x1400156e4
mov rax, qword [rcx + 0x40]
add rax, rdx
mov rcx, qword [rsp + 0x38]
mov ecx, dword [rcx]
mov rdx, qword [rsp + 0x40]
cmp ecx, dword [rdx]
jne 0x1400169c8
add ecx, 5
mov rdx, qword [rsp + 0x40]
mov dword [rdx], ecx
mov r12, qword [rsp + 0x30]
mov rcx, r12
mov rdx, rax
mov r8d, 5
call fcn.1400186b0
mov rsi, qword [rsp + 0x48]
add dword [rsi], 5
jmp 0x14001664d
inc edx
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016a02
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0xc0
jb 0x140015706
mov rax, qword [rcx + 0x40]
add rax, rdx
mov rcx, qword [rsp + 0x38]
mov ecx, dword [rcx]
mov rdx, qword [rsp + 0x40]
cmp ecx, dword [rdx]
jne 0x140016a31
add ecx, 2
mov rdx, qword [rsp + 0x40]
mov dword [rdx], ecx
mov r12, qword [rsp + 0x30]
mov rcx, r12
mov rdx, rax
jmp 0x14001663a
inc edx
call fcn.1400183d0
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140016a58
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx + 1], 0xc0
mov r12, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
jae 0x140016619
jmp 0x140018337
cmp ebp, 0xfffffffe
jne 0x140016d0f
add dword [rbx + 0x10], 2
mov rcx, rbx
call fcn.140034480
mov r8b, byte [rsp + 0x88]
test r8b, r8b
je 0x14001742a
mov rcx, qword [rsp + 0x30]
cmp qword [rcx], 0
mov ecx, dword [rcx + 0x20]
je 0x140017478
mov rdx, qword [rsp + 0x58]
mov edx, dword [rdx]
cmp ecx, edx
jae 0x140017515
add r8b, 0xb8
mov r9, qword [rsp + 0x30]
mov rdx, qword [r9 + 0x10]
mov byte [rdx + rcx], r8b
mov ecx, dword [r9 + 0x20]
inc ecx
mov dword [r9 + 0x20], ecx
cmp qword [r9], 0
je 0x14001747a
mov rdx, qword [rsp + 0x58]
mov edx, dword [rdx]
jmp 0x14001751e
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax]
lea r8, [rsp + 0x90]
mov rdx, r15
mov r9, qword [rsp + 0x1a0]
call fcn.1400345b0
test al, al
je 0x140018309
jmp 0x140018249
mov edx, 1
mov rcx, rdi
call fcn.140014b90
test al, al
je 0x140018111
mov rax, qword [rsp + 0xb8]
mov r12, qword [rsp + 0x30]
jmp 0x140015d8e
mov edx, 1
mov rcx, rdi
call fcn.140014b90
test al, al
je 0x14001812b
mov rax, qword [rsp + 0xb8]
mov r12, qword [rsp + 0x30]
jmp 0x140015dc2
mov edx, 8
mov rcx, rdi
call fcn.140014b90
test al, al
je 0x140018145
mov rax, qword [rsp + 0xb8]
mov r12, qword [rsp + 0x30]
jmp 0x140015dfa
mov edx, 1
mov rcx, rdi
call fcn.140014b90
test al, al
je 0x14001815f
mov rax, qword [rsp + 0xb8]
mov r12, qword [rsp + 0x30]
jmp 0x140015e38
mov edx, 1
mov rcx, rdi
call fcn.140014b90
test al, al
je 0x140018179
mov rax, qword [rsp + 0xb8]
mov r12, qword [rsp + 0x30]
jmp 0x140015e6c
mov edx, 1
mov rcx, rdi
call fcn.140014b90
test al, al
je 0x14001838d
mov rax, qword [rsp + 0xb8]
mov r12, qword [rsp + 0x30]
jmp 0x140015ea0
mov rcx, rdi
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016c1c
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xf8
cmp al, 0xb8
jne 0x14001704e
add rdx, qword [rcx + 0x40]
mov rax, qword [rsp + 0x38]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x40]
cmp eax, dword [rcx]
jne 0x140016c4a
add eax, 9
mov rcx, qword [rsp + 0x40]
mov dword [rcx], eax
mov r12, qword [rsp + 0x30]
mov rcx, r12
mov r8d, 9
call fcn.1400186b0
mov rsi, qword [rsp + 0x48]
add dword [rsi], 9
mov r15, qword [rsp + 0x38]
jmp 0x140015910
lea rcx, [r13 + 0x18]
mov rdx, rsi
call fcn.140014b90
test al, al
je 0x140015800
mov rax, qword [r13 + 0x18]
mov rcx, qword [r13 + 0x20]
jmp 0x1400157dd
mov dword [r15], ecx
jmp 0x14001590e
mov rsi, rdi
add r13d, 0xa
mov rcx, rbp
mov edx, r13d
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016cba
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 0xa], 0x50
mov r12, qword [rsp + 0x30]
mov r15, qword [rsp + 0x38]
mov rdi, rsi
jne 0x140015376
add edx, 0xb
call fcn.1400183d0
mov rbp, qword [rbx]
mov rax, qword [rbp + 0x10]
test rax, rax
je 0x140016ced
mov rax, qword [rbp + 8]
mov r13d, dword [rbx + 0x10]
cmp byte [rax + r13 + 0xb], 0xc3
mov r12, qword [rsp + 0x30]
mov r15, qword [rsp + 0x38]
mov rdi, rsi
jne 0x140015376
jmp 0x140015f05
mov r12, qword [rsp + 0x30]
jmp 0x140018337
mov dword [r15], ecx
jmp 0x14001599b
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016d36
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xb8
jb 0x140016d61
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016d54
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xbf
jbe 0x1400169a7
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016d76
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x8b
jne 0x140016da4
inc edx
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016d96
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0xc0
jae 0x140016a10
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016db9
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xf7
mov r12, qword [rsp + 0x30]
jne 0x140018337
inc edx
call fcn.1400183d0
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140016de2
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
mov cl, byte [rcx + rdx + 1]
and cl, 0xf8
cmp cl, 0xc0
mov r12, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
jne 0x140018337
add rdx, qword [rax + 0x40]
mov eax, dword [rcx]
mov rcx, qword [rsp + 0x40]
cmp eax, dword [rcx]
jne 0x140016e18
add eax, 6
mov rcx, qword [rsp + 0x40]
mov dword [rcx], eax
mov r12, qword [rsp + 0x30]
mov rcx, r12
mov r8d, 6
call fcn.1400186b0
mov rsi, qword [rsp + 0x48]
add dword [rsi], 6
jmp 0x14001664d
mov dword [r15], ecx
jmp 0x140015a80
mov rax, qword [rcx + 0x40]
add rax, rdx
mov ecx, dword [r15]
cmp ecx, dword [r13]
jne 0x140016e59
inc ecx
mov rdx, qword [rsp + 0x40]
mov dword [rdx], ecx
mov r12, qword [rsp + 0x30]
mov rcx, r12
mov rdx, rax
jmp 0x14001655b
inc edx
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016e80
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0x48
mov r12, qword [rsp + 0x30]
jne 0x140018337
add edx, 2
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016eab
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 2], 0x88
mov r12, qword [rsp + 0x30]
jb 0x140018337
add edx, 2
call fcn.1400183d0
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140016ed6
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx + 2], 0x8b
mov r12, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
ja 0x140018337
add rdx, qword [rax + 0x40]
mov eax, dword [rcx]
mov rcx, qword [rsp + 0x40]
cmp eax, dword [rcx]
jne 0x140016f07
add eax, 3
mov rcx, qword [rsp + 0x40]
mov dword [rcx], eax
mov r12, qword [rsp + 0x30]
mov rcx, r12
mov r8d, 3
call fcn.1400186b0
add dword [rbx + 0x10], 3
jmp 0x140016569
inc edx
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016f3a
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0x3d
je 0x1400179d7
mov r12, qword [rsp + 0x30]
mov r15, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x48]
mov r13, qword [rsp + 0x40]
jmp 0x140015af3
add rdx, qword [rcx + 0x40]
mov eax, dword [r15]
cmp eax, dword [r13]
je 0x1400166a7
jmp 0x1400166b0
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016f8c
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x11
je 0x1400168d6
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016fae
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
mov r12, qword [rsp + 0x30]
jb 0x140018337
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016fd5
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x85
mov r12, qword [rsp + 0x30]
ja 0x140018337
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016ffc
mov rax, qword [rcx + 8]
mov ecx, dword [rbx + 0x10]
movzx eax, byte [rax + rcx]
lea rdx, [0x140056b68]
mov edi, dword [rdx + rax*4 - 0x20c]
lea eax, [rcx + 1]
mov dword [rbx + 0x10], eax
mov r12, qword [rsp + 0x30]
dec dword [r12 + 0x20]
mov rcx, rbx
call fcn.140034480
mov rcx, r12
mov rdx, rax
mov r8d, edi
call fcn.140018b90
test al, al
mov r15, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x48]
jne 0x1400155b8
jmp 0x140018337
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017063
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xc7
jne 0x1400172e0
inc edx
call fcn.1400183d0
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140017087
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx + 1], 0x44
mov r12, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
jne 0x140018337
add rdx, qword [rax + 0x40]
mov eax, dword [rcx]
mov rcx, qword [rsp + 0x40]
cmp eax, dword [rcx]
jne 0x1400170b8
add eax, 8
mov rcx, qword [rsp + 0x40]
mov dword [rcx], eax
mov r12, qword [rsp + 0x30]
mov rcx, r12
mov r8d, 8
call fcn.1400186b0
mov rsi, qword [rsp + 0x48]
add dword [rsi], 8
jmp 0x140016c65
mov rcx, qword [rsp + 0x68]
mov rdx, rdi
call fcn.140014b90
test al, al
je 0x140015fca
mov rax, qword [r12 + 0x18]
mov rcx, qword [r12 + 0x20]
jmp 0x140015fa5
mov rax, qword [rsi]
mov rcx, qword [rax]
mov rdx, rdi
call fcn.140034c30
test al, al
jne 0x14001606c
mov rax, qword [rbx]
mov rax, qword [rax]
lea rcx, [rsp + 0xc8]
mov qword [rcx - 0x38], rax
xor r14d, r14d
mov qword [rcx - 0x10], r14
xorps xmm0, xmm0
movups xmmword [rcx - 0x30], xmm0
mov qword [rcx - 0x20], r14
mov qword [rcx - 8], 0x20
mov qword [rcx - 0x18], rcx
mov byte [rcx + 0x20], 0
mov qword [rcx + 0x28], rax
mov qword [rcx + 0x38], r14
mov qword [rcx + 0x40], 2
lea rax, [rsp + 0x110]
mov qword [rax - 0x18], rax
jmp 0x14001819e
lea rcx, [rsp + 0xb0]
mov edx, 8
call fcn.140014b90
test al, al
je 0x140018193
mov rax, qword [rsp + 0xb8]
mov r12, qword [rsp + 0x30]
mov r15, qword [rsp + 0x38]
jmp 0x1400160ff
xor r14d, r14d
jmp 0x140016250
mov dword [r15], ecx
jmp 0x140016242
mov byte [r12 + 0x34], 0
xor eax, eax
jmp 0x140016223
call qword [sym.imp.mozglue.dll_free]
jmp 0x140016275
call qword [sym.imp.mozglue.dll_free]
jmp 0x14001628f
add rdx, qword [rcx + 0x40]
mov eax, dword [r15]
cmp eax, dword [r13]
je 0x140016628
jmp 0x140016632
mov rcx, rdi
call fcn.1400183d0
mov rdi, qword [rbx]
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x1400171f9
mov rax, qword [rdi + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x85
jne 0x14001749a
lea ebp, [rdx + 1]
mov ecx, 0x58
call qword [sym.imp.mozglue.dll_moz_xmalloc]
mov r14, rax
movabs rax, 0x100000001
mov qword [r14 + 8], rax
lea rax, [0x140054450]
mov qword [r14], rax
lea r13, [r14 + 0x10]
mov rcx, r13
mov rdx, rdi
mov r8d, ebp
call fcn.1400188e0
lea rcx, [rsp + 0x90]
mov qword [rcx], r13
mov qword [rcx + 8], r14
mov dword [rcx + 0x10], 0
xor edx, edx
call fcn.140018990
mov edi, eax
lock dec dword [r14 + 8]
jne 0x140017292
mov rsi, r14
add rsi, 0xc
mov rax, qword [r14]
mov rax, qword [rax]
mov rcx, r14
call qword [0x140068010]
lock dec dword [rsi]
jne 0x140017292
mov rax, qword [r14]
mov rax, qword [rax + 8]
mov rcx, r14
call qword [0x140068010]
test edi, edi
mov r12, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
js 0x140018337
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
inc edi
mov eax, dword [rcx]
mov rcx, qword [rsp + 0x40]
cmp eax, dword [rcx]
jne 0x1400172c4
add eax, edi
mov rcx, qword [rsp + 0x40]
mov dword [rcx], eax
mov r12, qword [rsp + 0x30]
mov rcx, r12
mov r8d, edi
call fcn.1400186b0
mov rsi, qword [rsp + 0x48]
add dword [rsi], edi
jmp 0x140016c65
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400172f5
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xff
je 0x140017631
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017317
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x8d
jne 0x1400177df
inc edx
call fcn.1400183d0
mov rdi, qword [rbx]
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x14001733b
mov rax, qword [rdi + 8]
mov r13d, dword [rbx + 0x10]
cmp byte [rax + r13 + 1], 0x3f
ja 0x140017376
lea edx, [r13 + 1]
mov rcx, rdi
call fcn.1400183d0
mov rdi, qword [rbx]
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x140017363
mov rax, qword [rdi + 8]
mov r13d, dword [rbx + 0x10]
mov al, byte [rax + r13 + 1]
and al, 7
cmp al, 5
je 0x140018018
inc r13d
mov ecx, 0x58
call qword [sym.imp.mozglue.dll_moz_xmalloc]
mov r14, rax
movabs rax, 0x100000001
mov qword [r14 + 8], rax
lea rax, [0x140054450]
mov qword [r14], rax
lea rbp, [r14 + 0x10]
mov rcx, rbp
mov rdx, rdi
mov r8d, r13d
call fcn.1400188e0
lea rcx, [rsp + 0x90]
mov qword [rcx], rbp
mov qword [rcx + 8], r14
mov dword [rcx + 0x10], 0
xor edx, edx
call fcn.140018990
mov edi, eax
lock dec dword [r14 + 8]
jne 0x140017402
mov rsi, r14
add rsi, 0xc
mov rax, qword [r14]
mov rax, qword [rax]
mov rcx, r14
call qword [0x140068010]
lock dec dword [rsi]
jne 0x140017402
mov rax, qword [r14]
mov rax, qword [rax + 8]
mov rcx, r14
call qword [0x140068010]
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
inc edi
mov rax, qword [rsp + 0x38]
mov eax, dword [rax]
jmp 0x1400172b2
add rdx, qword [rax + 0x40]
mov rax, qword [rsp + 0x38]
mov eax, dword [rax]
jmp 0x14001661f
mov rcx, qword [rsp + 0x30]
cmp qword [rcx], 0
mov ecx, dword [rcx + 0x20]
je 0x14001807d
mov rdx, qword [rsp + 0x58]
mov edx, dword [rdx]
cmp ecx, edx
jae 0x140018087
mov r8, qword [rsp + 0x30]
mov rdx, qword [r8 + 0x10]
mov byte [rdx + rcx], 0xa1
mov ecx, dword [r8 + 0x20]
inc ecx
mov dword [r8 + 0x20], ecx
cmp qword [r8], 0
je 0x14001807f
mov rdx, qword [rsp + 0x58]
mov edx, dword [rdx]
jmp 0x140018090
inc ecx
add ecx, 8
inc ecx
inc ecx
inc ecx
mov r15, qword [rsp + 0x38]
mov dword [r15], ecx
mov r12, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x48]
jmp 0x140015910
mov rcx, rdi
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400174b2
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xd1
jne 0x140017576
inc edx
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400174d6
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0xc0
jb 0x140017576
mov rax, qword [rcx + 0x40]
add rax, rdx
mov rcx, qword [rsp + 0x38]
mov ecx, dword [rcx]
mov rdx, qword [rsp + 0x40]
cmp ecx, dword [rdx]
jne 0x140017505
add ecx, 2
mov rdx, qword [rsp + 0x40]
mov dword [rdx], ecx
mov r12, qword [rsp + 0x30]
mov rcx, r12
mov rdx, rax
jmp 0x140017856
mov r8, qword [rsp + 0x50]
mov byte [r8], 0
lea r8d, [rcx + 8]
cmp r8d, edx
jbe 0x140017601
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
cmp ecx, edx
jae 0x140017734
mov rdx, qword [rsp + 0x30]
mov rax, qword [rdx + 0x10]
mov ecx, ecx
mov byte [rax + rcx], 0x48
mov ecx, dword [rdx + 0x20]
inc ecx
mov dword [rdx + 0x20], ecx
cmp qword [rdx], 0
je 0x14001747f
mov rax, qword [rsp + 0x58]
mov edx, dword [rax]
jmp 0x14001773c
cmp eax, r8d
je 0x140016460
jmp 0x14001646a
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001758b
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
jne 0x140017781
inc edx
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400175af
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0xc0
jb 0x140017781
mov rax, qword [rcx + 0x40]
add rax, rdx
mov rcx, qword [rsp + 0x38]
mov ecx, dword [rcx]
mov rdx, qword [rsp + 0x40]
cmp ecx, dword [rdx]
jne 0x1400175de
add ecx, 3
mov rdx, qword [rsp + 0x40]
mov dword [rdx], ecx
mov r12, qword [rsp + 0x30]
mov rcx, r12
mov rdx, rax
mov r8d, 3
call fcn.1400186b0
mov rsi, qword [rsp + 0x48]
add dword [rsi], 3
jmp 0x140016c65
mov r8, qword [rsp + 0x30]
mov rdx, qword [r8 + 0x10]
mov ecx, ecx
mov qword [rdx + rcx], rax
mov ecx, dword [r8 + 0x20]
add ecx, 8
mov dword [r8 + 0x20], ecx
cmp qword [r8], 0
je 0x14001747d
mov rax, qword [rsp + 0x58]
mov edx, dword [rax]
jmp 0x140017533
inc edx
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017648
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0x3f
mov r12, qword [rsp + 0x30]
ja 0x140018337
inc edx
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017672
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx + 1]
and al, 7
cmp al, 5
mov r12, qword [rsp + 0x30]
jne 0x140018337
inc edx
call fcn.1400183d0
mov rcx, qword [rbx]
mov rdx, qword [rcx + 0x10]
test rdx, rdx
je 0x14001769f
mov rdx, qword [rcx + 8]
mov eax, dword [rbx + 0x10]
mov dl, byte [rdx + rax + 1]
and dl, 0x38
cmp dl, 0x20
je 0x140017e0f
lea edx, [rax + 1]
call fcn.1400183d0
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1400176ca
mov rcx, qword [rax + 8]
mov eax, dword [rbx + 0x10]
mov cl, byte [rcx + rax + 1]
and cl, 0x38
cmp cl, 0x10
mov r12, qword [rsp + 0x30]
jne 0x140018337
add eax, 2
mov dword [rbx + 0x10], eax
dec dword [r12 + 0x20]
mov rcx, qword [rbx]
mov edx, dword [rbx + 0x10]
inc edx
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001770a
mov rax, qword [rcx + 8]
mov ecx, dword [rbx + 0x10]
mov al, byte [rax + rcx + 1]
and al, 0x38
xor ebp, ebp
cmp al, 0x20
sete bpl
mov edi, 4
sub edi, ebp
mov rcx, rbx
call fcn.1400344d0
mov r12, qword [rsp + 0x30]
jmp 0x140017029
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
cmp ecx, edx
jae 0x14001786e
mov rdx, qword [rsp + 0x30]
mov rax, qword [rdx + 0x10]
mov ecx, ecx
mov byte [rax + rcx], 0x8b
mov ecx, dword [rdx + 0x20]
inc ecx
mov dword [rdx + 0x20], ecx
cmp qword [rdx], 0
je 0x140017481
mov dl, byte [rsp + 0x88]
lea eax, [rdx*8]
or al, dl
mov rdx, qword [rsp + 0x58]
mov edx, dword [rdx]
jmp 0x140017889
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017796
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xc3
jne 0x1400178aa
add rdx, qword [rcx + 0x40]
mov rax, qword [rsp + 0x38]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x40]
cmp eax, dword [rcx]
jne 0x1400177c0
inc eax
mov rcx, qword [rsp + 0x40]
mov dword [rcx], eax
mov r12, qword [rsp + 0x30]
mov rcx, r12
mov r8d, 1
call fcn.1400186b0
mov rsi, qword [rsp + 0x48]
inc dword [rsi]
jmp 0x140016c65
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400177f4
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x63
mov r12, qword [rsp + 0x30]
jne 0x140018337
inc edx
call fcn.1400183d0
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x14001781d
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx + 1], 0xc0
mov r12, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
jb 0x140018337
add rdx, qword [rax + 0x40]
mov eax, dword [rcx]
mov rcx, qword [rsp + 0x40]
cmp eax, dword [rcx]
jne 0x14001784e
add eax, 2
mov rcx, qword [rsp + 0x40]
mov dword [rcx], eax
mov r12, qword [rsp + 0x30]
mov rcx, r12
mov r8d, 2
call fcn.1400186b0
mov rsi, qword [rsp + 0x48]
add dword [rsi], 2
jmp 0x140016c65
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
mov r8b, byte [rsp + 0x88]
lea eax, [r8*8]
or al, r8b
cmp ecx, edx
jae 0x140018099
mov r12, qword [rsp + 0x30]
mov rdx, qword [r12 + 0x10]
mov ecx, ecx
mov byte [rdx + rcx], al
inc dword [r12 + 0x20]
jmp 0x1400180a6
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400178bf
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xcc
je 0x1400177a3
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400178e1
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xe8
je 0x1400180c8
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017903
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xe9
je 0x1400180c8
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017925
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x73
jb 0x140017a8a
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017947
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x75
ja 0x140017a8a
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017969
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
movzx eax, byte [rax + rdx]
lea r8, [0x140056b68]
mov edi, dword [r8 + rax*4 - 0x1cc]
inc edx
call fcn.1400183d0
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140017996
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
movzx ecx, byte [rcx + rdx + 1]
add edx, 2
mov dword [rbx + 0x10], edx
add rdx, rcx
add rdx, qword [rax + 0x40]
mov r12, qword [rsp + 0x30]
mov rcx, r12
mov r8d, edi
call fcn.140018b90
test al, al
mov r15, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x60]
jne 0x1400155b8
jmp 0x140018337
lea eax, [rdx + 2]
mov rcx, qword [rsp + 0x48]
mov dword [rcx], eax
mov rax, qword [rsp + 0x30]
cmp qword [rax], 0
mov eax, dword [rax + 0x20]
jne 0x140017a50
inc eax
inc eax
mov rcx, qword [rsp + 0x38]
mov dword [rcx], eax
mov rcx, rbx
call fcn.140034480
mov rcx, qword [rsp + 0x30]
cmp qword [rcx], 0
mov ecx, dword [rcx + 0x20]
je 0x140017b3a
mov rdx, qword [rsp + 0x58]
mov edx, dword [rdx]
cmp ecx, edx
jae 0x140017bd2
mov r8, qword [rsp + 0x30]
mov rdx, qword [r8 + 0x10]
mov byte [rdx + rcx], 0x49
mov ecx, dword [r8 + 0x20]
inc ecx
mov dword [r8 + 0x20], ecx
cmp qword [r8], 0
je 0x140017b3c
mov rdx, qword [rsp + 0x58]
mov edx, dword [rdx]
jmp 0x140017bdb
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx]
cmp eax, ecx
jae 0x140017c99
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rdx + 0x10]
mov byte [rcx + rax], 0x49
mov eax, dword [rdx + 0x20]
inc eax
mov dword [rdx + 0x20], eax
cmp qword [rdx], 0
je 0x1400179f1
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx]
jmp 0x140017ca1
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017a9f
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xff
je 0x140017e19
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017ac1
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
jne 0x140017cf9
inc edx
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017ae5
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx + 1]
and al, 0xf8
cmp al, 0x60
jne 0x140017cf9
mov rax, qword [rcx + 0x40]
add rax, rdx
mov rcx, qword [rsp + 0x38]
mov ecx, dword [rcx]
mov rdx, qword [rsp + 0x40]
cmp ecx, dword [rdx]
jne 0x140017b17
add ecx, 5
mov rdx, qword [rsp + 0x40]
mov dword [rdx], ecx
mov r12, qword [rsp + 0x30]
mov rcx, r12
mov rdx, rax
mov r8d, 5
call fcn.1400186b0
mov rsi, qword [rsp + 0x48]
add dword [rsi], 5
jmp 0x140016c65
inc ecx
inc ecx
add ecx, 8
inc ecx
inc ecx
inc ecx
mov rax, qword [rsp + 0x38]
mov dword [rax], ecx
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
mov rax, qword [rsp + 0x40]
cmp ecx, dword [rax]
jne 0x140017b6a
inc ecx
mov rax, qword [rsp + 0x40]
mov dword [rax], ecx
mov rsi, qword [rsp + 0x30]
mov rcx, rsi
mov r8d, 1
call fcn.1400186b0
mov rax, qword [rsp + 0x48]
inc dword [rax]
cmp qword [rsi], 0
mov eax, dword [rsi + 0x20]
je 0x140017bbc
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx]
cmp eax, ecx
jae 0x140017c0b
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rdx + 0x10]
mov byte [rcx + rax], 0x49
mov eax, dword [rdx + 0x20]
inc eax
mov dword [rdx + 0x20], eax
cmp qword [rdx], 0
je 0x140017bbe
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx]
jmp 0x140017c13
inc eax
inc eax
mov r15, qword [rsp + 0x38]
mov dword [r15], eax
mov r12, qword [rsp + 0x30]
jmp 0x140017c8f
mov r8, qword [rsp + 0x50]
mov byte [r8], 0
cmp ecx, edx
jae 0x140017c2e
mov r8, qword [rsp + 0x30]
mov rdx, qword [r8 + 0x10]
mov ecx, ecx
mov byte [rdx + rcx], 0xbb
mov ecx, dword [r8 + 0x20]
inc ecx
mov dword [r8 + 0x20], ecx
cmp qword [r8], 0
je 0x140017b3e
mov rdx, qword [rsp + 0x58]
mov edx, dword [rdx]
jmp 0x140017c37
mov rdx, qword [rsp + 0x50]
mov byte [rdx], 0
cmp eax, ecx
jae 0x140017c7d
mov r12, qword [rsp + 0x30]
mov rcx, qword [r12 + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x5b
inc dword [r12 + 0x20]
jmp 0x140017c8a
mov r8, qword [rsp + 0x50]
mov byte [r8], 0
lea r8d, [rcx + 8]
cmp r8d, edx
jbe 0x140017cbc
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
cmp ecx, edx
jae 0x140017dd2
mov rdx, qword [rsp + 0x30]
mov rax, qword [rdx + 0x10]
mov ecx, ecx
mov byte [rax + rcx], 0x41
mov ecx, dword [rdx + 0x20]
inc ecx
mov dword [rdx + 0x20], ecx
cmp qword [rdx], 0
je 0x140017b43
mov rax, qword [rsp + 0x58]
mov edx, dword [rax]
jmp 0x140017dda
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
mov r12, qword [rsp + 0x30]
mov r15, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x48]
jmp 0x1400155b8
mov rdx, qword [rsp + 0x50]
mov byte [rdx], 0
cmp eax, ecx
jae 0x140017cec
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rdx + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x53
inc dword [rdx + 0x20]
jmp 0x1400179fa
mov r8, qword [rsp + 0x30]
mov rdx, qword [r8 + 0x10]
mov ecx, ecx
mov qword [rdx + rcx], rax
mov ecx, dword [r8 + 0x20]
add ecx, 8
mov dword [r8 + 0x20], ecx
cmp qword [r8], 0
je 0x140017b41
mov rax, qword [rsp + 0x58]
mov edx, dword [rax]
jmp 0x140017c48
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x1400179fa
call fcn.1400183d0
mov rdi, qword [rbx]
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x140017d0e
mov rax, qword [rdi + 8]
mov r13d, dword [rbx + 0x10]
cmp byte [rax + r13], 0xc6
mov r12, qword [rsp + 0x30]
jne 0x140018337
inc r13d
mov ecx, 0x58
call qword [sym.imp.mozglue.dll_moz_xmalloc]
mov r14, rax
movabs rax, 0x100000001
mov qword [r14 + 8], rax
lea rax, [0x140054450]
mov qword [r14], rax
lea rbp, [r14 + 0x10]
mov rcx, rbp
mov rdx, rdi
mov r8d, r13d
call fcn.1400188e0
lea rcx, [rsp + 0x90]
mov qword [rcx], rbp
mov qword [rcx + 8], r14
mov dword [rcx + 0x10], 0
xor edx, edx
call fcn.140018990
mov edi, eax
lock dec dword [r14 + 8]
jne 0x140017dae
mov rsi, r14
add rsi, 0xc
mov rax, qword [r14]
mov rax, qword [rax]
mov rcx, r14
call qword [0x140068010]
lock dec dword [rsi]
jne 0x140017dae
mov rax, qword [r14]
mov rax, qword [rax + 8]
mov rcx, r14
call qword [0x140068010]
test edi, edi
mov r12, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
js 0x140018337
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
add edi, 2
jmp 0x1400172b0
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
cmp ecx, edx
jae 0x140017ecb
mov rdx, qword [rsp + 0x30]
mov rax, qword [rdx + 0x10]
mov ecx, ecx
mov byte [rax + rcx], 0x80
mov ecx, dword [rdx + 0x20]
inc ecx
mov dword [rdx + 0x20], ecx
cmp qword [rdx], 0
je 0x140017b45
mov rax, qword [rsp + 0x58]
mov edx, dword [rax]
jmp 0x140017ed3
mov r12, qword [rsp + 0x30]
jmp 0x1400176e2
inc edx
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017e30
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov r14b, byte [rax + rdx + 1]
inc edx
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017e4f
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
movzx edi, byte [rax + rdx + 1]
shr edi, 3
and edi, 7
inc edx
call fcn.1400183d0
mov rbp, qword [rbx]
mov rax, qword [rbp + 0x10]
test rax, rax
je 0x140017e74
mov rax, qword [rbp + 8]
mov r13d, dword [rbx + 0x10]
mov dl, byte [rax + r13 + 1]
and dl, 7
cmp r14b, 0xc0
jb 0x140017f00
cmp edi, 6
ja 0x140018104
mov eax, 0x47
bt eax, edi
jae 0x140018104
add r13, qword [rbp + 0x40]
mov rax, qword [rsp + 0x38]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x40]
cmp eax, dword [rcx]
jne 0x140017ebb
add eax, 2
mov rcx, qword [rsp + 0x40]
mov dword [rcx], eax
mov r12, qword [rsp + 0x30]
mov rcx, r12
mov rdx, r13
jmp 0x140017856
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
cmp ecx, edx
jae 0x140017ef3
mov rdx, qword [rsp + 0x30]
mov rax, qword [rdx + 0x10]
mov ecx, ecx
mov byte [rax + rcx], 0x3b
mov ecx, dword [rdx + 0x20]
inc ecx
mov dword [rdx + 0x20], ecx
jmp 0x140017b4e
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x140017b4e
cmp r14b, 0x40
setb al
cmp dl, 5
sete cl
cmp r14b, 0x3f
ja 0x140017f22
cmp dil, 2
jne 0x140017f22
cmp dl, 5
je 0x1400181db
cmp dil, 4
mov r12, qword [rsp + 0x30]
jne 0x140018337
and al, cl
cmp al, 1
je 0x1400181ad
inc r13d
mov ecx, 0x58
call qword [sym.imp.mozglue.dll_moz_xmalloc]
mov r14, rax
movabs rax, 0x100000001
mov qword [r14 + 8], rax
lea rax, [0x140054450]
mov qword [r14], rax
lea rdi, [r14 + 0x10]
mov rcx, rdi
mov rdx, rbp
mov r8d, r13d
call fcn.1400188e0
lea rcx, [rsp + 0x90]
mov qword [rcx], rdi
mov qword [rcx + 8], r14
mov dword [rcx + 0x10], 0
xor edx, edx
call fcn.140018990
mov edi, eax
lock dec dword [r14 + 8]
jne 0x140017fc7
mov rsi, r14
add rsi, 0xc
mov rax, qword [r14]
mov rax, qword [rax]
mov rcx, r14
call qword [0x140068010]
lock dec dword [rsi]
jne 0x140017fc7
mov rax, qword [r14]
mov rax, qword [rax + 8]
mov rcx, r14
call qword [0x140068010]
test edi, edi
mov r12, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
js 0x140018337
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
inc edi
mov eax, dword [rcx]
mov rcx, qword [rsp + 0x40]
cmp eax, dword [rcx]
jne 0x140017ff9
add eax, edi
mov rcx, qword [rsp + 0x40]
mov dword [rcx], eax
mov r12, qword [rsp + 0x30]
mov rcx, r12
mov r8d, edi
call fcn.1400186b0
mov rsi, qword [rsp + 0x48]
add dword [rsi], edi
mov bpl, 1
jmp 0x14001664d
lea edx, [r13 + 1]
mov rcx, rdi
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140018034
mov rax, qword [rcx + 8]
mov ecx, dword [rbx + 0x10]
mov sil, byte [rax + rcx + 1]
lea eax, [rcx + 2]
mov dword [rbx + 0x10], eax
mov rcx, rbx
call fcn.140034480
mov rcx, qword [rsp + 0x30]
cmp qword [rcx], 0
mov ecx, dword [rcx + 0x20]
je 0x14001807d
mov rdx, qword [rsp + 0x58]
mov edx, dword [rdx]
cmp ecx, edx
jae 0x140018087
shr sil, 3
or sil, 0xb8
mov r8, qword [rsp + 0x30]
mov rdx, qword [r8 + 0x10]
mov byte [rdx + rcx], sil
jmp 0x140017458
inc ecx
add ecx, 8
jmp 0x140017483
mov r8, qword [rsp + 0x50]
mov byte [r8], 0
lea r8d, [rcx + 8]
cmp r8d, edx
jbe 0x1400180b0
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
mov r12, qword [rsp + 0x30]
mov r15, qword [rsp + 0x38]
jmp 0x140017490
mov r12, qword [rsp + 0x30]
mov rdx, qword [r12 + 0x10]
mov ecx, ecx
mov qword [rdx + rcx], rax
add dword [r12 + 0x20], 8
jmp 0x1400180a6
call fcn.1400183d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400180dd
mov rax, qword [rcx + 8]
mov ecx, dword [rbx + 0x10]
xor ebp, ebp
cmp byte [rax + rcx], 0xe9
sete bpl
lea eax, [rcx + 1]
mov dword [rbx + 0x10], eax
mov edi, 4
sub edi, ebp
mov rcx, rbx
call fcn.140034480
jmp 0x14001772a
cmp dl, 5
sete cl
xor eax, eax
jmp 0x140017f22
mov byte [rsp + 0xe8], 0
mov rax, qword [rsp + 0xb8]
mov r12, qword [rsp + 0x30]
jmp 0x140015db4
mov byte [rsp + 0xe8], 0
mov rax, qword [rsp + 0xb8]
mov r12, qword [rsp + 0x30]
jmp 0x140015de8
mov byte [rsp + 0xe8], 0
mov rax, qword [rsp + 0xb8]
mov r12, qword [rsp + 0x30]
jmp 0x140015e2a
mov byte [rsp + 0xe8], 0
mov rax, qword [rsp + 0xb8]
mov r12, qword [rsp + 0x30]
jmp 0x140015e5e
mov byte [rsp + 0xe8], 0
mov rax, qword [rsp + 0xb8]
mov r12, qword [rsp + 0x30]
jmp 0x140015e92
mov byte [rsp + 0xe8], 0
xor r14d, r14d
mov r12, qword [rsp + 0x30]
mov r15, qword [rsp + 0x38]
jmp 0x140016250
add r13d, 2
mov dword [rbx + 0x10], r13d
mov rcx, rbx
call fcn.1400344d0
mov r12, qword [rsp + 0x30]
mov rcx, r12
mov rdx, rax
mov r8d, 3
call fcn.140018b90
mov bpl, 1
jmp 0x140017037
add r13d, 2
mov dword [rbx + 0x10], r13d
mov rcx, rbx
call fcn.1400344d0
mov r12, qword [rsp + 0x30]
mov rcx, r12
mov rdx, rax
mov r8d, 4
jmp 0x1400179b6
inc qword [rsp + 0xb8]
mov eax, dword [rsp + 0xa8]
inc eax
mov dword [rsp + 0xa8], eax
mov eax, eax
cmp qword [rsp + 0xa0], rax
jbe 0x140018249
mov rax, qword [rsp + 0xb8]
cmp rax, qword [rsp + 0xc0]
je 0x14001836a
mov rcx, qword [rsp + 0xb0]
mov byte [rcx + rax], 0x90
jmp 0x140018201
cmp qword [rsp + 0x100], 0
je 0x140018309
cmp byte [rsp + 0xe8], 0
je 0x140018309
mov rdi, qword [rsp + 0xb8]
test rdi, rdi
je 0x1400182fe
mov rax, qword [rsp + 0x90]
cmp qword [rax], 0
je 0x140018309
mov edx, dword [rsp + 0xac]
add rdx, qword [rsp + 0x98]
mov r8, qword [rsp + 0xb0]
lea r9, [rsp + 0x88]
mov qword [r9], 0
mov rcx, qword [rax]
mov qword [rsp + 0x20], r9
mov r9, rdi
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x140018309
cmp qword [rsp + 0x88], rdi
jne 0x140018309
mov rax, qword [rsp + 0x90]
mov rcx, qword [rax]
xor edx, edx
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [rsp + 0xb8]
add dword [rsp + 0xac], eax
mov qword [rsp + 0xb8], 0
mov rax, qword [rsp + 0x1a8]
mov qword [rax], r15
mov rcx, rbx
call fcn.1400185b0
lea rax, [rsp + 0x110]
mov rcx, qword [rax - 0x18]
cmp rcx, rax
jne 0x1400183b9
mov rcx, qword [rsp + 0xb0]
cmp rcx, r14
jne 0x1400183c4
mov rax, qword [rsp + 0x1a8]
cmp qword [rax], 0
je 0x1400183a6
mov rcx, qword [rsp + 0x130]
xor rcx, rsp
call fcn.14002fbe0
nop
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov edx, 1
mov rcx, rdi
call fcn.140014b90
test al, al
je 0x14001838d
mov rax, qword [rsp + 0xb8]
mov r12, qword [rsp + 0x30]
jmp 0x14001823b
mov byte [rsp + 0xe8], 0
mov eax, dword [rsp + 0xa8]
mov r12, qword [rsp + 0x30]
jmp 0x140018219
mov dword [r12 + 0x20], 0
mov rcx, r12
call fcn.1400349d0
jmp 0x140018345
call qword [sym.imp.mozglue.dll_free]
jmp 0x140018326
call qword [sym.imp.mozglue.dll_free]
jmp 0x140018337