Function at 0x140014e40
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, 0x108
mov rsi, r9
mov rdi, r8
mov rbx, rdx
mov r14, rcx
mov r12, qword [rsp + 0x178]
mov rax, qword [0x140062030]
xor rax, rsp
mov qword [rsp + 0x100], rax
mov qword [r12], 0
cmp qword [r9], 0
je 0x140014eb1
cmp qword [rsi + 0x10], 0
je 0x140017ad0
cmp qword [rsi + 0x18], 0
je 0x140017ad0
cmp dword [rsi + 8], 0
je 0x140017ad0
cmp byte [rsi + 0x34], 0
je 0x140017ad0
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_EncodePointer]
mov ecx, dword [rsi + 0x20]
lea edx, [rcx + 8]
cmp qword [rsi], 0
je 0x14001631a
cmp edx, dword [rsi + 0x30]
ja 0x140016322
mov rdx, qword [rsi + 0x10]
mov qword [rdx + rcx], rax
add dword [rsi + 0x20], 8
cmp qword [rsi], 0
je 0x140014f10
mov al, byte [rsi + 0x34]
cmp qword [rsi + 0x10], 0
je 0x140017ad0
cmp qword [rsi + 0x18], 0
je 0x140017ad0
cmp dword [rsi + 8], 0
je 0x140017ad0
test al, al
je 0x140017ad0
mov rax, qword [rbx]
mov ecx, dword [rbx + 0x10]
add rcx, qword [rax + 0x40]
call qword [sym.imp.KERNEL32.dll_EncodePointer]
mov ecx, dword [rsi + 0x20]
lea edx, [rcx + 8]
cmp qword [rsi], 0
mov qword [rsp + 0x48], rdi
je 0x14001632d
cmp edx, dword [rsi + 0x30]
ja 0x140016335
mov rdx, qword [rsi + 0x10]
mov qword [rdx + rcx], rax
add dword [rsi + 0x20], 8
cmp qword [rsi], 0
je 0x140014f7b
mov al, byte [rsi + 0x34]
cmp qword [rsi + 0x10], 0
je 0x140017ac9
cmp qword [rsi + 0x18], 0
je 0x140017ac9
cmp dword [rsi + 8], 0
je 0x140017ac9
test al, al
je 0x140017ac9
mov rcx, qword [rbx]
mov edx, dword [rbx + 0x10]
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014f96
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x48
jne 0x140014fc4
inc edx
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014fb6
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0xb8
je 0x140015a37
mov eax, dword [rsi + 0x20]
mov dword [rsi + 0x24], eax
mov dword [rsi + 0x28], eax
cmp byte [r14 + 0x34], 0
je 0x14001636b
mov eax, dword [r14 + 0x30]
and eax, 2
mov r8d, eax
shr r8d, 1
xor ecx, ecx
test eax, eax
sete cl
lea r15d, [rcx + rcx*2]
add r15d, 0xa
mov edx, dword [rbx + 0x10]
cmp edx, r15d
mov dword [rsp + 0x40], r8d
jae 0x140015deb
xor r13d, r13d
mov edi, edx
mov dword [rsp + 0x30], r15d
mov r14, qword [rbx]
mov rcx, r14
mov edx, edi
test r13b, 1
jne 0x140015e48
mov rcx, r14
mov edx, edi
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001503b
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xf
je 0x140015ea8
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001505d
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x88
jae 0x14001563c
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001507f
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x40
je 0x1400154ed
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400150a1
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x41
je 0x1400154ed
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400150c3
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x44
je 0x140015ff1
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400150e5
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x45
je 0x1400160aa
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015107
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xfa
cmp al, 0x48
je 0x1400151e3
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001512c
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x66
je 0x140016194
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001514e
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xf0
cmp al, 0x50
jne 0x140015663
add rdx, qword [rcx + 0x40]
mov r8d, dword [rsi + 0x20]
lea ecx, [r8 + 1]
cmp r8d, dword [rsi + 0x28]
jne 0x140015173
mov dword [rsi + 0x28], ecx
mov rax, qword [rsi]
test rax, rax
je 0x14001618c
cmp ecx, dword [rsi + 0x30]
ja 0x140015e36
cmp qword [rax], 0
je 0x140015e36
add r8, qword [rsi + 0x10]
mov qword [rsp + 0x60], 0
mov rcx, qword [rax]
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov r9d, 1
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x140015e36
cmp qword [rsp + 0x60], 1
jne 0x140015e36
inc dword [rsi + 0x20]
inc dword [rbx + 0x10]
mov edi, dword [rbx + 0x10]
cmp edi, r15d
jb 0x14001500f
jmp 0x14001583c
add rdx, qword [rcx + 0x40]
mov r8d, dword [rsi + 0x20]
lea ecx, [r8 + 1]
cmp r8d, dword [rsi + 0x28]
jne 0x1400151f8
mov dword [rsi + 0x28], ecx
mov rax, qword [rsi]
test rax, rax
je 0x1400162a2
cmp ecx, dword [rsi + 0x30]
ja 0x140015e3f
cmp qword [rax], 0
je 0x140015e3f
add r8, qword [rsi + 0x10]
mov qword [rsp + 0x60], 0
mov rcx, qword [rax]
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov r9d, 1
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x140015e3f
cmp qword [rsp + 0x60], 1
jne 0x140015e3f
inc dword [rsi + 0x20]
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.140017b70
mov rcx, qword [rbx]
mov rdx, qword [rcx + 0x10]
test rdx, rdx
je 0x140015274
mov rdx, qword [rcx + 8]
mov eax, dword [rbx + 0x10]
cmp byte [rdx + rax], 0x81
je 0x140015593
mov edx, eax
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015298
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
je 0x140016381
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400152ba
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
je 0x1400163ab
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400152dc
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
je 0x1400163f3
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400152fe
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x2b
je 0x14001644a
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015320
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x85
je 0x14001648f
call fcn.140017b70
mov rdi, qword [rbx]
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x140015342
mov rax, qword [rdi + 8]
mov qword [rsp + 0x38], r13
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xfd
cmp al, 0x89
jne 0x140016648
lea r14d, [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, [0x140053420]
mov qword [r13], rax
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, r14
mov qword [r13 + 0x50], rcx
mov r15, qword [rdi + 0x10]
cmp r15, r14
jbe 0x1400153f5
mov rbp, qword [rdi + 8]
lea rdi, [r15 + rbp]
add rbp, r14
mov r12, rdi
sub r12, rbp
cmp r12, 0x21
jae 0x1400166a6
xor ecx, ecx
cmp r15, r14
jle 0x1400153ee
add rax, rcx
mov cl, byte [rbp]
mov byte [rax], cl
inc rbp
inc rax
cmp rbp, rdi
jb 0x1400153da
mov rcx, qword [r13 + 0x20]
add rcx, r12
mov qword [r13 + 0x20], rcx
lea rdi, [r13 + 8]
lea rax, [r13 + 0x10]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], r13
mov dword [rsp + 0x70], 0
lea rcx, [rsp + 0x60]
lea rdx, [rsp + 0x58]
call fcn.140018130
mov ebp, eax
lock dec dword [rdi]
jne 0x140015452
mov rdi, r13
add rdi, 0xc
mov rax, qword [r13]
mov rax, qword [rax]
mov rcx, r13
call qword [0x140068010]
lock dec dword [rdi]
jne 0x140015452
mov rax, qword [r13]
mov rax, qword [rax + 8]
mov rcx, r13
call qword [0x140068010]
test ebp, ebp
mov r12, qword [rsp + 0x178]
mov r15d, dword [rsp + 0x30]
js 0x1400164c1
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
mov r8d, dword [rsi + 0x20]
lea ecx, [r8 + rbp]
inc ecx
cmp r8d, dword [rsi + 0x28]
jne 0x140015484
mov dword [rsi + 0x28], ecx
inc ebp
mov rax, qword [rsi]
test rax, rax
je 0x1400166c7
cmp ecx, dword [rsi + 0x30]
ja 0x140015fe8
cmp qword [rax], 0
je 0x140015fe8
add r8, qword [rsi + 0x10]
mov edi, ebp
mov qword [rsp + 0x60], 0
mov rcx, qword [rax]
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov r9, rdi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x140015fe8
cmp qword [rsp + 0x60], rdi
jne 0x140015fe8
add dword [rsi + 0x20], ebp
add dword [rbx + 0x10], ebp
mov r13, qword [rsp + 0x38]
jmp 0x1400151d2
add rdx, qword [rcx + 0x40]
mov r8d, dword [rsi + 0x20]
lea ecx, [r8 + 1]
cmp r8d, dword [rsi + 0x28]
jne 0x140015502
mov dword [rsi + 0x28], ecx
mov rax, qword [rsi]
test rax, rax
je 0x140016742
cmp ecx, dword [rsi + 0x30]
ja 0x140016134
cmp qword [rax], 0
je 0x140016134
add r8, qword [rsi + 0x10]
mov qword [rsp + 0x60], 0
mov rcx, qword [rax]
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov r9d, 1
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x140016134
cmp qword [rsp + 0x60], 1
jne 0x140016134
inc dword [rsi + 0x20]
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001557e
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xf0
cmp al, 0x50
je 0x14001515e
jmp 0x14001674a
lea edx, [rax + 1]
call fcn.140017b70
mov rcx, qword [rbx]
mov rdx, qword [rcx + 0x10]
test rdx, rdx
je 0x1400155ab
mov rdx, qword [rcx + 8]
mov eax, dword [rbx + 0x10]
mov dl, byte [rdx + rax + 1]
and dl, 0xf8
cmp dl, 0xe8
jne 0x140015281
mov rdx, qword [rcx + 0x40]
add rdx, rax
mov r8d, dword [rsi + 0x20]
lea ecx, [r8 + 6]
cmp r8d, dword [rsi + 0x28]
jne 0x1400155d6
mov dword [rsi + 0x28], ecx
mov rax, qword [rsi]
test rax, rax
je 0x140016852
cmp ecx, dword [rsi + 0x30]
ja 0x14001613d
cmp qword [rax], 0
je 0x14001613d
add r8, qword [rsi + 0x10]
mov qword [rsp + 0x60], 0
mov rcx, qword [rax]
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov r9d, 6
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x14001613d
cmp qword [rsp + 0x60], 6
jne 0x14001613d
add dword [rsi + 0x20], 6
add dword [rbx + 0x10], 6
jmp 0x1400151d2
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015651
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x8b
ja 0x14001506a
jmp 0x14001685a
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015678
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x65
je 0x140016879
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001569a
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x80
je 0x14001692b
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400156bc
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x90
je 0x140016168
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400156de
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xf8
cmp al, 0xb8
jne 0x140015713
add rdx, qword [rcx + 0x40]
mov eax, dword [rsi + 0x20]
cmp eax, dword [rsi + 0x28]
jne 0x1400156fc
add eax, 5
mov dword [rsi + 0x28], eax
mov rcx, rsi
mov r8d, 5
call fcn.140017e50
add dword [rbx + 0x10], 5
jmp 0x1400151d2
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015728
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x33
je 0x140016bac
call fcn.140017b70
mov rdi, qword [rbx]
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x14001574a
mov rax, qword [rdi + 8]
mov qword [rsp + 0x38], r13
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xf6
jne 0x140016bb5
mov byte [rsp + 0x58], 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, [0x140053420]
mov qword [r14], rax
lea r13, [r14 + 0x10]
mov rcx, r13
mov rdx, rdi
mov r8d, ebp
call fcn.140018080
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x68], r14
mov dword [rsp + 0x70], 0
lea rcx, [rsp + 0x60]
lea rdx, [rsp + 0x58]
call fcn.140018130
mov edi, eax
lock dec dword [r14 + 8]
jne 0x1400157f2
mov r15, r14
add r15, 0xc
mov rax, qword [r14]
mov rax, qword [rax]
mov rcx, r14
call qword [0x140068010]
lock dec dword [r15]
jne 0x1400157f2
mov rax, qword [r14]
mov rax, qword [rax + 8]
mov rcx, r14
call qword [0x140068010]
test edi, edi
mov r13, qword [rsp + 0x38]
js 0x140017ac9
cmp byte [rsp + 0x58], 0
jne 0x140017ac9
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
add edi, 2
mov eax, dword [rsi + 0x20]
cmp eax, dword [rsi + 0x28]
mov r15d, dword [rsp + 0x30]
jne 0x140015829
add eax, edi
mov dword [rsi + 0x28], eax
mov rcx, rsi
mov r8d, edi
call fcn.140017e50
add dword [rbx + 0x10], edi
jmp 0x1400151d2
mov edx, edi
cmp edx, 0x64
ja 0x140017ac9
test r13b, 1
jne 0x14001586c
mov rax, qword [rbx]
mov edx, edx
add rdx, qword [rax + 0x40]
mov rcx, rsi
mov r8d, 3
call fcn.140018310
test al, al
je 0x140017ac9
cmp byte [rsi + 0x34], 0
je 0x140017ac9
cmp qword [rsi], 0
je 0x140017ac9
mov eax, dword [rsi + 0x20]
mov r15d, dword [rsi + 0x24]
mov dword [rsi + 0x2c], eax
add r15, qword [rsi + 0x18]
je 0x140017ac9
mov r9d, dword [rbx + 0x10]
test r9, r9
je 0x140016376
mov rax, qword [rbx]
mov rdx, qword [rax]
mov r8, qword [rax + 0x40]
lea r14, [rsp + 0x98]
mov qword [r14 - 0x38], rdx
mov qword [r14 - 0x30], r8
mov qword [r14 - 0x28], r9
xor edi, edi
mov qword [r14 - 0x20], rdi
mov qword [r14 - 0x10], rdi
mov qword [r14 - 8], 0x20
mov qword [r14 - 0x18], r14
mov byte [r14 + 0x20], 1
lea rbx, [rsp + 0xc0]
mov rcx, rbx
call fcn.140017ee0
cmp qword [rbx + 0x10], rdi
je 0x140017a9b
cmp byte [rsp + 0xb8], 0
je 0x140017a9b
cmp byte [rsp + 0x40], 0
jne 0x140016522
lea rdi, [rsp + 0x80]
mov rax, qword [rdi + 8]
cmp rax, qword [rdi + 0x10]
je 0x14001654c
mov rcx, qword [rsp + 0x80]
mov byte [rcx + rax], 0x49
mov rax, qword [rsp + 0x88]
inc rax
mov qword [rsp + 0x88], rax
inc dword [rsp + 0x78]
cmp rax, qword [rsp + 0x90]
je 0x140016576
mov rcx, qword [rsp + 0x80]
mov byte [rcx + rax], 0xbb
mov rax, qword [rsp + 0x88]
inc rax
mov qword [rsp + 0x88], rax
inc dword [rsp + 0x78]
lea rcx, [rax + 8]
cmp rcx, qword [rsp + 0x90]
ja 0x1400165a0
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x170]
mov qword [rcx + rax], rdx
mov rax, qword [rsp + 0x88]
add rax, 8
mov qword [rsp + 0x88], rax
add dword [rsp + 0x78], 8
cmp rax, qword [rsp + 0x90]
je 0x1400165ca
mov rcx, qword [rsp + 0x80]
mov byte [rcx + rax], 0x41
mov rax, qword [rsp + 0x88]
inc rax
mov qword [rsp + 0x88], rax
inc dword [rsp + 0x78]
cmp rax, qword [rsp + 0x90]
je 0x1400165f4
mov rcx, qword [rsp + 0x80]
mov byte [rcx + rax], 0xff
mov rax, qword [rsp + 0x88]
inc rax
mov qword [rsp + 0x88], rax
inc dword [rsp + 0x78]
cmp rax, qword [rsp + 0x90]
je 0x14001661e
mov rcx, qword [rsp + 0x80]
mov byte [rcx + rax], 0xe3
jmp 0x1400179b4
add edx, 0xa
call fcn.140017b70
mov rbp, qword [rbx]
mov rax, qword [rbp + 0x10]
test rax, rax
je 0x140015a4f
mov rax, qword [rbp + 8]
mov r13d, dword [rbx + 0x10]
cmp byte [rax + r13 + 0xa], 0xff
jne 0x1400166cf
lea edx, [r13 + 0xb]
mov rcx, rbp
call fcn.140017b70
mov rbp, qword [rbx]
mov rax, qword [rbp + 0x10]
test rax, rax
je 0x140015a7b
mov rax, qword [rbp + 8]
mov r13d, dword [rbx + 0x10]
cmp byte [rax + r13 + 0xb], 0xe0
jne 0x1400166cf
mov qword [rsp + 0x38], r14
add r13d, 2
mov ecx, 0x58
call qword [sym.imp.mozglue.dll_moz_xmalloc]
mov r12, rax
add rax, 8
mov qword [rsp + 0x30], rax
movabs rax, 0x100000001
mov qword [r12 + 8], rax
lea rax, [0x140053420]
mov qword [r12], rax
lea rdx, [r12 + 0x10]
mov rax, qword [rbp]
mov qword [r12 + 0x10], rax
lea rax, [r12 + 0x18]
mov qword [rsp + 0x40], 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 r14, qword [rbp + 0x10]
cmp r14, r13
jbe 0x140015b50
mov r15, qword [rbp + 8]
lea rbp, [r15 + r14]
add r15, r13
mov rdi, rbp
sub rdi, r15
cmp rdi, 0x21
jae 0x140016ab3
xor ecx, ecx
cmp r14, r13
jle 0x140015b48
add rax, rcx
mov cl, byte [r15]
mov byte [rax], cl
inc r15
inc rax
cmp r15, rbp
jb 0x140015b33
mov rcx, qword [r12 + 0x20]
add rcx, rdi
mov qword [r12 + 0x20], rcx
mov rcx, rdx
mov edx, 8
call fcn.140017b70
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
mov r13, qword [rax]
mov rax, qword [rsp + 0x30]
lock dec dword [rax]
jne 0x140015b9f
mov rdi, r12
add rdi, 0xc
mov rax, qword [r12]
mov rax, qword [rax]
mov rcx, r12
call qword [0x140068010]
lock dec dword [rdi]
jne 0x140015b9f
mov rax, qword [r12]
mov rax, qword [rax + 8]
mov rcx, r12
call qword [0x140068010]
mov r15, qword [rbx]
mov r14, qword [r15 + 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 0x140015df3
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 0x140016ae1
mov rcx, qword [rbx]
mov r12, qword [rsp + 0x178]
mov rdx, qword [rcx]
mov r8, qword [rcx + 0x40]
add r8, 2
lea rax, [rsp + 0x98]
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 + 0xc0]
mov r9d, 8
mov rcx, rdi
call fcn.140017ee0
cmp qword [rdi + 0x10], r14
je 0x140015d9e
cmp byte [rsp + 0xb8], 0
je 0x140015d9e
mov rax, qword [rsp + 0x88]
lea rcx, [rax + 8]
cmp rcx, qword [rsp + 0x90]
ja 0x140016b4c
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x170]
mov qword [rcx + rax], rdx
mov rdi, qword [rsp + 0x88]
add rdi, 8
mov qword [rsp + 0x88], rdi
add dword [rsp + 0x78], 8
xor r14d, r14d
cmp qword [rsp + 0xd0], 0
je 0x140015d9e
cmp byte [rsp + 0xb8], 0
je 0x140015d9e
test rdi, rdi
je 0x140015d4e
mov rax, qword [rsp + 0x60]
cmp qword [rax], 0
je 0x140016b7b
mov edx, dword [rsp + 0x7c]
add rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x80]
lea r9, [rsp + 0x58]
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 0x140015d9e
cmp qword [rsp + 0x58], rdi
jne 0x140015d9e
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
xor edx, edx
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [rsp + 0x88]
add dword [rsp + 0x7c], eax
mov qword [rsp + 0x88], 0
mov eax, dword [rsi + 0x20]
lea ecx, [rax + 8]
cmp qword [rsi], 0
je 0x140016b83
cmp ecx, dword [rsi + 0x30]
ja 0x140016b8b
mov rcx, qword [rsi + 0x10]
mov qword [rcx + rax], r13
add dword [rsi + 0x20], 8
cmp qword [rsi], 0
je 0x140015d97
mov al, byte [rsi + 0x34]
xor r14d, r14d
cmp qword [rsi + 0x10], 0
je 0x140015d9e
cmp qword [rsi + 0x18], 0
je 0x140015d9e
cmp dword [rsi + 8], 0
je 0x140015d9e
test al, al
je 0x140015d9e
mov qword [r12], r13
mov r14b, 1
lea rdi, [rsp + 0xc0]
mov rcx, rdi
call fcn.140017d50
mov rcx, qword [rdi + 8]
lea rax, [rsp + 0xe0]
cmp rcx, rax
jne 0x140016b96
lea rax, [rsp + 0x98]
mov rcx, qword [rax - 0x18]
cmp rcx, rax
jne 0x140016ba1
test r14b, r14b
mov r14, qword [rsp + 0x38]
jne 0x140017ac9
jmp 0x140014fc4
xor r13d, r13d
jmp 0x14001583e
lea rcx, [0x140064af4]
call fcn.14002de38
cmp dword [0x140064af4], 0xffffffff
jne 0x140015bcf
lea r12, [rsp + 0x60]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [r12 + 4]
mov dword [0x140064af0], eax
lea rcx, [0x140064af4]
call fcn.14002ddd8
jmp 0x140015bcf
mov byte [rsi + 0x34], 0
jmp 0x1400151cf
mov byte [rsi + 0x34], 0
jmp 0x140015254
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015e5d
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x90
je 0x140015e88
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015e7b
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xcc
jne 0x140015fa3
inc edx
mov dword [rbx + 0x10], edx
mov r15d, dword [rsp + 0x30]
cmp edx, r15d
mov r12, qword [rsp + 0x178]
jb 0x140015017
jmp 0x14001583e
add rdx, qword [rcx + 0x40]
mov eax, dword [rsi + 0x20]
cmp eax, dword [rsi + 0x28]
jne 0x140015eb9
inc eax
mov dword [rsi + 0x28], eax
mov rcx, rsi
mov r8d, 1
call fcn.140017e50
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015ee7
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x1f
jne 0x140016146
add rdx, qword [rcx + 0x40]
mov eax, dword [rsi + 0x20]
cmp eax, dword [rsi + 0x28]
jne 0x140015f05
inc eax
mov dword [rsi + 0x28], eax
mov rcx, rsi
mov r8d, 1
call fcn.140017e50
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015f33
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 + 0x178]
jne 0x140017ac9
call fcn.140017b70
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140015f60
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 + 0x178]
jne 0x140017ac9
add rdx, qword [rax + 0x40]
mov eax, dword [rsi + 0x20]
cmp eax, dword [rsi + 0x28]
jne 0x140015f8c
add eax, 3
mov dword [rsi + 0x28], eax
mov rcx, rsi
mov r8d, 3
call fcn.140017e50
add dword [rbx + 0x10], 3
jmp 0x140016122
cmp qword [rsp + 0x48], 0
mov r12, qword [rsp + 0x178]
je 0x140017ac9
cmp edx, 0xa
jb 0x140017ac9
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov ecx, dword [rax + 0x20]
add rcx, qword [rax + 0x18]
mov al, 1
mov dword [rsp + 0x40], eax
mov eax, 0x80000001
cmp rcx, rax
jb 0x14001583e
jmp 0x140017ac9
mov byte [rsi + 0x34], 0
jmp 0x1400154e0
add rdx, qword [rcx + 0x40]
mov eax, dword [rsi + 0x20]
cmp eax, dword [rsi + 0x28]
jne 0x140016002
inc eax
mov dword [rsi + 0x28], eax
mov rcx, rsi
mov r8d, 1
call fcn.140017e50
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.140017b70
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140016030
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx], 0x89
mov r12, qword [rsp + 0x178]
jne 0x140017ac9
add rdx, qword [rax + 0x40]
mov eax, dword [rsi + 0x20]
cmp eax, dword [rsi + 0x28]
jne 0x140016056
inc eax
mov dword [rsi + 0x28], eax
mov rcx, rsi
mov r8d, 1
call fcn.140017e50
inc dword [rbx + 0x10]
mov rcx, rbx
xor edx, edx
call fcn.140018130
test eax, eax
mov r12, qword [rsp + 0x178]
js 0x140017ac9
mov edi, eax
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
mov eax, dword [rsi + 0x20]
cmp eax, dword [rsi + 0x28]
jne 0x14001609a
add eax, edi
mov dword [rsi + 0x28], eax
mov rcx, rsi
mov r8d, edi
call fcn.140017e50
add dword [rbx + 0x10], edi
jmp 0x140016122
add rdx, qword [rcx + 0x40]
mov eax, dword [rsi + 0x20]
cmp eax, dword [rsi + 0x28]
jne 0x1400160bb
inc eax
mov dword [rsi + 0x28], eax
mov rcx, rsi
mov r8d, 1
call fcn.140017e50
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.140017b70
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1400160e9
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx], 0x33
mov r12, qword [rsp + 0x178]
jne 0x140017ac9
add rdx, qword [rax + 0x40]
mov eax, dword [rsi + 0x20]
cmp eax, dword [rsi + 0x28]
jne 0x140016110
add eax, 2
mov dword [rsi + 0x28], eax
mov rcx, rsi
mov r8d, 2
call fcn.140017e50
add dword [rbx + 0x10], 2
mov r12, qword [rsp + 0x178]
mov r15d, dword [rsp + 0x30]
jmp 0x1400151d2
mov byte [rsi + 0x34], 0
jmp 0x14001555e
mov byte [rsi + 0x34], 0
jmp 0x140015633
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001615b
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 5
jne 0x140016340
add rdx, qword [rcx + 0x40]
mov eax, dword [rsi + 0x20]
cmp eax, dword [rsi + 0x28]
jne 0x140016179
inc eax
mov dword [rsi + 0x28], eax
mov rcx, rsi
mov r8d, 1
call fcn.140017e50
inc dword [rbx + 0x10]
jmp 0x140016122
mov dword [rsi + 0x20], ecx
jmp 0x1400151cf
add rdx, qword [rcx + 0x40]
mov eax, dword [rsi + 0x20]
cmp eax, dword [rsi + 0x28]
jne 0x1400161a5
inc eax
mov dword [rsi + 0x28], eax
mov rcx, rsi
mov r8d, 1
call fcn.140017e50
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400161d3
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x88
jb 0x1400162aa
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400161f5
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x8b
ja 0x1400162aa
inc edx
call fcn.140017b70
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140016219
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
movzx ecx, byte [rcx + rdx + 1]
mov r8d, ecx
and r8d, 0xffffffc0
mov r9d, 0xc0
cmp r8d, r9d
je 0x1400160fe
cmp r8d, 0x40
mov r12, qword [rsp + 0x178]
je 0x140016269
test r8d, r8d
jne 0x140017ac9
mov r9d, ecx
and r9d, 6
cmp r9d, 4
jne 0x1400160fe
cmp r8d, 0x40
jne 0x140017ac9
add rdx, qword [rax + 0x40]
and ecx, 7
mov eax, dword [rsi + 0x20]
mov r8d, dword [rsi + 0x28]
cmp ecx, 4
jne 0x140016ec1
cmp eax, r8d
jne 0x14001628b
add eax, 4
mov dword [rsi + 0x28], eax
mov rcx, rsi
mov r8d, 4
call fcn.140017e50
add dword [rbx + 0x10], 4
jmp 0x140016122
mov dword [rsi + 0x20], ecx
jmp 0x140015254
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400162bf
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x44
jne 0x140016122
inc edx
call fcn.140017b70
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1400162e3
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx + 1], 0x89
jne 0x140016122
add rdx, qword [rax + 0x40]
mov eax, dword [rsi + 0x20]
cmp eax, dword [rsi + 0x28]
jne 0x140016303
add eax, 2
mov dword [rsi + 0x28], eax
mov rcx, rsi
mov r8d, 2
call fcn.140017e50
add dword [rbx + 0x10], 2
jmp 0x140016067
mov dword [rsi + 0x20], edx
jmp 0x140014f10
mov byte [rsi + 0x34], 0
xor eax, eax
jmp 0x140014ee8
mov dword [rsi + 0x20], edx
jmp 0x140014f7b
mov byte [rsi + 0x34], 0
xor eax, eax
jmp 0x140014f53
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016355
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x10
jne 0x140016962
add rdx, qword [rcx + 0x40]
jmp 0x140016049
int3
int3
inc edx
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016398
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx + 1]
and al, 0xf8
cmp al, 0xe8
jne 0x1400152a5
jmp 0x1400163d3
inc edx
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400163c2
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx + 1]
and al, 0xf8
cmp al, 0xc0
jne 0x1400152c7
mov rax, qword [rcx + 0x40]
add rax, rdx
mov ecx, dword [rsi + 0x20]
cmp ecx, dword [rsi + 0x28]
jne 0x1400163e8
add ecx, 3
mov dword [rsi + 0x28], ecx
mov rcx, rsi
mov rdx, rax
jmp 0x140015f8f
inc edx
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001640a
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx + 1]
and al, 0xf8
cmp al, 0x60
jne 0x1400152e9
mov rax, qword [rcx + 0x40]
add rax, rdx
mov ecx, dword [rsi + 0x20]
cmp ecx, dword [rsi + 0x28]
jne 0x140016430
add ecx, 5
mov dword [rsi + 0x28], ecx
mov rcx, rsi
mov rdx, rax
mov r8d, 5
call fcn.140017e50
add dword [rbx + 0x10], 5
jmp 0x140016122
inc edx
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016461
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0xc0
jb 0x14001530b
mov rax, qword [rcx + 0x40]
add rax, rdx
mov ecx, dword [rsi + 0x20]
cmp ecx, dword [rsi + 0x28]
jne 0x140016484
add ecx, 2
mov dword [rsi + 0x28], ecx
mov rcx, rsi
mov rdx, rax
jmp 0x140016113
inc edx
call fcn.140017b70
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1400164a6
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx + 1], 0xc0
mov r12, qword [rsp + 0x178]
jae 0x1400160fe
jmp 0x140017ac9
cmp ebp, 0xfffffffe
jne 0x140017ac9
add dword [rbx + 0x10], 2
mov rcx, rbx
call fcn.1400337e0
mov r8b, byte [rsp + 0x58]
test r8b, r8b
je 0x140016dcd
cmp qword [rsi], 0
mov ecx, dword [rsi + 0x20]
je 0x140016e07
mov edx, dword [rsi + 0x30]
cmp ecx, edx
jae 0x140016e80
add r8b, 0xb8
mov rdx, qword [rsi + 0x10]
mov byte [rdx + rcx], r8b
mov ecx, dword [rsi + 0x20]
inc ecx
mov dword [rsi + 0x20], ecx
cmp qword [rsi], 0
je 0x140016e09
mov edx, dword [rsi + 0x30]
jmp 0x140016e84
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax]
lea r8, [rsp + 0x60]
mov rdx, r15
mov r9, qword [rsp + 0x170]
call fcn.140033910
test al, al
je 0x140017a9b
jmp 0x1400179f3
mov edx, 1
mov rcx, rdi
call fcn.140014840
test al, al
je 0x1400178c1
mov rax, qword [rsp + 0x88]
mov r12, qword [rsp + 0x178]
jmp 0x140015923
mov edx, 1
mov rcx, rdi
call fcn.140014840
test al, al
je 0x1400178de
mov rax, qword [rsp + 0x88]
mov r12, qword [rsp + 0x178]
jmp 0x140015954
mov edx, 8
mov rcx, rdi
call fcn.140014840
test al, al
je 0x1400178fb
mov rax, qword [rsp + 0x88]
mov r12, qword [rsp + 0x178]
jmp 0x140015989
mov edx, 1
mov rcx, rdi
call fcn.140014840
test al, al
je 0x140017918
mov rax, qword [rsp + 0x88]
mov r12, qword [rsp + 0x178]
jmp 0x1400159c4
mov edx, 1
mov rcx, rdi
call fcn.140014840
test al, al
je 0x140017935
mov rax, qword [rsp + 0x88]
mov r12, qword [rsp + 0x178]
jmp 0x1400159f5
mov edx, 1
mov rcx, rdi
call fcn.140014840
test al, al
je 0x140017b25
mov rax, qword [rsp + 0x88]
mov r12, qword [rsp + 0x178]
jmp 0x140015a26
mov rcx, rdi
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016660
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xf8
cmp al, 0xb8
jne 0x140016a3b
add rdx, qword [rcx + 0x40]
mov eax, dword [rsi + 0x20]
cmp eax, dword [rsi + 0x28]
jne 0x140016682
add eax, 9
mov dword [rsi + 0x28], eax
mov rcx, rsi
mov r8d, 9
call fcn.140017e50
add dword [rbx + 0x10], 9
mov r12, qword [rsp + 0x178]
mov r15d, dword [rsp + 0x30]
jmp 0x1400154e3
lea rcx, [r13 + 0x18]
mov rdx, r12
call fcn.140014840
test al, al
je 0x1400153f5
mov rax, qword [r13 + 0x18]
mov rcx, qword [r13 + 0x20]
jmp 0x1400153d2
mov dword [rsi + 0x20], ecx
jmp 0x1400154e0
mov rdi, r14
add r13d, 0xa
mov rcx, rbp
mov edx, r13d
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400166f1
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 0xa], 0x50
mov r12, qword [rsp + 0x178]
mov r14, rdi
jne 0x140014fc4
add edx, 0xb
call fcn.140017b70
mov rbp, qword [rbx]
mov rax, qword [rbp + 0x10]
test rax, rax
je 0x140016722
mov rax, qword [rbp + 8]
mov r13d, dword [rbx + 0x10]
cmp byte [rax + r13 + 0xb], 0xc3
mov r12, qword [rsp + 0x178]
mov r14, rdi
jne 0x140014fc4
jmp 0x140015a8b
mov dword [rsi + 0x20], ecx
jmp 0x14001555e
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001675f
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xb8
jb 0x14001678a
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001677d
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xbf
jbe 0x14001641b
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001679f
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x8b
jne 0x1400167cd
inc edx
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400167bf
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0xc0
jae 0x14001646f
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400167e2
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xf7
mov r12, qword [rsp + 0x178]
jne 0x140017ac9
inc edx
call fcn.140017b70
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x14001680e
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 + 0x178]
jne 0x140017ac9
add rdx, qword [rax + 0x40]
mov eax, dword [rsi + 0x20]
cmp eax, dword [rsi + 0x28]
jne 0x14001683b
add eax, 6
mov dword [rsi + 0x28], eax
mov rcx, rsi
mov r8d, 6
call fcn.140017e50
add dword [rbx + 0x10], 6
jmp 0x140016122
mov dword [rsi + 0x20], ecx
jmp 0x140015633
mov rax, qword [rcx + 0x40]
add rax, rdx
mov ecx, dword [rsi + 0x20]
cmp ecx, dword [rsi + 0x28]
jne 0x14001686e
inc ecx
mov dword [rsi + 0x28], ecx
mov rcx, rsi
mov rdx, rax
jmp 0x140016059
inc edx
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016890
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0x48
mov r12, qword [rsp + 0x178]
jne 0x140017ac9
add edx, 2
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400168be
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 2], 0x88
mov r12, qword [rsp + 0x178]
jb 0x140017ac9
add edx, 2
call fcn.140017b70
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1400168ec
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx + 2], 0x8b
mov r12, qword [rsp + 0x178]
ja 0x140017ac9
add rdx, qword [rax + 0x40]
mov eax, dword [rsi + 0x20]
cmp eax, dword [rsi + 0x28]
jne 0x140016914
add eax, 3
mov dword [rsi + 0x28], eax
mov rcx, rsi
mov r8d, 3
call fcn.140017e50
add dword [rbx + 0x10], 3
jmp 0x140016067
inc edx
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016942
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0x3d
je 0x1400172cb
mov r12, qword [rsp + 0x178]
mov r15d, dword [rsp + 0x30]
jmp 0x1400156a7
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016977
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x11
je 0x140016362
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016999
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
mov r12, qword [rsp + 0x178]
jb 0x140017ac9
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400169c3
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x85
mov r12, qword [rsp + 0x178]
ja 0x140017ac9
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400169ed
mov rax, qword [rcx + 8]
mov ecx, dword [rbx + 0x10]
movzx eax, byte [rax + rcx]
lea rdx, [0x140055b38]
mov edi, dword [rdx + rax*4 - 0x20c]
lea eax, [rcx + 1]
mov dword [rbx + 0x10], eax
dec dword [rsi + 0x20]
mov rcx, rbx
call fcn.1400337e0
mov rcx, rsi
mov rdx, rax
mov r8d, edi
call fcn.140018310
test al, al
mov r12, qword [rsp + 0x178]
mov r15d, dword [rsp + 0x30]
jne 0x1400151d2
jmp 0x140017ac9
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016a50
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xc7
jne 0x140016ca0
inc edx
call fcn.140017b70
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140016a74
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx + 1], 0x44
mov r12, qword [rsp + 0x178]
jne 0x140017ac9
add rdx, qword [rax + 0x40]
mov eax, dword [rsi + 0x20]
cmp eax, dword [rsi + 0x28]
jne 0x140016a9c
add eax, 8
mov dword [rsi + 0x28], eax
mov rcx, rsi
mov r8d, 8
call fcn.140017e50
add dword [rbx + 0x10], 8
jmp 0x140016694
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x50], rdx
mov rdx, rdi
call fcn.140014840
mov rdx, qword [rsp + 0x50]
test al, al
je 0x140015b50
mov rax, qword [r12 + 0x18]
mov rcx, qword [r12 + 0x20]
jmp 0x140015b2b
mov rax, qword [r15]
mov rcx, qword [rax]
mov rdx, rdi
call fcn.140033f90
mov rcx, qword [rbx]
test al, al
jne 0x140015bf5
mov rax, qword [rcx]
lea rcx, [rsp + 0x98]
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 + 0xe0]
mov qword [rax - 0x18], rax
jmp 0x14001795d
lea rcx, [rsp + 0x80]
mov edx, 8
call fcn.140014840
test al, al
je 0x140017952
mov rax, qword [rsp + 0x88]
mov r12, qword [rsp + 0x178]
jmp 0x140015c83
xor r14d, r14d
jmp 0x140015d9e
mov dword [rsi + 0x20], ecx
jmp 0x140015d97
mov byte [rsi + 0x34], 0
xor eax, eax
jmp 0x140015d7c
call qword [sym.imp.mozglue.dll_free]
jmp 0x140015dc3
call qword [sym.imp.mozglue.dll_free]
jmp 0x140015dd8
add rdx, qword [rcx + 0x40]
jmp 0x140016102
mov rcx, rdi
call fcn.140017b70
mov rdi, qword [rbx]
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x140016bcd
mov rax, qword [rdi + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x85
jne 0x140016e1a
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, [0x140053420]
mov qword [r14], rax
lea r13, [r14 + 0x10]
mov rcx, r13
mov rdx, rdi
mov r8d, ebp
call fcn.140018080
lea rcx, [rsp + 0x60]
mov qword [rcx], r13
mov qword [rcx + 8], r14
mov dword [rcx + 0x10], 0
xor edx, edx
call fcn.140018130
mov edi, eax
lock dec dword [r14 + 8]
jne 0x140016c64
mov r15, r14
add r15, 0xc
mov rax, qword [r14]
mov rax, qword [rax]
mov rcx, r14
call qword [0x140068010]
lock dec dword [r15]
jne 0x140016c64
mov rax, qword [r14]
mov rax, qword [rax + 8]
mov rcx, r14
call qword [0x140068010]
test edi, edi
mov r12, qword [rsp + 0x178]
js 0x140017ac9
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
inc edi
mov eax, dword [rsi + 0x20]
cmp eax, dword [rsi + 0x28]
jne 0x140016c8d
add eax, edi
mov dword [rsi + 0x28], eax
mov rcx, rsi
mov r8d, edi
call fcn.140017e50
add dword [rbx + 0x10], edi
jmp 0x140016694
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016cb5
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xff
je 0x140016f6a
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016cd7
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x8d
jne 0x1400170f3
inc edx
call fcn.140017b70
mov rdi, qword [rbx]
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x140016cfb
mov rax, qword [rdi + 8]
mov r13d, dword [rbx + 0x10]
cmp byte [rax + r13 + 1], 0x3f
ja 0x140016d36
lea edx, [r13 + 1]
mov rcx, rdi
call fcn.140017b70
mov rdi, qword [rbx]
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x140016d23
mov rax, qword [rdi + 8]
mov r13d, dword [rbx + 0x10]
mov al, byte [rax + r13 + 1]
and al, 7
cmp al, 5
je 0x1400177f4
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, [0x140053420]
mov qword [r14], rax
lea rbp, [r14 + 0x10]
mov rcx, rbp
mov rdx, rdi
mov r8d, r13d
call fcn.140018080
lea rcx, [rsp + 0x60]
mov qword [rcx], rbp
mov qword [rcx + 8], r14
mov dword [rcx + 0x10], 0
xor edx, edx
call fcn.140018130
mov edi, eax
lock dec dword [r14 + 8]
jne 0x140016c74
mov r15, r14
add r15, 0xc
mov rax, qword [r14]
mov rax, qword [rax]
mov rcx, r14
call qword [0x140068010]
lock dec dword [r15]
jne 0x140016c74
mov rax, qword [r14]
mov rax, qword [rax + 8]
mov rcx, r14
call qword [0x140068010]
jmp 0x140016c74
cmp qword [rsi], 0
mov ecx, dword [rsi + 0x20]
je 0x14001784b
mov edx, dword [rsi + 0x30]
cmp ecx, edx
jae 0x140017855
mov rdx, qword [rsi + 0x10]
mov byte [rdx + rcx], 0xa1
mov ecx, dword [rsi + 0x20]
inc ecx
mov dword [rsi + 0x20], ecx
cmp qword [rsi], 0
je 0x14001784d
mov edx, dword [rsi + 0x30]
jmp 0x140017859
inc ecx
add ecx, 8
inc ecx
inc ecx
inc ecx
mov dword [rsi + 0x20], ecx
jmp 0x140016694
mov rcx, rdi
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016e32
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xd1
jne 0x140016ecf
inc edx
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016e56
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0xc0
jb 0x140016ecf
mov rax, qword [rcx + 0x40]
add rax, rdx
mov ecx, dword [rsi + 0x20]
cmp ecx, dword [rsi + 0x28]
jne 0x140016e75
add ecx, 2
mov dword [rsi + 0x28], ecx
mov rcx, rsi
mov rdx, rax
jmp 0x14001715f
mov byte [rsi + 0x34], 0
lea r8d, [rcx + 8]
cmp r8d, edx
jbe 0x140016f45
mov byte [rsi + 0x34], 0
cmp ecx, edx
jae 0x14001706d
mov rax, qword [rsi + 0x10]
mov ecx, ecx
mov byte [rax + rcx], 0x48
mov ecx, dword [rsi + 0x20]
inc ecx
mov dword [rsi + 0x20], ecx
cmp qword [rsi], 0
je 0x140016e0e
mov edx, dword [rsi + 0x30]
jmp 0x140017071
cmp eax, r8d
je 0x140015f86
jmp 0x140015f8c
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016ee4
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
jne 0x1400170aa
inc edx
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016f08
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0xc0
jb 0x1400170aa
mov rax, qword [rcx + 0x40]
add rax, rdx
mov ecx, dword [rsi + 0x20]
cmp ecx, dword [rsi + 0x28]
jne 0x140016f2b
add ecx, 3
mov dword [rsi + 0x28], ecx
mov rcx, rsi
mov rdx, rax
mov r8d, 3
call fcn.140017e50
add dword [rbx + 0x10], 3
jmp 0x140016694
mov rdx, qword [rsi + 0x10]
mov ecx, ecx
mov qword [rdx + rcx], rax
mov ecx, dword [rsi + 0x20]
add ecx, 8
mov dword [rsi + 0x20], ecx
cmp qword [rsi], 0
je 0x140016e0c
mov edx, dword [rsi + 0x30]
jmp 0x140016e95
inc edx
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016f81
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0x3f
mov r12, qword [rsp + 0x178]
ja 0x140017ac9
inc edx
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016fae
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 + 0x178]
jne 0x140017ac9
inc edx
call fcn.140017b70
mov rcx, qword [rbx]
mov rdx, qword [rcx + 0x10]
test rdx, rdx
je 0x140016fde
mov rdx, qword [rcx + 8]
mov eax, dword [rbx + 0x10]
mov dl, byte [rdx + rax + 1]
and dl, 0x38
cmp dl, 0x20
je 0x140017020
lea edx, [rax + 1]
call fcn.140017b70
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140017005
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 + 0x178]
jne 0x140017ac9
add eax, 2
mov dword [rbx + 0x10], eax
dec dword [rsi + 0x20]
mov rcx, qword [rbx]
mov edx, dword [rbx + 0x10]
inc edx
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017046
mov rax, qword [rcx + 8]
mov ecx, dword [rbx + 0x10]
mov al, byte [rax + rcx + 1]
and al, 0x38
xor r13d, r13d
cmp al, 0x20
sete r13b
mov edi, 4
sub edi, r13d
mov rcx, rbx
call fcn.140033830
jmp 0x140016a13
mov byte [rsi + 0x34], 0
cmp ecx, edx
jae 0x140017173
mov rax, qword [rsi + 0x10]
mov ecx, ecx
mov byte [rax + rcx], 0x8b
mov ecx, dword [rsi + 0x20]
inc ecx
mov dword [rsi + 0x20], ecx
cmp qword [rsi], 0
je 0x140016e10
mov dl, byte [rsp + 0x58]
lea eax, [rdx*8]
or al, dl
mov edx, dword [rsi + 0x30]
jmp 0x140017187
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400170bf
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xc3
jne 0x1400171a0
add rdx, qword [rcx + 0x40]
mov eax, dword [rsi + 0x20]
cmp eax, dword [rsi + 0x28]
jne 0x1400170dd
inc eax
mov dword [rsi + 0x28], eax
mov rcx, rsi
mov r8d, 1
call fcn.140017e50
inc dword [rbx + 0x10]
jmp 0x140016694
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017108
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x63
mov r12, qword [rsp + 0x178]
jne 0x140017ac9
inc edx
call fcn.140017b70
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140017134
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx + 1], 0xc0
mov r12, qword [rsp + 0x178]
jb 0x140017ac9
add rdx, qword [rax + 0x40]
mov eax, dword [rsi + 0x20]
cmp eax, dword [rsi + 0x28]
jne 0x14001715c
add eax, 2
mov dword [rsi + 0x28], eax
mov rcx, rsi
mov r8d, 2
call fcn.140017e50
add dword [rbx + 0x10], 2
jmp 0x140016694
mov byte [rsi + 0x34], 0
mov r8b, byte [rsp + 0x58]
lea eax, [r8*8]
or al, r8b
cmp ecx, edx
jae 0x140017862
mov rdx, qword [rsi + 0x10]
mov ecx, ecx
mov byte [rdx + rcx], al
inc dword [rsi + 0x20]
jmp 0x140016694
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400171b5
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xcc
je 0x1400170cc
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400171d7
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xe8
je 0x14001787e
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400171f9
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xe9
je 0x14001787e
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001721b
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x73
jb 0x14001734c
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001723d
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x75
ja 0x14001734c
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001725f
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
movzx eax, byte [rax + rdx]
lea r8, [0x140055b38]
mov edi, dword [r8 + rax*4 - 0x1cc]
inc edx
call fcn.140017b70
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x14001728c
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 rcx, rsi
mov r8d, edi
call fcn.140018310
test al, al
mov r12, qword [rsp + 0x178]
mov r15d, dword [rsp + 0x30]
mov r13, qword [rsp + 0x38]
jne 0x1400151d2
jmp 0x140017ac9
lea eax, [rdx + 2]
mov dword [rbx + 0x10], eax
cmp qword [rsi], 0
mov eax, dword [rsi + 0x20]
jne 0x140017323
inc eax
inc eax
mov dword [rsi + 0x20], eax
mov rcx, rbx
call fcn.1400337e0
cmp qword [rsi], 0
mov ecx, dword [rsi + 0x20]
je 0x1400173e7
mov edx, dword [rsi + 0x30]
cmp ecx, edx
jae 0x140017453
mov rdx, qword [rsi + 0x10]
mov byte [rdx + rcx], 0x49
mov ecx, dword [rsi + 0x20]
inc ecx
mov dword [rsi + 0x20], ecx
cmp qword [rsi], 0
je 0x1400173e9
mov edx, dword [rsi + 0x30]
jmp 0x140017457
mov ecx, dword [rsi + 0x30]
cmp eax, ecx
jae 0x1400174dc
mov rcx, qword [rsi + 0x10]
mov byte [rcx + rax], 0x49
mov eax, dword [rsi + 0x20]
inc eax
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
je 0x1400172dc
mov ecx, dword [rsi + 0x30]
jmp 0x1400174e0
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017361
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xff
je 0x140017629
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017383
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
jne 0x140017521
inc edx
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400173a7
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx + 1]
and al, 0xf8
cmp al, 0x60
jne 0x140017521
mov rax, qword [rcx + 0x40]
add rax, rdx
mov ecx, dword [rsi + 0x20]
cmp ecx, dword [rsi + 0x28]
jne 0x1400173cd
add ecx, 5
mov dword [rsi + 0x28], ecx
mov rcx, rsi
mov rdx, rax
mov r8d, 5
call fcn.140017e50
add dword [rbx + 0x10], 5
jmp 0x140016694
inc ecx
inc ecx
add ecx, 8
inc ecx
inc ecx
inc ecx
mov dword [rsi + 0x20], ecx
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
cmp ecx, dword [rsi + 0x28]
jne 0x14001740b
inc ecx
mov dword [rsi + 0x28], ecx
mov rcx, rsi
mov r8d, 1
call fcn.140017e50
inc dword [rbx + 0x10]
cmp qword [rsi], 0
mov eax, dword [rsi + 0x20]
je 0x140017447
mov ecx, dword [rsi + 0x30]
cmp eax, ecx
jae 0x14001747c
mov rcx, qword [rsi + 0x10]
mov byte [rcx + rax], 0x49
mov eax, dword [rsi + 0x20]
inc eax
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
je 0x140017449
mov ecx, dword [rsi + 0x30]
jmp 0x140017480
inc eax
inc eax
mov dword [rsi + 0x20], eax
jmp 0x140016122
mov byte [rsi + 0x34], 0
cmp ecx, edx
jae 0x140017496
mov rdx, qword [rsi + 0x10]
mov ecx, ecx
mov byte [rdx + rcx], 0xbb
mov ecx, dword [rsi + 0x20]
inc ecx
mov dword [rsi + 0x20], ecx
cmp qword [rsi], 0
je 0x1400173eb
mov edx, dword [rsi + 0x30]
jmp 0x14001749a
mov byte [rsi + 0x34], 0
cmp eax, ecx
jae 0x1400174d3
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x5b
inc dword [rsi + 0x20]
jmp 0x140016122
mov byte [rsi + 0x34], 0
lea r8d, [rcx + 8]
cmp r8d, edx
jbe 0x1400174f6
mov byte [rsi + 0x34], 0
cmp ecx, edx
jae 0x1400175f9
mov rax, qword [rsi + 0x10]
mov ecx, ecx
mov byte [rax + rcx], 0x41
mov ecx, dword [rsi + 0x20]
inc ecx
mov dword [rsi + 0x20], ecx
cmp qword [rsi], 0
je 0x1400173f0
mov edx, dword [rsi + 0x30]
jmp 0x1400175fd
mov byte [rsi + 0x34], 0
jmp 0x140016122
mov byte [rsi + 0x34], 0
cmp eax, ecx
jae 0x140017518
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x53
inc dword [rsi + 0x20]
jmp 0x1400172e1
mov rdx, qword [rsi + 0x10]
mov ecx, ecx
mov qword [rdx + rcx], rax
mov ecx, dword [rsi + 0x20]
add ecx, 8
mov dword [rsi + 0x20], ecx
cmp qword [rsi], 0
je 0x1400173ee
mov edx, dword [rsi + 0x30]
jmp 0x1400174a7
mov byte [rsi + 0x34], 0
jmp 0x1400172e1
call fcn.140017b70
mov rdi, qword [rbx]
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x140017536
mov rax, qword [rdi + 8]
mov r13d, dword [rbx + 0x10]
cmp byte [rax + r13], 0xc6
mov r12, qword [rsp + 0x178]
jne 0x140017ac9
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, [0x140053420]
mov qword [r14], rax
lea rbp, [r14 + 0x10]
mov rcx, rbp
mov rdx, rdi
mov r8d, r13d
call fcn.140018080
lea rcx, [rsp + 0x60]
mov qword [rcx], rbp
mov qword [rcx + 8], r14
mov dword [rcx + 0x10], 0
xor edx, edx
call fcn.140018130
mov edi, eax
lock dec dword [r14 + 8]
jne 0x1400175d7
mov r15, r14
add r15, 0xc
mov rax, qword [r14]
mov rax, qword [rax]
mov rcx, r14
call qword [0x140068010]
lock dec dword [r15]
jne 0x1400175d7
mov rax, qword [r14]
mov rax, qword [rax + 8]
mov rcx, r14
call qword [0x140068010]
test edi, edi
mov r12, qword [rsp + 0x178]
js 0x140017ac9
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
add edi, 2
jmp 0x140016c80
mov byte [rsi + 0x34], 0
cmp ecx, edx
jae 0x1400176ca
mov rax, qword [rsi + 0x10]
mov ecx, ecx
mov byte [rax + rcx], 0x80
mov ecx, dword [rsi + 0x20]
inc ecx
mov dword [rsi + 0x20], ecx
cmp qword [rsi], 0
je 0x1400173f2
mov edx, dword [rsi + 0x30]
jmp 0x1400176ce
inc edx
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017640
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov r14b, byte [rax + rdx + 1]
inc edx
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001765f
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
movzx edi, byte [rax + rdx + 1]
inc edx
call fcn.140017b70
mov rbp, qword [rbx]
mov rax, qword [rbp + 0x10]
test rax, rax
je 0x14001767e
mov rax, qword [rbp + 8]
shr edi, 3
and edi, 7
mov r13d, dword [rbx + 0x10]
mov dl, byte [rax + r13 + 1]
and dl, 7
cmp r14b, 0xc0
jb 0x1400176ed
cmp edi, 6
ja 0x1400178b4
mov eax, 0x47
bt eax, edi
jae 0x1400178b4
add r13, qword [rbp + 0x40]
mov eax, dword [rsi + 0x20]
cmp eax, dword [rsi + 0x28]
jne 0x1400176bf
add eax, 2
mov dword [rsi + 0x28], eax
mov rcx, rsi
mov rdx, r13
jmp 0x14001715f
mov byte [rsi + 0x34], 0
cmp ecx, edx
jae 0x1400176e4
mov rax, qword [rsi + 0x10]
mov ecx, ecx
mov byte [rax + rcx], 0x3b
mov ecx, dword [rsi + 0x20]
jmp 0x1400173f2
mov byte [rsi + 0x34], 0
jmp 0x1400173f7
cmp r14b, 0x40
setb al
cmp dl, 5
sete cl
cmp r14b, 0x3f
ja 0x14001770f
cmp dil, 2
jne 0x14001770f
cmp dl, 5
je 0x140017993
cmp dil, 4
mov r12, qword [rsp + 0x178]
jne 0x140017ac9
and al, cl
cmp al, 1
je 0x14001796a
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, [0x140053420]
mov qword [r14], rax
lea rdi, [r14 + 0x10]
mov rcx, rdi
mov rdx, rbp
mov r8d, r13d
call fcn.140018080
lea rcx, [rsp + 0x60]
mov qword [rcx], rdi
mov qword [rcx + 8], r14
mov dword [rcx + 0x10], 0
xor edx, edx
call fcn.140018130
mov edi, eax
lock dec dword [r14 + 8]
jne 0x1400177b5
mov r15, r14
add r15, 0xc
mov rax, qword [r14]
mov rax, qword [rax]
mov rcx, r14
call qword [0x140068010]
lock dec dword [r15]
jne 0x1400177b5
mov rax, qword [r14]
mov rax, qword [rax + 8]
mov rcx, r14
call qword [0x140068010]
test edi, edi
mov r12, qword [rsp + 0x178]
js 0x140017ac9
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
inc edi
mov eax, dword [rsi + 0x20]
cmp eax, dword [rsi + 0x28]
jne 0x1400177de
add eax, edi
mov dword [rsi + 0x28], eax
mov rcx, rsi
mov r8d, edi
call fcn.140017e50
add dword [rbx + 0x10], edi
mov r13b, 1
jmp 0x140016122
lea edx, [r13 + 1]
mov rcx, rdi
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017810
mov rax, qword [rcx + 8]
mov ecx, dword [rbx + 0x10]
mov dil, byte [rax + rcx + 1]
lea eax, [rcx + 2]
mov dword [rbx + 0x10], eax
mov rcx, rbx
call fcn.1400337e0
cmp qword [rsi], 0
mov ecx, dword [rsi + 0x20]
je 0x14001784b
mov edx, dword [rsi + 0x30]
cmp ecx, edx
jae 0x140017855
shr dil, 3
or dil, 0xb8
mov rdx, qword [rsi + 0x10]
mov byte [rdx + rcx], dil
jmp 0x140016ded
inc ecx
add ecx, 8
jmp 0x140016e12
mov byte [rsi + 0x34], 0
lea r8d, [rcx + 8]
cmp r8d, edx
jbe 0x14001786b
mov byte [rsi + 0x34], 0
jmp 0x140016694
mov rdx, qword [rsi + 0x10]
mov ecx, ecx
mov qword [rdx + rcx], rax
add dword [rsi + 0x20], 8
jmp 0x140016694
call fcn.140017b70
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017893
mov rax, qword [rcx + 8]
mov ecx, dword [rbx + 0x10]
xor r13d, r13d
cmp byte [rax + rcx], 0xe9
sete r13b
lea eax, [rcx + 1]
mov dword [rbx + 0x10], eax
mov edi, 4
sub edi, r13d
jmp 0x140016a0b
cmp dl, 5
sete cl
xor eax, eax
jmp 0x14001770f
mov byte [rsp + 0xb8], 0
mov rax, qword [rsp + 0x88]
mov r12, qword [rsp + 0x178]
jmp 0x140015946
mov byte [rsp + 0xb8], 0
mov rax, qword [rsp + 0x88]
mov r12, qword [rsp + 0x178]
jmp 0x140015977
mov byte [rsp + 0xb8], 0
mov rax, qword [rsp + 0x88]
mov r12, qword [rsp + 0x178]
jmp 0x1400159b6
mov byte [rsp + 0xb8], 0
mov rax, qword [rsp + 0x88]
mov r12, qword [rsp + 0x178]
jmp 0x1400159e7
mov byte [rsp + 0xb8], 0
mov rax, qword [rsp + 0x88]
mov r12, qword [rsp + 0x178]
jmp 0x140015a18
mov byte [rsp + 0xb8], 0
xor r14d, r14d
mov r12, qword [rsp + 0x178]
jmp 0x140015d9e
add r13d, 2
mov dword [rbx + 0x10], r13d
mov rcx, rbx
call fcn.140033830
mov rcx, rsi
mov rdx, rax
mov r8d, 3
call fcn.140018310
mov r13b, 1
jmp 0x140016a21
add r13d, 2
mov dword [rbx + 0x10], r13d
mov rcx, rbx
call fcn.140033830
mov rcx, rsi
mov rdx, rax
mov r8d, 4
jmp 0x1400172a7
inc qword [rsp + 0x88]
mov eax, dword [rsp + 0x78]
inc eax
mov dword [rsp + 0x78], eax
mov eax, eax
cmp qword [rsp + 0x70], rax
jbe 0x1400179f3
mov rax, qword [rsp + 0x88]
cmp rax, qword [rsp + 0x90]
je 0x140017aff
mov rcx, qword [rsp + 0x80]
mov byte [rcx + rax], 0x90
jmp 0x1400179b4
mov qword [r12], r15
cmp qword [rsp + 0xd0], 0
je 0x140017af5
cmp byte [rsp + 0xb8], 0
je 0x140017af5
mov rdi, qword [rsp + 0x88]
test rdi, rdi
je 0x140017a9b
mov rax, qword [rsp + 0x60]
cmp qword [rax], 0
je 0x140017af5
mov edx, dword [rsp + 0x7c]
add rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x80]
lea r9, [rsp + 0x58]
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 0x140017af5
cmp qword [rsp + 0x58], rdi
jne 0x140017af5
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
xor edx, edx
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [rsp + 0x88]
add dword [rsp + 0x7c], eax
mov qword [rsp + 0x88], 0
mov rcx, rbx
call fcn.140017d50
lea rax, [rsp + 0xe0]
mov rcx, qword [rax - 0x18]
cmp rcx, rax
jne 0x140017b4f
mov rcx, qword [rsp + 0x80]
cmp rcx, r14
jne 0x140017b5a
cmp qword [r12], 0
je 0x140017b3e
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.14002ef70
nop
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov qword [r12], 0
jmp 0x140017a9b
mov edx, 1
mov rcx, rdi
call fcn.140014840
test al, al
je 0x140017b25
mov rax, qword [rsp + 0x88]
mov r12, qword [rsp + 0x178]
jmp 0x1400179e5
mov byte [rsp + 0xb8], 0
mov eax, dword [rsp + 0x78]
mov r12, qword [rsp + 0x178]
jmp 0x1400179c6
mov dword [rsi + 0x20], 0
mov rcx, rsi
call fcn.140033d30
jmp 0x140017ad0
call qword [sym.imp.mozglue.dll_free]
jmp 0x140017ab8
call qword [sym.imp.mozglue.dll_free]
jmp 0x140017ac9