Function at 0x1400122c0
Capabilities:
Check for software breakpoints
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 r14, r9
mov rsi, r8
mov rbx, rdx
mov r15, 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 0x140012332
cmp qword [r14 + 0x10], 0
je 0x140013094
cmp qword [r14 + 0x18], 0
je 0x140013094
cmp dword [r14 + 8], 0
je 0x140013094
cmp byte [r14 + 0x34], 0
je 0x140013094
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_EncodePointer]
lea rdi, [r14 + 0x20]
mov ecx, dword [r14 + 0x20]
lea edx, [rcx + 8]
cmp qword [r14], 0
je 0x14001383e
cmp edx, dword [r14 + 0x30]
ja 0x140013845
mov rdx, qword [r14 + 0x10]
mov qword [rdx + rcx], rax
add dword [r14 + 0x20], 8
cmp qword [r14], 0
je 0x14001239a
mov al, byte [r14 + 0x34]
cmp qword [r14 + 0x10], 0
je 0x140013094
cmp qword [r14 + 0x18], 0
je 0x140013094
cmp dword [r14 + 8], 0
je 0x140013094
test al, al
je 0x140013094
mov rax, qword [rbx]
mov ecx, dword [rbx + 0x10]
add rcx, qword [rax + 0x40]
call qword [sym.imp.KERNEL32.dll_EncodePointer]
mov ecx, dword [r14 + 0x20]
lea edx, [rcx + 8]
cmp qword [r14], 0
mov qword [rsp + 0x78], rsi
je 0x140013851
cmp edx, dword [r14 + 0x30]
ja 0x140013858
mov rdx, qword [r14 + 0x10]
mov qword [rdx + rcx], rax
add dword [r14 + 0x20], 8
cmp qword [r14], 0
je 0x14001240a
mov al, byte [r14 + 0x34]
cmp qword [r14 + 0x10], 0
je 0x140013082
cmp qword [r14 + 0x18], 0
je 0x140013082
cmp dword [r14 + 8], 0
je 0x140013082
test al, al
je 0x140013082
mov rcx, qword [rbx]
mov edx, dword [rbx + 0x10]
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140012425
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x48
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x48], rdi
jne 0x14001245d
inc edx
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001244f
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0xb8
je 0x1400130b9
mov eax, dword [r14 + 0x20]
mov dword [r14 + 0x24], eax
mov dword [r14 + 0x28], eax
cmp byte [r15 + 0x34], 0
je 0x1400138b8
lea rsi, [rbx + 0x10]
mov eax, dword [r15 + 0x30]
and eax, 2
mov ecx, eax
shr ecx, 1
mov dword [rsp + 0x74], ecx
xor ecx, ecx
test eax, eax
sete cl
lea r15d, [rcx + rcx*2]
add r15d, 0xa
mov edx, dword [rsi]
cmp edx, r15d
jae 0x14001327e
lea r12, [r14 + 0x28]
lea rax, [r14 + 0x30]
mov qword [rsp + 0x60], rax
lea rax, [r14 + 0x34]
mov qword [rsp + 0x58], rax
xor eax, eax
mov qword [rsp + 0x68], rax
mov ebp, edx
mov qword [rsp + 0x50], rsi
mov dword [rsp + 0x44], r15d
mov qword [rsp + 0x30], r12
mov r13, qword [rbx]
mov rcx, r13
mov edx, ebp
test byte [rsp + 0x68], 1
jne 0x1400132a4
mov rcx, r13
mov edx, ebp
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400124fc
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xf
je 0x14001330f
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001251e
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x88
jae 0x140012aa8
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140012540
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x40
je 0x1400129f5
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140012562
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x41
je 0x1400129f5
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140012584
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x44
je 0x140013482
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400125a6
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x45
je 0x140013561
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400125c8
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xfa
cmp al, 0x48
je 0x1400126af
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400125ed
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x66
je 0x14001367e
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001260f
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xf0
cmp al, 0x50
jne 0x140012acf
add rdx, qword [rcx + 0x40]
mov r8d, dword [rdi]
lea ecx, [r8 + 1]
cmp r8d, dword [r12]
jne 0x140012634
mov dword [r12], ecx
mov rax, qword [r14]
test rax, rax
je 0x1400137af
mov r9, qword [rsp + 0x60]
cmp ecx, dword [r9]
ja 0x14001328a
cmp qword [rax], 0
je 0x14001328a
add r8, qword [r14 + 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 0x14001328a
cmp qword [rsp + 0x90], 1
jne 0x14001328a
inc dword [rdi]
inc dword [rsi]
mov ebp, dword [rsi]
cmp ebp, r15d
jb 0x1400124cf
jmp 0x140012d78
add rdx, qword [rcx + 0x40]
mov r8d, dword [rdi]
lea ecx, [r8 + 1]
cmp r8d, dword [r12]
jne 0x1400126c4
mov dword [r12], ecx
mov rax, qword [r14]
test rax, rax
je 0x1400137b6
mov r9, qword [rsp + 0x60]
cmp ecx, dword [r9]
ja 0x140013297
cmp qword [rax], 0
je 0x140013297
add r8, qword [r14 + 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 0x140013297
cmp qword [rsp + 0x90], 1
jne 0x140013297
inc dword [rdi]
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.140014f30
mov rcx, qword [rbx]
mov rdx, qword [rcx + 0x10]
test rdx, rdx
je 0x14001274d
mov rdx, qword [rcx + 8]
mov eax, dword [rbx + 0x10]
cmp byte [rdx + rax], 0x81
je 0x140012b83
mov edx, eax
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140012771
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
je 0x1400138c3
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140012793
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
je 0x1400138ed
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400127b5
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
je 0x140013946
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400127d7
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x2b
je 0x1400139b2
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400127f9
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x85
je 0x140013a08
call fcn.140014f30
mov rbp, qword [rbx]
mov rax, qword [rbp + 0x10]
test rax, rax
je 0x14001281b
mov rax, qword [rbp + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xfd
cmp al, 0x89
jne 0x140013a41
lea r14d, [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, [0x140053450]
mov qword [r13], rax
lea r12, [r13 + 0x10]
mov rax, qword [rbp]
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 [rbp + 0x40]
add rcx, r14
mov qword [r13 + 0x50], rcx
mov rdi, qword [rbp + 0x10]
cmp rdi, r14
jbe 0x1400128da
mov r15, qword [rbp + 8]
lea rbp, [r15 + rdi]
add r15, r14
mov rsi, rbp
sub rsi, r15
cmp rsi, 0x21
jae 0x140013aa7
xor ecx, ecx
cmp rdi, r14
jle 0x1400128d3
add rax, rcx
mov cl, byte [r15]
mov byte [rax], cl
inc r15
inc rax
cmp r15, rbp
jb 0x1400128bf
mov rcx, qword [r13 + 0x20]
add rcx, rsi
mov qword [r13 + 0x20], rcx
mov qword [rsp + 0x90], r12
mov qword [rsp + 0x98], r13
mov dword [rsp + 0xa0], 0
lea rcx, [rsp + 0x90]
lea rdx, [rsp + 0x88]
call fcn.1400154f0
mov ebp, eax
mov rax, qword [rsp + 0x80]
lock dec dword [rax]
jne 0x140012946
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 0x140012946
mov rax, qword [r13]
mov rax, qword [rax + 8]
mov rcx, r13
call qword [0x140068010]
test ebp, ebp
mov r14, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x48]
mov r15d, dword [rsp + 0x44]
mov r12, qword [rsp + 0x30]
js 0x140013ac8
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
mov r8d, dword [rdi]
lea ecx, [r8 + rbp]
inc ecx
cmp r8d, dword [r12]
mov rsi, qword [rsp + 0x50]
jne 0x140012984
mov dword [r12], ecx
inc ebp
mov rax, qword [r14]
test rax, rax
je 0x140013b40
mov r9, qword [rsp + 0x60]
cmp ecx, dword [r9]
ja 0x140013475
cmp qword [rax], 0
je 0x140013475
add r8, qword [r14 + 0x10]
mov r13d, ebp
mov qword [rsp + 0x90], 0
mov rcx, qword [rax]
lea rax, [rsp + 0x90]
mov qword [rsp + 0x20], rax
mov r9, r13
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x140013475
cmp qword [rsp + 0x90], r13
jne 0x140013475
add dword [rdi], ebp
add dword [rsi], ebp
jmp 0x14001269f
add rdx, qword [rcx + 0x40]
mov r8d, dword [rdi]
lea ecx, [r8 + 1]
cmp r8d, dword [r12]
jne 0x140012a0a
mov dword [r12], ecx
mov rax, qword [r14]
test rax, rax
je 0x140013c61
mov r9, qword [rsp + 0x60]
cmp ecx, dword [r9]
ja 0x140013606
cmp qword [rax], 0
je 0x140013606
add r8, qword [r14 + 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 0x140013606
cmp qword [rsp + 0x90], 1
jne 0x140013606
inc dword [rdi]
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140012a93
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xf0
cmp al, 0x50
je 0x14001261f
jmp 0x140013c68
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140012abd
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x8b
ja 0x14001252b
jmp 0x140013d80
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140012ae4
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x65
je 0x140013da8
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140012b06
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x80
je 0x140013e63
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140012b28
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x90
je 0x140013ea6
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140012b4a
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xf8
cmp al, 0xb8
jne 0x140012c38
add rdx, qword [rcx + 0x40]
mov eax, dword [rdi]
cmp eax, dword [r12]
jne 0x140012b6d
add eax, 5
mov dword [r12], eax
mov rcx, r14
mov r8d, 5
call fcn.1400152c0
add dword [rsi], 5
jmp 0x14001269f
lea edx, [rax + 1]
call fcn.140014f30
mov rcx, qword [rbx]
mov rdx, qword [rcx + 0x10]
test rdx, rdx
je 0x140012b9b
mov rdx, qword [rcx + 8]
mov eax, dword [rbx + 0x10]
mov dl, byte [rdx + rax + 1]
and dl, 0xf8
cmp dl, 0xe8
jne 0x14001275a
mov rdx, qword [rcx + 0x40]
add rdx, rax
mov r8d, dword [rdi]
lea ecx, [r8 + 6]
cmp r8d, dword [r12]
jne 0x140012bc6
mov dword [r12], ecx
mov rax, qword [r14]
test rax, rax
je 0x140013ebb
mov r9, qword [rsp + 0x60]
cmp ecx, dword [r9]
ja 0x140013613
cmp qword [rax], 0
je 0x140013613
add r8, qword [r14 + 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 0x140013613
cmp qword [rsp + 0x90], 6
jne 0x140013613
add dword [rdi], 6
add dword [rsi], 6
jmp 0x14001269f
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140012c4d
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x33
je 0x14001409d
call fcn.140014f30
mov rbp, qword [rbx]
mov rax, qword [rbp + 0x10]
test rax, rax
je 0x140012c6f
mov rax, qword [rbp + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xf6
jne 0x1400140b2
mov byte [rsp + 0x88], 0
lea edi, [rdx + 1]
mov ecx, 0x58
call qword [sym.imp.mozglue.dll_moz_xmalloc]
mov r13, rax
movabs rax, 0x100000001
mov qword [r13 + 8], rax
lea rax, [0x140053450]
mov qword [r13], rax
lea r12, [r13 + 0x10]
mov rcx, r12
mov rdx, rbp
mov r8d, edi
call fcn.140015110
mov qword [rsp + 0x90], r12
mov qword [rsp + 0x98], r13
mov dword [rsp + 0xa0], 0
lea rcx, [rsp + 0x90]
lea rdx, [rsp + 0x88]
call fcn.1400154f0
mov ebp, eax
lock dec dword [r13 + 8]
jne 0x140012d26
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 0x140012d26
mov rax, qword [r13]
mov rax, qword [rax + 8]
mov rcx, r13
call qword [0x140068010]
test ebp, ebp
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r12, qword [rsp + 0x30]
js 0x140013082
cmp byte [rsp + 0x88], 0
jne 0x140013082
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
add ebp, 2
mov eax, dword [rdi]
cmp eax, dword [r12]
jne 0x140012d66
add eax, ebp
mov dword [r12], eax
mov rcx, r14
mov r8d, ebp
call fcn.1400152c0
add dword [rsi], ebp
jmp 0x14001269f
mov edx, ebp
cmp edx, 0x64
ja 0x140013082
test byte [rsp + 0x68], 1
jne 0x140012da9
mov rax, qword [rbx]
mov edx, edx
add rdx, qword [rax + 0x40]
mov rcx, r14
mov r8d, 3
call fcn.1400156f0
test al, al
je 0x140013082
cmp byte [r14 + 0x34], 0
je 0x140013082
cmp qword [r14], 0
je 0x140013082
mov eax, dword [r14 + 0x20]
mov r15d, dword [r14 + 0x24]
mov dword [r14 + 0x2c], eax
add r15, qword [r14 + 0x18]
je 0x140013082
mov r9d, dword [rsi]
test r9, r9
je 0x140013b47
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.140015350
cmp qword [rbx + 0x10], rsi
je 0x14001304f
cmp byte [rsp + 0xe8], 0
je 0x14001304f
cmp byte [rsp + 0x74], 0
jne 0x140013b52
lea rdi, [rsp + 0xb0]
mov rax, qword [rdi + 8]
cmp rax, qword [rdi + 0x10]
je 0x140013b7f
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 0x140013ba1
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 0x140013bc3
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 0x140013be5
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 0x140013c07
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 0x140013c29
mov rcx, qword [rsp + 0xb0]
mov byte [rcx + rax], 0xe3
inc qword [rsp + 0xb8]
inc dword [rsp + 0xa8]
cmp qword [rsp + 0x100], 0
je 0x14001304f
cmp byte [rsp + 0xe8], 0
je 0x14001304f
mov rdi, qword [rsp + 0xb8]
test rdi, rdi
je 0x140013044
mov rax, qword [rsp + 0x90]
cmp qword [rax], 0
je 0x14001304f
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 0x14001304f
cmp qword [rsp + 0x88], rdi
jne 0x14001304f
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.1400151c0
lea rax, [rsp + 0x110]
mov rcx, qword [rax - 0x18]
cmp rcx, rax
jne 0x140013c4b
mov rcx, qword [rsp + 0xb0]
cmp rcx, r14
jne 0x140013c56
mov r14, qword [rsp + 0x38]
mov rax, qword [rsp + 0x1a8]
cmp qword [rax], 0
je 0x140013864
mov rcx, qword [rsp + 0x130]
xor rcx, rsp
call fcn.14002c610
nop
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
add edx, 0xa
call fcn.140014f30
mov r12, qword [rbx]
mov rax, qword [r12 + 0x10]
test rax, rax
je 0x1400130d3
mov rax, qword [r12 + 8]
mov r13d, dword [rbx + 0x10]
cmp byte [rax + r13 + 0xa], 0xff
jne 0x140013ec2
lea edx, [r13 + 0xb]
mov rcx, r12
call fcn.140014f30
mov r12, qword [rbx]
mov rax, qword [r12 + 0x10]
test rax, rax
je 0x140013101
mov rax, qword [r12 + 8]
mov r13d, dword [rbx + 0x10]
cmp byte [rax + r13 + 0xb], 0xe0
jne 0x140013ec2
add r13d, 2
mov ecx, 0x58
call qword [sym.imp.mozglue.dll_moz_xmalloc]
mov rbp, rax
movabs rax, 0x100000001
mov qword [rbp + 8], rax
lea rax, [0x140053450]
mov qword [rbp], rax
lea rdi, [rbp + 0x10]
mov rcx, rdi
mov rdx, r12
mov r8d, r13d
call fcn.140015110
mov rcx, rdi
mov edx, 8
call fcn.140014f30
mov rax, qword [rbp + 0x18]
mov r12, qword [rax]
lock dec dword [rbp + 8]
jne 0x140013195
mov rsi, rbp
add rsi, 0xc
mov rax, qword [rbp]
mov rax, qword [rax]
mov rcx, rbp
call qword [0x140068010]
lock dec dword [rsi]
jne 0x140013195
mov rax, qword [rbp]
mov rax, qword [rax + 8]
mov rcx, rbp
call qword [0x140068010]
lea rdi, [rsp + 0x90]
mov rcx, rbx
mov rdx, rdi
call fcn.14002fc40
xor ebp, ebp
cmp qword [rdi + 0x70], 0
je 0x140013246
cmp byte [rsp + 0xe8], 0
je 0x140013246
lea rdi, [rsp + 0x90]
mov rcx, rdi
mov rdx, qword [rsp + 0x1a0]
call fcn.14002fb40
mov rcx, rdi
call fcn.14002fb90
test al, al
je 0x14001418e
mov eax, dword [r14 + 0x20]
lea ecx, [rax + 8]
cmp qword [r14], 0
je 0x140014195
cmp ecx, dword [r14 + 0x30]
ja 0x1400141a1
mov rcx, qword [r14 + 0x10]
mov qword [rcx + rax], r12
add dword [r14 + 0x20], 8
cmp qword [r14], 0
je 0x140013238
mov al, byte [r14 + 0x34]
xor ebp, ebp
cmp qword [r14 + 0x10], 0
je 0x140013246
cmp qword [r14 + 0x18], 0
je 0x140013246
cmp dword [r14 + 8], 0
je 0x140013246
test al, al
je 0x140013246
mov rax, qword [rsp + 0x1a8]
mov qword [rax], r12
mov bpl, 1
lea rdi, [rsp + 0xf0]
mov rcx, rdi
call fcn.14002fb10
mov rcx, qword [rdi - 0x40]
lea rax, [rsp + 0xc8]
cmp rcx, rax
jne 0x1400141ad
test bpl, bpl
mov rdi, qword [rsp + 0x48]
jne 0x140013082
jmp 0x14001245d
xor eax, eax
mov qword [rsp + 0x68], rax
jmp 0x140012d7a
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x14001269d
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x14001272d
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400132b9
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x90
je 0x1400132e4
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400132d7
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xcc
jne 0x14001342e
inc edx
mov rsi, qword [rsp + 0x50]
mov dword [rsi], edx
mov r15d, dword [rsp + 0x44]
cmp edx, r15d
mov r14, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x48]
mov r12, qword [rsp + 0x30]
jb 0x1400124d7
jmp 0x140012d7a
add rdx, qword [rcx + 0x40]
mov eax, dword [rdi]
cmp eax, dword [r12]
jne 0x140013324
inc eax
mov rcx, qword [rsp + 0x30]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x38]
mov r8d, 1
call fcn.1400152c0
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140013354
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x1f
jne 0x140013620
add rdx, qword [rcx + 0x40]
mov rax, qword [rsp + 0x48]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x30]
cmp eax, dword [rcx]
jne 0x14001337e
inc eax
mov rcx, qword [rsp + 0x30]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x38]
mov r8d, 1
call fcn.1400152c0
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400133ae
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xc0
cmp al, 0x40
mov r14, qword [rsp + 0x38]
jne 0x140013082
call fcn.140014f30
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1400133d8
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
mov cl, byte [rcx + rdx]
and cl, 7
cmp cl, 4
mov r14, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x30]
jne 0x140013082
add rdx, qword [rax + 0x40]
mov eax, dword [rcx]
cmp eax, dword [r8]
jne 0x14001340e
add eax, 3
mov rcx, qword [rsp + 0x30]
mov dword [rcx], eax
mov r14, qword [rsp + 0x38]
mov rcx, r14
mov r8d, 3
call fcn.1400152c0
mov rsi, qword [rsp + 0x50]
add dword [rsi], 3
jmp 0x1400135f2
cmp qword [rsp + 0x78], 0
mov r14, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x50]
je 0x140013082
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 0x140013082
mov al, 1
mov dword [rsp + 0x74], eax
cmp edx, 9
ja 0x140012d7a
jmp 0x140013082
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x1400129ee
add rdx, qword [rcx + 0x40]
mov eax, dword [rdi]
cmp eax, dword [r12]
jne 0x140013497
inc eax
mov rcx, qword [rsp + 0x30]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x38]
mov r8d, 1
call fcn.1400152c0
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.140014f30
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1400134c7
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx], 0x89
mov r14, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x30]
jne 0x140013082
add rdx, qword [rax + 0x40]
mov eax, dword [rcx]
cmp eax, dword [r8]
jne 0x1400134f7
inc eax
mov rcx, qword [rsp + 0x30]
mov dword [rcx], eax
mov r14, qword [rsp + 0x38]
mov rcx, r14
mov r8d, 1
call fcn.1400152c0
inc dword [rbx + 0x10]
mov rcx, rbx
xor edx, edx
call fcn.1400154f0
test eax, eax
mov rcx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x30]
js 0x140013082
mov ebp, eax
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
mov eax, dword [rcx]
cmp eax, dword [r8]
jne 0x140013545
add eax, ebp
mov rcx, qword [rsp + 0x30]
mov dword [rcx], eax
mov r14, qword [rsp + 0x38]
mov rcx, r14
mov r8d, ebp
call fcn.1400152c0
mov rsi, qword [rsp + 0x50]
add dword [rsi], ebp
jmp 0x1400135f2
add rdx, qword [rcx + 0x40]
mov eax, dword [rdi]
cmp eax, dword [r12]
jne 0x140013576
inc eax
mov rcx, qword [rsp + 0x30]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x38]
mov r8d, 1
call fcn.1400152c0
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.140014f30
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1400135a6
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx], 0x33
mov r14, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x30]
jne 0x140013082
add rdx, qword [rax + 0x40]
mov eax, dword [rcx]
cmp eax, dword [r8]
jne 0x1400135d7
add eax, 2
mov rcx, qword [rsp + 0x30]
mov dword [rcx], eax
mov r14, qword [rsp + 0x38]
mov rcx, r14
mov r8d, 2
call fcn.1400152c0
mov rsi, qword [rsp + 0x50]
add dword [rsi], 2
mov rdi, qword [rsp + 0x48]
mov r15d, dword [rsp + 0x44]
mov r12, qword [rsp + 0x30]
jmp 0x14001269f
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x140012a73
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x140012c30
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140013635
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 5
jne 0x140013879
add rdx, qword [rcx + 0x40]
mov rax, qword [rsp + 0x48]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x30]
cmp eax, dword [rcx]
jne 0x14001365f
inc eax
mov rcx, qword [rsp + 0x30]
mov dword [rcx], eax
mov r14, qword [rsp + 0x38]
mov rcx, r14
mov r8d, 1
call fcn.1400152c0
mov rsi, qword [rsp + 0x50]
inc dword [rsi]
jmp 0x1400135f2
add rdx, qword [rcx + 0x40]
mov eax, dword [rdi]
cmp eax, dword [r12]
jne 0x140013693
inc eax
mov rcx, qword [rsp + 0x30]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x38]
mov r8d, 1
call fcn.1400152c0
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400136c3
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x88
jb 0x1400137bd
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400136e5
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x8b
ja 0x1400137bd
inc edx
call fcn.140014f30
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140013709
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 0x1400142fc
cmp r8d, 0x40
mov r14, qword [rsp + 0x38]
mov r9, qword [rsp + 0x48]
mov r10, qword [rsp + 0x30]
je 0x14001376a
test r8d, r8d
jne 0x140013082
mov r9d, ecx
and r9d, 6
cmp r9d, 4
jne 0x1400142fc
cmp r8d, 0x40
mov r14, qword [rsp + 0x38]
mov r9, qword [rsp + 0x48]
mov r10, qword [rsp + 0x30]
jne 0x140013082
add rdx, qword [rax + 0x40]
and ecx, 7
mov eax, dword [r9]
mov r8d, dword [r10]
cmp ecx, 4
jne 0x14001458a
cmp eax, r8d
jne 0x14001378f
add eax, 4
mov rcx, qword [rsp + 0x30]
mov dword [rcx], eax
mov r14, qword [rsp + 0x38]
mov rcx, r14
mov r8d, 4
call fcn.1400152c0
mov rsi, qword [rsp + 0x50]
add dword [rsi], 4
jmp 0x1400135f2
mov dword [rdi], ecx
jmp 0x14001269d
mov dword [rdi], ecx
jmp 0x14001272d
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400137d2
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x44
jne 0x140014e24
inc edx
call fcn.140014f30
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1400137f6
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx + 1], 0x89
jne 0x140014e24
add rdx, qword [rax + 0x40]
mov rax, qword [rsp + 0x48]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x30]
cmp eax, dword [rcx]
jne 0x140013822
add eax, 2
mov rcx, qword [rsp + 0x30]
mov dword [rcx], eax
mov r14, qword [rsp + 0x38]
mov rcx, r14
mov r8d, 2
call fcn.1400152c0
add dword [rbx + 0x10], 2
jmp 0x14001350d
mov dword [rdi], edx
jmp 0x14001239a
mov byte [r14 + 0x34], 0
xor eax, eax
jmp 0x140012371
mov dword [rdi], edx
jmp 0x14001240a
mov byte [r14 + 0x34], 0
xor eax, eax
jmp 0x1400123e1
mov dword [r14 + 0x20], 0
mov rcx, r14
call fcn.140034660
jmp 0x140013094
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001388e
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x10
jne 0x140013f32
add rdx, qword [rcx + 0x40]
mov rax, qword [rsp + 0x48]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x30]
cmp eax, dword [rcx]
je 0x1400134ee
jmp 0x1400134f7
int3
inc edx
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400138da
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx + 1]
and al, 0xf8
cmp al, 0xe8
jne 0x14001277e
jmp 0x140013915
inc edx
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140013904
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx + 1]
and al, 0xf8
cmp al, 0xc0
jne 0x1400127a0
mov rax, qword [rcx + 0x40]
add rax, rdx
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx]
mov rdx, qword [rsp + 0x30]
cmp ecx, dword [rdx]
jne 0x140013936
add ecx, 3
mov rdx, qword [rsp + 0x30]
mov dword [rdx], ecx
mov r14, qword [rsp + 0x38]
mov rcx, r14
mov rdx, rax
jmp 0x140013416
inc edx
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001395d
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx + 1]
and al, 0xf8
cmp al, 0x60
jne 0x1400127c2
mov rax, qword [rcx + 0x40]
add rax, rdx
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx]
mov rdx, qword [rsp + 0x30]
cmp ecx, dword [rdx]
jne 0x14001398f
add ecx, 5
mov rdx, qword [rsp + 0x30]
mov dword [rdx], ecx
mov r14, qword [rsp + 0x38]
mov rcx, r14
mov rdx, rax
mov r8d, 5
call fcn.1400152c0
mov rsi, qword [rsp + 0x50]
add dword [rsi], 5
jmp 0x1400135f2
inc edx
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400139c9
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0xc0
jb 0x1400127e4
mov rax, qword [rcx + 0x40]
add rax, rdx
mov rcx, qword [rsp + 0x48]
mov ecx, dword [rcx]
mov rdx, qword [rsp + 0x30]
cmp ecx, dword [rdx]
jne 0x1400139f8
add ecx, 2
mov rdx, qword [rsp + 0x30]
mov dword [rdx], ecx
mov r14, qword [rsp + 0x38]
mov rcx, r14
mov rdx, rax
jmp 0x1400135df
inc edx
call fcn.140014f30
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140013a1f
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx + 1], 0xc0
mov r14, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x30]
jae 0x1400135c2
jmp 0x140013082
mov rcx, rbp
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140013a59
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xf8
cmp al, 0xb8
jne 0x140014012
add rdx, qword [rcx + 0x40]
mov rax, qword [rsp + 0x48]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x30]
cmp eax, dword [rcx]
jne 0x140013a87
add eax, 9
mov rcx, qword [rsp + 0x30]
mov dword [rcx], eax
mov r14, qword [rsp + 0x38]
mov rcx, r14
mov r8d, 9
call fcn.1400152c0
mov rsi, qword [rsp + 0x50]
add dword [rsi], 9
jmp 0x1400135f2
lea rcx, [r13 + 0x18]
mov rdx, rsi
call fcn.140011c90
test al, al
je 0x1400128da
mov rax, qword [r13 + 0x18]
mov rcx, qword [r13 + 0x20]
jmp 0x1400128b7
cmp ebp, 0xfffffffe
jne 0x14001307d
add dword [rbx + 0x10], 2
mov rcx, rbx
call fcn.140034140
mov r8b, byte [rsp + 0x88]
test r8b, r8b
je 0x140014319
mov rcx, qword [rsp + 0x38]
cmp qword [rcx], 0
mov ecx, dword [rcx + 0x20]
je 0x140014523
mov rdx, qword [rsp + 0x60]
mov edx, dword [rdx]
cmp ecx, edx
jae 0x14001453f
add r8b, 0xb8
mov r9, qword [rsp + 0x38]
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 0x140014525
mov rdx, qword [rsp + 0x60]
mov edx, dword [rdx]
jmp 0x140014548
mov dword [rdi], ecx
jmp 0x1400129ee
int3
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax]
lea r8, [rsp + 0x90]
mov rdx, r15
mov r9, qword [rsp + 0x1a0]
call fcn.140034270
test al, al
jne 0x140012f8f
jmp 0x14001304f
mov edx, 1
mov rcx, rdi
call fcn.140011c90
test al, al
je 0x140014e5b
mov rax, qword [rsp + 0xb8]
jmp 0x140012e62
mov edx, 1
mov rcx, rdi
call fcn.140011c90
test al, al
je 0x140014e70
mov rax, qword [rsp + 0xb8]
jmp 0x140012e96
mov edx, 8
mov rcx, rdi
call fcn.140011c90
test al, al
je 0x140014e85
mov rax, qword [rsp + 0xb8]
jmp 0x140012ece
mov edx, 1
mov rcx, rdi
call fcn.140011c90
test al, al
je 0x140014e9a
mov rax, qword [rsp + 0xb8]
jmp 0x140012f0c
mov edx, 1
mov rcx, rdi
call fcn.140011c90
test al, al
je 0x140014eaf
mov rax, qword [rsp + 0xb8]
jmp 0x140012f40
mov edx, 1
mov rcx, rdi
call fcn.140011c90
test al, al
je 0x140014ec4
mov rax, qword [rsp + 0xb8]
jmp 0x140012f74
call qword [sym.imp.mozglue.dll_free]
jmp 0x14001306c
call qword [sym.imp.mozglue.dll_free]
jmp 0x14001307d
mov dword [rdi], ecx
jmp 0x140012a73
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140013c7d
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xb8
jb 0x140013ca8
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140013c9b
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xbf
jbe 0x14001396e
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140013cbd
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x8b
jne 0x140013ceb
inc edx
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140013cdd
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0xc0
jae 0x1400139d7
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140013d00
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xf7
mov r14, qword [rsp + 0x38]
jne 0x140013082
inc edx
call fcn.140014f30
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140013d29
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
mov cl, byte [rcx + rdx + 1]
and cl, 0xf8
cmp cl, 0xc0
mov r14, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x30]
jne 0x140013082
add rdx, qword [rax + 0x40]
mov eax, dword [rcx]
cmp eax, dword [r8]
jne 0x140013d60
add eax, 6
mov rcx, qword [rsp + 0x30]
mov dword [rcx], eax
mov r14, qword [rsp + 0x38]
mov rcx, r14
mov r8d, 6
call fcn.1400152c0
mov rsi, qword [rsp + 0x50]
add dword [rsi], 6
jmp 0x1400135f2
mov rax, qword [rcx + 0x40]
add rax, rdx
mov ecx, dword [rdi]
cmp ecx, dword [r12]
jne 0x140013d98
inc ecx
mov rdx, qword [rsp + 0x30]
mov dword [rdx], ecx
mov r14, qword [rsp + 0x38]
mov rcx, r14
mov rdx, rax
jmp 0x1400134ff
inc edx
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140013dbf
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0x48
mov r14, qword [rsp + 0x38]
jne 0x140013082
add edx, 2
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140013dea
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 2], 0x88
mov r14, qword [rsp + 0x38]
jb 0x140013082
add edx, 2
call fcn.140014f30
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140013e15
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx + 2], 0x8b
mov r14, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x30]
ja 0x140013082
add rdx, qword [rax + 0x40]
mov eax, dword [rcx]
cmp eax, dword [r8]
jne 0x140013e47
add eax, 3
mov rcx, qword [rsp + 0x30]
mov dword [rcx], eax
mov r14, qword [rsp + 0x38]
mov rcx, r14
mov r8d, 3
call fcn.1400152c0
add dword [rbx + 0x10], 3
jmp 0x14001350d
inc edx
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140013e7a
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0x3d
je 0x140014779
mov r14, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r15d, dword [rsp + 0x44]
mov r12, qword [rsp + 0x30]
jmp 0x140012b13
add rdx, qword [rcx + 0x40]
mov eax, dword [rdi]
cmp eax, dword [r12]
je 0x140013656
jmp 0x14001365f
mov dword [rdi], ecx
jmp 0x140012c30
add r13d, 0xa
mov rcx, r12
mov edx, r13d
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140013ee1
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 0xa], 0x50
mov r14, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x48]
jne 0x14001245d
add edx, 0xb
call fcn.140014f30
mov r12, qword [rbx]
mov rax, qword [r12 + 0x10]
test rax, rax
je 0x140013f13
mov rax, qword [r12 + 8]
mov r13d, dword [rbx + 0x10]
cmp byte [rax + r13 + 0xb], 0xc3
mov r14, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x48]
jne 0x14001245d
jmp 0x140013111
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140013f47
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x11
je 0x14001389b
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140013f69
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
mov r14, qword [rsp + 0x38]
jb 0x140013082
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140013f90
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x85
mov r14, qword [rsp + 0x38]
ja 0x140013082
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140013fb7
mov rax, qword [rcx + 8]
mov ecx, dword [rbx + 0x10]
movzx eax, byte [rax + rcx]
lea rdx, [0x140055b88]
mov edi, dword [rdx + rax*4 - 0x20c]
lea eax, [rcx + 1]
mov dword [rbx + 0x10], eax
mov r14, qword [rsp + 0x38]
dec dword [r14 + 0x20]
mov rcx, rbx
call fcn.140034140
mov rcx, r14
mov rdx, rax
mov r8d, edi
call fcn.1400156f0
test al, al
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r15d, dword [rsp + 0x44]
mov r12, qword [rsp + 0x30]
jne 0x14001269f
jmp 0x140013082
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014027
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xc7
jne 0x1400141b8
inc edx
call fcn.140014f30
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x14001404b
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx + 1], 0x44
mov r14, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x30]
jne 0x140013082
add rdx, qword [rax + 0x40]
mov eax, dword [rcx]
cmp eax, dword [r8]
jne 0x14001407d
add eax, 8
mov rcx, qword [rsp + 0x30]
mov dword [rcx], eax
mov r14, qword [rsp + 0x38]
mov rcx, r14
mov r8d, 8
call fcn.1400152c0
mov rsi, qword [rsp + 0x50]
add dword [rsi], 8
jmp 0x1400135f2
add rdx, qword [rcx + 0x40]
mov eax, dword [rdi]
cmp eax, dword [r12]
je 0x1400135cd
jmp 0x1400135d7
mov rcx, rbp
call fcn.140014f30
mov rbp, qword [rbx]
mov rax, qword [rbp + 0x10]
test rax, rax
je 0x1400140ca
mov rax, qword [rbp + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x85
jne 0x140014367
lea edi, [rdx + 1]
mov ecx, 0x58
call qword [sym.imp.mozglue.dll_moz_xmalloc]
mov r13, rax
movabs rax, 0x100000001
mov qword [r13 + 8], rax
lea rax, [0x140053450]
mov qword [r13], rax
lea r12, [r13 + 0x10]
mov rcx, r12
mov rdx, rbp
mov r8d, edi
call fcn.140015110
lea rcx, [rsp + 0x90]
mov qword [rcx], r12
mov qword [rcx + 8], r13
mov dword [rcx + 0x10], 0
xor edx, edx
call fcn.1400154f0
mov ebp, eax
lock dec dword [r13 + 8]
jne 0x140014166
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 0x140014166
mov rax, qword [r13]
mov rax, qword [rax + 8]
mov rcx, r13
call qword [0x140068010]
test ebp, ebp
mov r14, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x30]
js 0x140013082
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
inc ebp
jmp 0x140013535
xor ebp, ebp
jmp 0x140013246
mov rax, qword [rsp + 0x48]
mov dword [rax], ecx
jmp 0x140013238
mov byte [r14 + 0x34], 0
xor eax, eax
jmp 0x14001321d
call qword [sym.imp.mozglue.dll_free]
jmp 0x14001326b
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400141cd
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xff
je 0x1400145c5
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400141ef
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x8d
jne 0x140014711
inc edx
call fcn.140014f30
mov rsi, qword [rbx]
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x140014213
mov rax, qword [rsi + 8]
mov ebp, dword [rbx + 0x10]
cmp byte [rax + rbp + 1], 0x3f
ja 0x140014249
lea edx, [rbp + 1]
mov rcx, rsi
call fcn.140014f30
mov rsi, qword [rbx]
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x140014238
mov rax, qword [rsi + 8]
mov ebp, dword [rbx + 0x10]
mov al, byte [rax + rbp + 1]
and al, 7
cmp al, 5
je 0x140014d9c
inc ebp
mov ecx, 0x58
call qword [sym.imp.mozglue.dll_moz_xmalloc]
mov r13, rax
movabs rax, 0x100000001
mov qword [r13 + 8], rax
lea rax, [0x140053450]
mov qword [r13], rax
lea rdi, [r13 + 0x10]
mov rcx, rdi
mov rdx, rsi
mov r8d, ebp
call fcn.140015110
lea rcx, [rsp + 0x90]
mov qword [rcx], rdi
mov qword [rcx + 8], r13
mov dword [rcx + 0x10], 0
xor edx, edx
call fcn.1400154f0
mov ebp, eax
lock dec dword [r13 + 8]
jne 0x1400142d7
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 0x1400142d7
mov rax, qword [r13]
mov rax, qword [rax + 8]
mov rcx, r13
call qword [0x140068010]
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
inc ebp
mov rax, qword [rsp + 0x48]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x30]
cmp eax, dword [rcx]
je 0x14001353c
jmp 0x140013545
add rdx, qword [rax + 0x40]
mov rax, qword [rsp + 0x48]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x30]
cmp eax, dword [rcx]
je 0x1400135cd
jmp 0x1400135d7
mov rcx, qword [rsp + 0x38]
cmp qword [rcx], 0
mov ecx, dword [rcx + 0x20]
je 0x140014e00
mov rdx, qword [rsp + 0x60]
mov edx, dword [rdx]
cmp ecx, edx
jae 0x140014e0a
mov r8, qword [rsp + 0x38]
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 0x140014e02
mov rdx, qword [rsp + 0x60]
mov edx, dword [rdx]
jmp 0x140014e13
mov rcx, rbp
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001437f
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xd1
jne 0x1400143ad
inc edx
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001439f
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0xc0
jae 0x1400139d7
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400143c2
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
jne 0x1400143f0
inc edx
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400143e2
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0xc0
jae 0x140013915
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014405
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xc3
je 0x140013642
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014427
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xcc
je 0x140013642
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014449
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xe8
je 0x140014d5c
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001446b
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xe9
je 0x140014d5c
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001448d
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x73
jb 0x14001482c
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400144af
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x75
ja 0x14001482c
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400144d1
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
movzx eax, byte [rax + rdx]
lea r8, [0x140055b88]
mov ebp, dword [r8 + rax*4 - 0x1cc]
inc edx
call fcn.140014f30
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1400144fe
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 r14, qword [rsp + 0x38]
mov rcx, r14
mov r8d, ebp
jmp 0x140013fec
inc ecx
add ecx, 8
inc ecx
inc ecx
inc ecx
mov rdi, qword [rsp + 0x48]
mov dword [rdi], ecx
mov r14, qword [rsp + 0x38]
jmp 0x140014e2e
mov r8, qword [rsp + 0x58]
mov byte [r8], 0
lea r8d, [rcx + 8]
cmp r8d, edx
jbe 0x140014598
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
cmp ecx, edx
jae 0x1400146cb
mov rdx, qword [rsp + 0x38]
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 0x14001452a
mov rax, qword [rsp + 0x60]
mov edx, dword [rax]
jmp 0x1400146d3
cmp eax, r8d
je 0x140013404
jmp 0x14001340e
mov r8, qword [rsp + 0x38]
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 0x140014528
mov rax, qword [rsp + 0x60]
mov edx, dword [rax]
jmp 0x140014559
inc edx
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400145dc
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0x3f
mov r14, qword [rsp + 0x38]
ja 0x140013082
inc edx
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014606
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx + 1]
and al, 7
cmp al, 5
mov r14, qword [rsp + 0x38]
jne 0x140013082
inc edx
call fcn.140014f30
mov rcx, qword [rbx]
mov rdx, qword [rcx + 0x10]
test rdx, rdx
je 0x140014633
mov rdx, qword [rcx + 8]
mov eax, dword [rbx + 0x10]
mov dl, byte [rdx + rax + 1]
and dl, 0x38
cmp dl, 0x20
je 0x140014c26
lea edx, [rax + 1]
call fcn.140014f30
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x14001465e
mov rcx, qword [rax + 8]
mov eax, dword [rbx + 0x10]
mov cl, byte [rcx + rax + 1]
and cl, 0x38
cmp cl, 0x10
mov r14, qword [rsp + 0x38]
jne 0x140013082
add eax, 2
mov dword [rbx + 0x10], eax
dec dword [r14 + 0x20]
mov rcx, qword [rbx]
mov edx, dword [rbx + 0x10]
inc edx
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001469d
mov rax, qword [rcx + 8]
mov ecx, dword [rbx + 0x10]
mov al, byte [rax + rcx + 1]
and al, 0x38
xor ecx, ecx
cmp al, 0x20
sete cl
mov edi, 4
mov qword [rsp + 0x68], rcx
sub edi, ecx
mov rcx, rbx
call fcn.140034190
mov r14, qword [rsp + 0x38]
jmp 0x140013fe3
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
cmp ecx, edx
jae 0x14001473f
mov rdx, qword [rsp + 0x38]
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 0x14001452c
mov dl, byte [rsp + 0x88]
lea eax, [rdx*8]
or al, dl
mov rdx, qword [rsp + 0x60]
mov edx, dword [rdx]
jmp 0x14001475a
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014726
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x63
mov r14, qword [rsp + 0x38]
jne 0x140013082
inc edx
jmp 0x140013a0a
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
mov r8b, byte [rsp + 0x88]
lea eax, [r8*8]
or al, r8b
cmp ecx, edx
jae 0x140014e1c
mov r14, qword [rsp + 0x38]
mov rdx, qword [r14 + 0x10]
mov ecx, ecx
mov byte [rdx + rcx], al
inc dword [r14 + 0x20]
jmp 0x140014e29
lea eax, [rdx + 2]
mov rcx, qword [rsp + 0x50]
mov dword [rcx], eax
mov rax, qword [rsp + 0x38]
cmp qword [rax], 0
mov eax, dword [rax + 0x20]
jne 0x1400147f2
inc eax
inc eax
mov rcx, qword [rsp + 0x48]
mov dword [rcx], eax
mov rcx, rbx
call fcn.140034140
mov rcx, qword [rsp + 0x38]
cmp qword [rcx], 0
mov ecx, dword [rcx + 0x20]
je 0x140014972
mov rdx, qword [rsp + 0x60]
mov edx, dword [rdx]
cmp ecx, edx
jae 0x140014a04
mov r8, qword [rsp + 0x38]
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 0x140014974
mov rdx, qword [rsp + 0x60]
mov edx, dword [rdx]
jmp 0x140014a0d
mov rcx, qword [rsp + 0x60]
mov ecx, dword [rcx]
cmp eax, ecx
jae 0x140014aad
mov rdx, qword [rsp + 0x38]
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 0x140014793
mov rcx, qword [rsp + 0x60]
mov ecx, dword [rcx]
jmp 0x140014ab5
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014841
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xff
je 0x140014b4a
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014863
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
jne 0x140014894
inc edx
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014883
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx + 1]
and al, 0xf8
cmp al, 0x60
je 0x14001396e
call fcn.140014f30
mov rsi, qword [rbx]
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x1400148a9
mov rax, qword [rsi + 8]
mov ebp, dword [rbx + 0x10]
cmp byte [rax + rbp], 0xc6
mov r14, qword [rsp + 0x38]
jne 0x140013082
inc ebp
mov ecx, 0x58
call qword [sym.imp.mozglue.dll_moz_xmalloc]
mov r13, rax
movabs rax, 0x100000001
mov qword [r13 + 8], rax
lea rax, [0x140053450]
mov qword [r13], rax
lea rdi, [r13 + 0x10]
mov rcx, rdi
mov rdx, rsi
mov r8d, ebp
call fcn.140015110
lea rcx, [rsp + 0x90]
mov qword [rcx], rdi
mov qword [rcx + 8], r13
mov dword [rcx + 0x10], 0
xor edx, edx
call fcn.1400154f0
mov ebp, eax
lock dec dword [r13 + 8]
jne 0x140014949
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 0x140014949
mov rax, qword [r13]
mov rax, qword [rax + 8]
mov rcx, r13
call qword [0x140068010]
test ebp, ebp
mov r14, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x30]
js 0x140013082
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
add ebp, 2
jmp 0x140013535
inc ecx
inc ecx
add ecx, 8
inc ecx
inc ecx
inc ecx
mov rax, qword [rsp + 0x48]
mov dword [rax], ecx
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
mov rax, qword [rsp + 0x30]
cmp ecx, dword [rax]
jne 0x1400149a2
inc ecx
mov rax, qword [rsp + 0x30]
mov dword [rax], ecx
mov rsi, qword [rsp + 0x38]
mov rcx, rsi
mov r8d, 1
call fcn.1400152c0
mov rax, qword [rsp + 0x50]
inc dword [rax]
cmp qword [rsi], 0
mov eax, dword [rsi + 0x20]
je 0x1400149f4
mov rcx, qword [rsp + 0x60]
mov ecx, dword [rcx]
cmp eax, ecx
jae 0x140014a3d
mov rdx, qword [rsp + 0x38]
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 0x1400149f6
mov rcx, qword [rsp + 0x60]
mov ecx, dword [rcx]
jmp 0x140014a45
inc eax
inc eax
mov rdi, qword [rsp + 0x48]
mov dword [rdi], eax
jmp 0x140014535
mov r8, qword [rsp + 0x58]
mov byte [r8], 0
cmp ecx, edx
jae 0x140014a61
mov r8, qword [rsp + 0x38]
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 0x140014976
mov rdx, qword [rsp + 0x60]
mov edx, dword [rdx]
jmp 0x140014a6a
mov rdx, qword [rsp + 0x58]
mov byte [rdx], 0
cmp eax, ecx
jae 0x140014e1c
mov r14, qword [rsp + 0x38]
mov rcx, qword [r14 + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x5b
jmp 0x140014770
mov r8, qword [rsp + 0x58]
mov byte [r8], 0
lea r8d, [rcx + 8]
cmp r8d, edx
jbe 0x140014ad0
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
cmp ecx, edx
jae 0x140014b0d
mov rdx, qword [rsp + 0x38]
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 0x14001497b
mov rax, qword [rsp + 0x60]
mov edx, dword [rax]
jmp 0x140014b15
mov rdx, qword [rsp + 0x58]
mov byte [rdx], 0
cmp eax, ecx
jae 0x140014b00
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rdx + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x53
inc dword [rdx + 0x20]
jmp 0x14001479c
mov r8, qword [rsp + 0x38]
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 0x140014979
mov rax, qword [rsp + 0x60]
mov edx, dword [rax]
jmp 0x140014a7b
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x14001479c
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
cmp ecx, edx
jae 0x140014bfe
mov rdx, qword [rsp + 0x38]
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 0x14001497d
mov rax, qword [rsp + 0x60]
mov edx, dword [rax]
jmp 0x140014c06
inc edx
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014b61
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov r14b, byte [rax + rdx + 1]
inc edx
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014b80
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.140014f30
mov rsi, qword [rbx]
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x140014ba5
mov rax, qword [rsi + 8]
mov ebp, dword [rbx + 0x10]
mov dl, byte [rax + rbp + 1]
and dl, 7
cmp r14b, 0xc0
jb 0x140014c3d
cmp edi, 6
ja 0x140014e4e
mov eax, 0x47
bt eax, edi
jae 0x140014e4e
add rbp, qword [rsi + 0x40]
mov rax, qword [rsp + 0x48]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x30]
cmp eax, dword [rcx]
jne 0x140014bee
add eax, 2
mov rcx, qword [rsp + 0x30]
mov dword [rcx], eax
mov r14, qword [rsp + 0x38]
mov rcx, r14
mov rdx, rbp
jmp 0x1400135df
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
cmp ecx, edx
jae 0x140014c30
mov rdx, qword [rsp + 0x38]
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 0x140014986
mov r14, qword [rsp + 0x38]
jmp 0x140014676
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x140014986
cmp r14b, 0x40
setb al
cmp dl, 5
sete cl
cmp r14b, 0x3f
ja 0x140014c5f
cmp dil, 2
jne 0x140014c5f
cmp dl, 5
je 0x140014ed1
cmp dil, 4
mov r14, qword [rsp + 0x38]
jne 0x140013082
and al, cl
cmp al, 1
je 0x140014ef5
inc ebp
mov ecx, 0x58
call qword [sym.imp.mozglue.dll_moz_xmalloc]
mov r13, rax
movabs rax, 0x100000001
mov qword [r13 + 8], rax
lea rax, [0x140053450]
mov qword [r13], rax
lea rdi, [r13 + 0x10]
mov rcx, rdi
mov rdx, rsi
mov r8d, ebp
call fcn.140015110
lea rcx, [rsp + 0x90]
mov qword [rcx], rdi
mov qword [rcx + 8], r13
mov dword [rcx + 0x10], 0
xor edx, edx
call fcn.1400154f0
mov ebp, eax
lock dec dword [r13 + 8]
jne 0x140014d06
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 0x140014d06
mov rax, qword [r13]
mov rax, qword [rax + 8]
mov rcx, r13
call qword [0x140068010]
test ebp, ebp
mov r14, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x30]
js 0x140013082
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
inc ebp
mov eax, dword [rcx]
cmp eax, dword [r8]
jne 0x140014d39
add eax, ebp
mov rcx, qword [rsp + 0x30]
mov dword [rcx], eax
mov r14, qword [rsp + 0x38]
mov rcx, r14
mov r8d, ebp
call fcn.1400152c0
mov rsi, qword [rsp + 0x50]
add dword [rsi], ebp
mov al, 1
mov qword [rsp + 0x68], rax
jmp 0x1400135f2
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014d71
mov rax, qword [rcx + 8]
mov ecx, dword [rbx + 0x10]
xor edx, edx
cmp byte [rax + rcx], 0xe9
sete dl
lea eax, [rcx + 1]
mov dword [rbx + 0x10], eax
mov edi, 4
mov qword [rsp + 0x68], rdx
sub edi, edx
mov rcx, rbx
call fcn.140034140
jmp 0x1400146c1
lea edx, [rbp + 1]
mov rcx, rsi
call fcn.140014f30
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014db7
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.140034140
mov rcx, qword [rsp + 0x38]
cmp qword [rcx], 0
mov ecx, dword [rcx + 0x20]
je 0x140014e00
mov rdx, qword [rsp + 0x60]
mov edx, dword [rdx]
cmp ecx, edx
jae 0x140014e0a
shr sil, 3
or sil, 0xb8
mov r8, qword [rsp + 0x38]
mov rdx, qword [r8 + 0x10]
mov byte [rdx + rcx], sil
jmp 0x140014347
inc ecx
add ecx, 8
jmp 0x14001452e
mov r8, qword [rsp + 0x58]
mov byte [r8], 0
lea r8d, [rcx + 8]
cmp r8d, edx
jbe 0x140014e38
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
mov r14, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
jmp 0x1400135f7
mov r14, qword [rsp + 0x38]
mov rdx, qword [r14 + 0x10]
mov ecx, ecx
mov qword [rdx + rcx], rax
add dword [r14 + 0x20], 8
jmp 0x140014e29
cmp dl, 5
sete cl
xor eax, eax
jmp 0x140014c5f
mov byte [rsp + 0xe8], 0
mov rax, qword [rsp + 0xb8]
jmp 0x140012e88
mov byte [rsp + 0xe8], 0
mov rax, qword [rsp + 0xb8]
jmp 0x140012ebc
mov byte [rsp + 0xe8], 0
mov rax, qword [rsp + 0xb8]
jmp 0x140012efe
mov byte [rsp + 0xe8], 0
mov rax, qword [rsp + 0xb8]
jmp 0x140012f32
mov byte [rsp + 0xe8], 0
mov rax, qword [rsp + 0xb8]
jmp 0x140012f66
mov byte [rsp + 0xe8], 0
jmp 0x140012f8f
add ebp, 2
mov dword [rbx + 0x10], ebp
mov rcx, rbx
call fcn.140034190
mov r14, qword [rsp + 0x38]
mov rcx, r14
mov rdx, rax
mov r8d, 4
jmp 0x140013fec
add ebp, 2
mov dword [rbx + 0x10], ebp
mov rcx, rbx
call fcn.140034190
mov r14, qword [rsp + 0x38]
mov rcx, r14
mov rdx, rax
mov r8d, 3
call fcn.1400156f0
mov cl, 1
mov qword [rsp + 0x68], rcx
jmp 0x140013ff1