Function at 0x140009920
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, 0x168
mov rsi, r9
mov rbp, r8
mov rbx, rdx
mov rdi, rcx
mov rcx, qword [rsp + 0x1d8]
mov rax, qword [0x140055018]
xor rax, rsp
mov qword [rsp + 0x160], rax
mov qword [rcx], 0
cmp qword [r9], 0
je 0x140009990
cmp qword [rsi + 0x10], 0
je 0x14000ad04
cmp qword [rsi + 0x18], 0
je 0x14000ad04
cmp dword [rsi + 8], 0
je 0x14000ad04
cmp byte [rsi + 0x2c], 0
je 0x14000ad04
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_EncodePointer]
lea rcx, [rsi + 0x20]
mov qword [rsp + 0x40], rcx
mov ecx, dword [rsi + 0x20]
lea edx, [rcx + 8]
cmp qword [rsi], 0
je 0x14000a45c
cmp edx, dword [rsi + 0x28]
ja 0x14000a468
mov rdx, qword [rsi + 0x10]
mov qword [rdx + rcx], rax
add dword [rsi + 0x20], 8
cmp qword [rsi], 0
je 0x1400099f7
cmp qword [rsi + 0x10], 0
je 0x14000ad04
cmp qword [rsi + 0x18], 0
je 0x14000ad04
cmp dword [rsi + 8], 0
je 0x14000ad04
cmp byte [rsi + 0x2c], 0
je 0x14000ad04
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], rbp
je 0x14000a47c
cmp edx, dword [rsi + 0x28]
ja 0x14000a488
mov rdx, qword [rsi + 0x10]
mov qword [rdx + rcx], rax
add dword [rsi + 0x20], 8
cmp qword [rsi], 0
je 0x140009a61
cmp qword [rsi + 0x10], 0
je 0x14000acf2
cmp qword [rsi + 0x18], 0
je 0x14000acf2
cmp dword [rsi + 8], 0
je 0x14000acf2
cmp byte [rsi + 0x2c], 0
je 0x14000acf2
mov r8, qword [rsp + 0x1d0]
mov rcx, rsi
mov rdx, rbx
mov r9, qword [rsp + 0x1d8]
call fcn.14000c790
test al, al
jne 0x14000acf2
lea r15, [rbx + 0x10]
mov eax, dword [rsi + 0x20]
mov dword [rsi + 0x24], eax
mov al, byte [rdi + 0x30]
and al, 2
shr al, 1
mov byte [rsp + 0x3f], al
jne 0x14000a49c
mov r14d, 0xd
mov edx, dword [r15]
xor ebp, ebp
cmp edx, r14d
jae 0x14000ab93
mov dword [rsp + 0x2c], r14d
mov qword [rsp + 0x30], r15
nop dword [rax]
mov rcx, qword [rbx]
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
movzx eax, byte [rax + rdx]
test bpl, 1
jne 0x140009fce
cmp al, 0xf
je 0x140009d50
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x88
jae 0x140009d30
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x40
je 0x140009f6f
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x41
je 0x140009f6f
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x44
je 0x140009ff4
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x45
je 0x14000a037
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xfa
cmp al, 0x48
jne 0x140009e00
add rdx, qword [rcx + 0x40]
mov rcx, rsi
mov r8d, 1
call fcn.14000ca00
mov edx, dword [rbx + 0x10]
add edx, 1
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x81
je 0x14000a0bc
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
je 0x14000a107
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
je 0x14000a132
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
je 0x14000a17d
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x2b
je 0x14000a1c8
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x85
je 0x14000a210
mov r13, rbp
call fcn.1400087b0
mov rdi, qword [rbx]
mov rax, qword [rdi + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xfd
cmp al, 0x89
jne 0x14000a232
lea r15d, [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, [0x1400493b0]
mov qword [r14], rax
lea r12, [r14 + 0x10]
mov rcx, r12
mov rdx, rdi
mov r8d, r15d
call fcn.14000bbe0
mov qword [rsp + 0xc0], r12
mov qword [rsp + 0xc8], r14
mov dword [rsp + 0xd0], 0
lea rcx, [rsp + 0xc0]
lea rdx, [rsp + 0x88]
call fcn.14000ca90
mov edi, eax
test r14, r14
je 0x140009ce8
lock sub dword [r14 + 8], 1
jne 0x140009ce8
mov rax, qword [r14]
mov rcx, r14
call qword [rax]
lock sub dword [r14 + 0xc], 1
jne 0x140009ce8
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 8]
test edi, edi
mov r14d, dword [rsp + 0x2c]
mov r15, qword [rsp + 0x30]
js 0x14000a293
mov rbp, r13
add edi, 1
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
mov rcx, rsi
mov r8d, edi
call fcn.14000ca00
add dword [rbx + 0x10], edi
mov edx, dword [r15]
cmp edx, r14d
jb 0x140009ac0
jmp 0x14000ab93
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x8b
ja 0x140009b01
jmp 0x14000a4a7
mov rax, qword [rcx + 0x40]
add rax, rdx
mov rcx, rsi
mov rdx, rax
mov r8d, 1
call fcn.14000ca00
mov edx, dword [rbx + 0x10]
add edx, 1
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x1f
jne 0x140009eb3
add rdx, qword [rcx + 0x40]
mov rcx, rsi
mov r8d, 1
call fcn.14000ca00
mov edx, dword [rbx + 0x10]
add edx, 1
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xc0
cmp al, 0x40
jne 0x14000acf2
call fcn.1400087b0
mov rax, qword [rbx]
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
mov cl, byte [rcx + rdx]
and cl, 7
cmp cl, 4
jne 0x14000acf2
add rdx, qword [rax + 0x40]
mov rcx, rsi
mov r8d, 3
call fcn.14000ca00
add dword [r15], 3
jmp 0x140009d18
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x66
je 0x14000a4dc
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xf0
cmp al, 0x50
je 0x140009f54
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x65
je 0x14000a593
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x80
je 0x14000a605
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x90
je 0x140009f54
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xf8
cmp al, 0xb8
jne 0x140009ed1
add rdx, qword [rcx + 0x40]
mov rcx, rsi
mov r8d, 5
call fcn.14000ca00
add dword [r15], 5
jmp 0x140009d18
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 5
je 0x140009f54
jmp 0x14000a82f
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x33
je 0x14000a894
call fcn.1400087b0
mov rdi, qword [rbx]
mov rax, qword [rdi + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xf6
je 0x14000a8af
mov rcx, rdi
call fcn.1400087b0
mov rdi, qword [rbx]
mov rax, qword [rdi + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x85
je 0x14000a981
mov rcx, rdi
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xd1
je 0x14000aa26
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xc3
jne 0x14000aa52
add rdx, qword [rcx + 0x40]
mov rcx, rsi
mov r8d, 1
call fcn.14000ca00
add dword [r15], 1
jmp 0x140009d18
add rdx, qword [rcx + 0x40]
mov rcx, rsi
mov r8d, 1
call fcn.14000ca00
mov edx, dword [rbx + 0x10]
add edx, 1
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xf0
cmp al, 0x50
jne 0x14000a077
add rdx, qword [rcx + 0x40]
mov rcx, rsi
mov r8d, 1
call fcn.14000ca00
mov r15, qword [rsp + 0x30]
add dword [r15], 1
mov r14d, dword [rsp + 0x2c]
jmp 0x140009d18
cmp al, 0x90
jne 0x14000ab43
add edx, 1
mov r15, qword [rsp + 0x30]
mov dword [r15], edx
mov r14d, dword [rsp + 0x2c]
cmp edx, r14d
jb 0x140009ac3
jmp 0x14000ab93
add rdx, qword [rcx + 0x40]
mov rcx, rsi
mov r8d, 1
call fcn.14000ca00
mov edx, dword [rbx + 0x10]
add edx, 1
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.1400087b0
mov rax, qword [rbx]
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx], 0x89
jne 0x14000acf2
add rdx, qword [rax + 0x40]
mov rcx, rsi
jmp 0x14000a4b4
add rdx, qword [rcx + 0x40]
mov rcx, rsi
mov r8d, 1
call fcn.14000ca00
mov edx, dword [rbx + 0x10]
add edx, 1
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.1400087b0
mov rax, qword [rbx]
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx], 0x33
jne 0x14000acf2
add rdx, qword [rax + 0x40]
jmp 0x14000a898
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xb8
mov r14d, dword [rsp + 0x2c]
mov r15, qword [rsp + 0x30]
jb 0x14000acf2
call fcn.1400087b0
mov rax, qword [rbx]
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx], 0xbf
ja 0x14000acf2
add rdx, qword [rax + 0x40]
jmp 0x140009e9c
add edx, 1
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx + 1]
and al, 0xf8
cmp al, 0xe8
jne 0x14000a393
mov rax, qword [rcx + 0x40]
add rax, rdx
mov rcx, rsi
mov rdx, rax
mov r8d, 6
call fcn.14000ca00
mov r15, qword [rsp + 0x30]
add dword [r15], 6
mov r14d, dword [rsp + 0x2c]
jmp 0x140009d18
add edx, 1
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx + 1]
and al, 0xf8
cmp al, 0xe8
je 0x14000a152
mov r14d, dword [rsp + 0x2c]
mov r15, qword [rsp + 0x30]
jmp 0x140009bd1
add edx, 1
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx + 1]
and al, 0xf8
cmp al, 0xc0
jne 0x14000a3a2
mov rax, qword [rcx + 0x40]
add rax, rdx
mov rcx, rsi
mov rdx, rax
mov r8d, 3
call fcn.14000ca00
mov r15, qword [rsp + 0x30]
add dword [r15], 3
mov r14d, dword [rsp + 0x2c]
jmp 0x140009d18
add edx, 1
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx + 1]
and al, 0xf8
cmp al, 0x60
jne 0x14000a3b1
mov rax, qword [rcx + 0x40]
add rax, rdx
mov rcx, rsi
mov rdx, rax
mov r8d, 5
call fcn.14000ca00
mov r15, qword [rsp + 0x30]
add dword [r15], 5
mov r14d, dword [rsp + 0x2c]
jmp 0x140009d18
add edx, 1
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0xc0
jb 0x14000a3c0
mov rax, qword [rcx + 0x40]
add rax, rdx
mov rcx, rsi
mov rdx, rax
mov r8d, 2
call fcn.14000ca00
mov r15, qword [rsp + 0x30]
add dword [r15], 2
mov r14d, dword [rsp + 0x2c]
jmp 0x140009d18
add edx, 1
call fcn.1400087b0
mov rax, qword [rbx]
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx + 1], 0xc0
jb 0x14000acf2
jmp 0x14000a06e
mov rcx, rdi
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xc7
jne 0x14000a3cf
add edx, 1
call fcn.1400087b0
mov rax, qword [rbx]
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx + 1], 0x44
mov r14d, dword [rsp + 0x2c]
mov r15, qword [rsp + 0x30]
jne 0x14000acf2
mov rbp, r13
add rdx, qword [rax + 0x40]
mov rcx, rsi
mov r8d, 8
call fcn.14000ca00
add dword [r15], 8
jmp 0x140009d18
cmp edi, 0xfffffffe
jne 0x14000acf2
mov edx, dword [rbx + 0x10]
lea eax, [rdx + 2]
mov dword [rbx + 0x10], eax
mov rcx, qword [rbx]
add edx, 6
call fcn.1400087b0
mov rax, qword [rbx]
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
movsxd rcx, dword [rcx + rdx]
lea edi, [rdx + 4]
add rdx, qword [rax + 0x40]
lea r8, [rcx + rdx]
add r8, 4
mov dword [rbx + 0x10], edi
mov cl, byte [rsp + 0x88]
test cl, cl
je 0x14000b552
cmp qword [rsi], 0
mov eax, dword [rsi + 0x20]
je 0x14000b5d0
mov edx, dword [rsi + 0x28]
cmp eax, edx
jae 0x14000b626
add cl, 0xb8
mov rdx, qword [rsi + 0x10]
mov byte [rdx + rax], cl
mov edi, dword [rsi + 0x20]
lea eax, [rdi + 1]
mov dword [rsi + 0x20], eax
add edi, 9
cmp qword [rsi], 0
je 0x14000b5df
mov edx, dword [rsi + 0x28]
cmp edi, edx
ja 0x14000b635
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov qword [rcx + rax], r8
mov eax, dword [rsi + 0x20]
add eax, 8
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
je 0x14000b5e8
mov edx, dword [rsi + 0x28]
cmp eax, edx
jb 0x14000b641
mov byte [rsi + 0x2c], 0
cmp eax, edx
jae 0x14000b665
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x8b
mov eax, dword [rsi + 0x20]
add eax, 1
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
je 0x14000b5fc
mov dl, byte [rsp + 0x88]
lea ecx, [rdx*8]
or cl, dl
mov edx, dword [rsi + 0x28]
cmp eax, edx
jae 0x14000b69c
jmp 0x14000b67f
mov r14d, dword [rsp + 0x2c]
mov r15, qword [rsp + 0x30]
jmp 0x140009bb8
mov r14d, dword [rsp + 0x2c]
mov r15, qword [rsp + 0x30]
jmp 0x140009bea
mov r14d, dword [rsp + 0x2c]
mov r15, qword [rsp + 0x30]
jmp 0x140009c03
mov r14d, dword [rsp + 0x2c]
mov r15, qword [rsp + 0x30]
jmp 0x140009c1c
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xff
jne 0x14000a748
add edx, 1
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0x3f
mov r14d, dword [rsp + 0x2c]
mov r15, qword [rsp + 0x30]
ja 0x14000acf2
add edx, 1
call fcn.1400087b0
mov rax, qword [rbx]
mov rcx, qword [rax + 8]
mov eax, dword [rbx + 0x10]
mov cl, byte [rcx + rax + 1]
and cl, 7
cmp cl, 5
jne 0x14000acf2
add eax, 2
mov dword [rbx + 0x10], eax
add dword [rsi + 0x20], 0xffffffff
mov rcx, rbx
call fcn.14000ba50
mov rcx, rsi
mov rdx, rax
mov r8d, 2
call fcn.14000cc30
mov bpl, 1
jmp 0x14000b2da
mov rax, qword [rsp + 0x40]
mov dword [rax], edx
jmp 0x1400099f7
mov byte [rsi + 0x2c], 0
cmp qword [rsi + 0x10], 0
jne 0x1400099d8
jmp 0x14000ad04
mov rax, qword [rsp + 0x40]
mov dword [rax], edx
jmp 0x140009a61
mov byte [rsi + 0x2c], 0
cmp qword [rsi + 0x10], 0
jne 0x140009a42
jmp 0x14000acf2
mov r14d, 0xa
jmp 0x140009aa5
mov rax, qword [rcx + 0x40]
add rax, rdx
mov rcx, rsi
mov rdx, rax
mov r8d, 1
call fcn.14000ca00
add dword [rbx + 0x10], 1
mov rcx, rbx
xor edx, edx
call fcn.14000ca90
test eax, eax
js 0x14000acf2
mov edi, eax
jmp 0x140009d00
add rdx, qword [rcx + 0x40]
mov rcx, rsi
mov r8d, 1
call fcn.14000ca00
mov edx, dword [rbx + 0x10]
add edx, 1
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x88
jb 0x14000a720
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x8b
ja 0x14000a720
add edx, 1
call fcn.1400087b0
mov r8, qword [rbx]
mov rcx, qword [r8 + 8]
mov edx, dword [rbx + 0x10]
movzx eax, byte [rcx + rdx + 1]
mov ecx, eax
and ecx, 0xffffffc0
test cl, cl
je 0x14000b3e8
cmp cl, 0xc0
je 0x14000b734
cmp cl, 0x40
jne 0x14000acf2
and eax, 7
add rdx, qword [r8 + 0x40]
mov rcx, rsi
cmp eax, 4
jne 0x14000a15f
mov r8d, 4
call fcn.14000ca00
mov r15, qword [rsp + 0x30]
add dword [r15], 4
mov r14d, dword [rsp + 0x2c]
jmp 0x140009d18
add edx, 1
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0x48
jne 0x14000acf2
add edx, 2
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 2], 0x88
jb 0x14000acf2
add edx, 2
call fcn.1400087b0
mov rax, qword [rbx]
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx + 2], 0x8b
ja 0x14000acf2
add rdx, qword [rax + 0x40]
mov rcx, rsi
mov r8d, 3
call fcn.14000ca00
add dword [rbx + 0x10], 3
jmp 0x14000a4c3
add edx, 1
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0x3d
jne 0x14000ab06
lea eax, [rdx + 2]
mov rcx, qword [rsp + 0x30]
mov dword [rcx], eax
cmp qword [rsi], 0
mov eax, dword [rsi + 0x20]
jne 0x14000af1a
add eax, 1
mov rcx, qword [rsp + 0x40]
mov dword [rcx], eax
add eax, 1
mov rcx, qword [rsp + 0x40]
mov dword [rcx], eax
mov rcx, qword [rbx]
mov edx, dword [rbx + 0x10]
add edx, 4
call fcn.1400087b0
mov rax, qword [rbx]
mov rcx, qword [rax + 8]
mov edi, dword [rbx + 0x10]
movsxd r8, dword [rcx + rdi]
lea ecx, [rdi + 4]
add rdi, qword [rax + 0x40]
mov dword [rbx + 0x10], ecx
cmp qword [rsi], 0
mov eax, dword [rsi + 0x20]
jne 0x14000af54
add eax, 1
mov rcx, qword [rsp + 0x40]
mov dword [rcx], eax
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x40]
mov dword [rdx], ecx
add eax, 9
mov edx, eax
mov rax, qword [rsp + 0x40]
mov dword [rax], edx
mov eax, edx
add eax, 1
mov rcx, qword [rsp + 0x40]
mov dword [rcx], eax
add eax, 1
mov rcx, qword [rsp + 0x40]
mov dword [rcx], eax
add eax, 1
mov rcx, qword [rsp + 0x40]
mov dword [rcx], eax
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
mov rcx, rsi
mov r8d, 1
call fcn.14000ca00
add dword [rbx + 0x10], 1
cmp qword [rsi], 0
mov eax, dword [rsi + 0x20]
je 0x14000b23d
mov ecx, dword [rsi + 0x28]
cmp eax, ecx
jae 0x14000b256
mov rcx, qword [rsi + 0x10]
mov byte [rcx + rax], 0x49
mov eax, dword [rsi + 0x20]
add eax, 1
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
je 0x14000b247
mov ecx, dword [rsi + 0x28]
cmp eax, ecx
jb 0x14000b262
mov byte [rsi + 0x2c], 0
jmp 0x14000a739
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x44
je 0x14000b598
mov r14d, dword [rsp + 0x2c]
mov r15, qword [rsp + 0x30]
jmp 0x140009d18
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x8d
jne 0x14000ab15
add edx, 1
call fcn.1400087b0
mov r15, qword [rbx]
mov rax, qword [r15 + 8]
mov edi, dword [rbx + 0x10]
cmp byte [rax + rdi + 1], 0x3f
ja 0x14000b182
lea edx, [rdi + 1]
mov rcx, r15
call fcn.1400087b0
mov r15, qword [rbx]
mov rax, qword [r15 + 8]
mov edi, dword [rbx + 0x10]
mov al, byte [rax + rdi + 1]
and al, 7
cmp al, 5
jne 0x14000b182
lea edx, [rdi + 1]
mov rcx, r15
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov dil, byte [rax + rdx + 1]
lea eax, [rdx + 2]
mov dword [rbx + 0x10], eax
add edx, 6
call fcn.1400087b0
mov rax, qword [rbx]
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
movsxd r8, dword [rcx + rdx]
lea ecx, [rdx + 4]
add rdx, qword [rax + 0x40]
mov dword [rbx + 0x10], ecx
cmp qword [rsi], 0
mov ecx, dword [rsi + 0x20]
je 0x14000b60b
mov eax, dword [rsi + 0x28]
cmp ecx, eax
jae 0x14000b691
shr dil, 3
or dil, 0xb8
mov rax, qword [rsi + 0x10]
mov byte [rax + rcx], dil
mov edi, dword [rsi + 0x20]
lea ecx, [rdi + 1]
mov dword [rsi + 0x20], ecx
add edi, 9
cmp qword [rsi], 0
je 0x14000b61a
mov eax, dword [rsi + 0x28]
cmp edi, eax
jbe 0x14000b6c0
jmp 0x14000b69c
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x10
je 0x14000a85d
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x11
jne 0x14000b275
add rdx, qword [rcx + 0x40]
mov rcx, rsi
mov r8d, 1
call fcn.14000ca00
add dword [rbx + 0x10], 1
mov rcx, rbx
xor edx, edx
call fcn.14000ca90
test eax, eax
mov r14d, dword [rsp + 0x2c]
mov r15, qword [rsp + 0x30]
js 0x14000acf2
jmp 0x14000a4d5
add rdx, qword [rcx + 0x40]
mov rcx, rsi
mov r8d, 2
call fcn.14000ca00
add dword [r15], 2
jmp 0x140009d18
mov byte [rsp + 0x88], 0
lea r15d, [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, [0x1400493b0]
mov qword [r14], rax
lea r12, [r14 + 0x10]
mov rcx, r12
mov rdx, rdi
mov r8d, r15d
call fcn.14000bbe0
mov qword [rsp + 0xc0], r12
mov qword [rsp + 0xc8], r14
mov dword [rsp + 0xd0], 0
lea rcx, [rsp + 0xc0]
lea rdx, [rsp + 0x88]
call fcn.14000ca90
mov edi, eax
test r14, r14
je 0x14000a94b
lock sub dword [r14 + 8], 1
jne 0x14000a94b
mov rax, qword [r14]
mov rcx, r14
call qword [rax]
lock sub dword [r14 + 0xc], 1
jne 0x14000a94b
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 8]
test edi, edi
js 0x14000acf2
cmp byte [rsp + 0x88], 0
jne 0x14000acf2
add edi, 2
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
mov rcx, rsi
mov r8d, edi
call fcn.14000ca00
add dword [rbx + 0x10], edi
jmp 0x14000a739
lea r15d, [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, [0x1400493b0]
mov qword [r14], rax
lea r12, [r14 + 0x10]
mov rcx, r12
mov rdx, rdi
mov r8d, r15d
call fcn.14000bbe0
mov qword [rsp + 0xc0], r12
mov qword [rsp + 0xc8], r14
mov dword [rsp + 0xd0], 0
lea rcx, [rsp + 0xc0]
xor edx, edx
call fcn.14000ca90
mov edi, eax
test r14, r14
je 0x14000aa0f
lock sub dword [r14 + 8], 1
jne 0x14000aa0f
mov rax, qword [r14]
mov rcx, r14
call qword [rax]
lock sub dword [r14 + 0xc], 1
jne 0x14000aa0f
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 8]
test edi, edi
mov r14d, dword [rsp + 0x2c]
mov r15, qword [rsp + 0x30]
js 0x14000acf2
jmp 0x140009cfd
add edx, 1
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0xc0
jae 0x14000a1e5
mov r14d, dword [rsp + 0x2c]
mov r15, qword [rsp + 0x30]
jmp 0x140009f3b
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xcc
je 0x140009fa9
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xe8
je 0x14000aa99
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xe9
jne 0x14000b404
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
xor ebp, ebp
cmp byte [rax + rdx], 0xe9
sete bpl
lea eax, [rdx + 1]
mov dword [rbx + 0x10], eax
mov edi, ebp
xor edi, 3
add edx, 5
call fcn.1400087b0
mov rax, qword [rbx]
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
movsxd r8, dword [rcx + rdx]
lea ecx, [rdx + 4]
add rdx, qword [rax + 0x40]
add rdx, r8
add rdx, 4
mov dword [rbx + 0x10], ecx
mov rcx, rsi
mov r8d, edi
call fcn.14000cc30
test al, al
mov r14d, dword [rsp + 0x2c]
mov r15, qword [rsp + 0x30]
jne 0x140009d18
jmp 0x14000acf2
mov r14d, dword [rsp + 0x2c]
mov r15, qword [rsp + 0x30]
jmp 0x140009e67
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x63
mov r14d, dword [rsp + 0x2c]
mov r15, qword [rsp + 0x30]
jne 0x14000acf2
mov rbp, r13
add edx, 1
jmp 0x14000a213
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xcc
je 0x140009fd6
cmp qword [rsp + 0x48], 0
je 0x14000acf2
cmp edx, 0xa
jb 0x14000acf2
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov ecx, dword [rax + 0x20]
add rcx, qword [rax + 0x18]
mov byte [rsp + 0x3f], 1
mov eax, 0x80000001
cmp rcx, rax
jae 0x14000acf2
cmp edx, 0x64
ja 0x14000acf2
test bpl, 1
jne 0x14000abc1
mov rax, qword [rbx]
mov edx, edx
add rdx, qword [rax + 0x40]
mov rcx, rsi
mov r8d, 2
call fcn.14000cc30
test al, al
je 0x14000acf2
cmp byte [rsi + 0x2c], 0
je 0x14000acf2
cmp qword [rsi], 0
je 0x14000acf2
mov edi, dword [rsi + 0x24]
add rdi, qword [rsi + 0x18]
je 0x14000acf2
lea rdx, [rsp + 0xc0]
mov rcx, rbx
xor r8d, r8d
xor r9d, r9d
call fcn.14000d020
cmp qword [rsp + 0x130], 0
je 0x14000accc
cmp byte [rsp + 0x118], 0
je 0x14000accc
cmp byte [rsp + 0x3f], 0
jne 0x14000ad29
mov byte [rsp + 0x88], 0x49
lea rbx, [rsp + 0xc0]
lea rdx, [rsp + 0x88]
mov rcx, rbx
call fcn.14000d170
mov byte [rsp + 0x88], 0xbb
lea rdx, [rsp + 0x88]
mov rcx, rbx
call fcn.14000d170
mov rcx, rbx
mov rdx, qword [rsp + 0x1d0]
call fcn.14000d230
mov byte [rsp + 0x88], 0x41
lea rdx, [rsp + 0x88]
mov rcx, rbx
call fcn.14000d170
mov byte [rsp + 0x88], 0xff
lea rdx, [rsp + 0x88]
mov rcx, rbx
call fcn.14000d170
mov byte [rsp + 0x88], 0xe3
lea rdx, [rsp + 0x88]
mov rcx, rbx
call fcn.14000d170
lea rcx, [rsp + 0xc0]
call fcn.14000d2e0
test al, al
je 0x14000accc
mov rax, qword [rsp + 0x1d8]
mov qword [rax], rdi
lea rcx, [rsp + 0x120]
call fcn.14000d900
mov rcx, qword [rsp + 0xe0]
lea rax, [rsp + 0xf8]
cmp rcx, rax
jne 0x14000aec9
mov rax, qword [rsp + 0x1d8]
cmp qword [rax], 0
je 0x14000aed4
mov rcx, qword [rsp + 0x160]
xor rcx, rsp
call fcn.1400477a0
nop
add rsp, 0x168
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax]
lea rdx, [rsp + 0x88]
call fcn.14000c5c0
cmp byte [rsp + 0xb8], 0
je 0x14000accc
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0x60], eax
movups xmm0, xmmword [rsp + 0x98]
movups xmmword [rsp + 0x68], xmm0
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x78], eax
mov rax, qword [rsp + 0xac]
mov qword [rsp + 0x7c], rax
mov al, byte [rsp + 0xb4]
mov byte [rsp + 0x84], al
mov dword [rsp + 0x90], 0
mov byte [rsp + 0xb4], 0
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_EncodePointer]
mov ecx, dword [rsp + 0x78]
lea edx, [rcx + 8]
cmp qword [rsp + 0x58], 0
jne 0x14000afe7
mov dword [rsp + 0x78], edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_EncodePointer]
mov ecx, dword [rsp + 0x78]
lea ebp, [rcx + 8]
cmp qword [rsp + 0x58], 0
jne 0x14000b001
mov dword [rsp + 0x78], ebp
mov dword [rsp + 0x7c], ebp
add ebp, 1
mov dword [rsp + 0x78], ebp
mov ecx, ebp
lea eax, [rcx + 1]
mov dword [rsp + 0x78], eax
add ecx, 9
mov eax, ecx
mov dword [rsp + 0x78], eax
mov ecx, eax
add ecx, 1
mov dword [rsp + 0x78], ecx
add ecx, 1
mov dword [rsp + 0x78], ecx
add ecx, 1
mov dword [rsp + 0x78], ecx
mov ebp, 1
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x14000ae5e
mov r8d, dword [rsp + 0x60]
test r8d, r8d
je 0x14000ae5e
lea rbx, [rsp + 0x60]
mov edx, dword [rsp + 0x80]
mov r9, rbx
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov dword [rsp + 0x60], 0
mov byte [rsp + 0x84], 0
xorps xmm0, xmm0
movups xmmword [rbx + 8], xmm0
cmp byte [rsp + 0xb8], 0
je 0x14000aebc
mov rcx, qword [rsp + 0x98]
test rcx, rcx
je 0x14000aeb4
mov r8d, dword [rsp + 0x90]
test r8d, r8d
je 0x14000aeb4
lea rbx, [rsp + 0x90]
mov edx, dword [rsp + 0xb0]
mov r9, rbx
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov dword [rsp + 0x90], 0
mov byte [rsp + 0xb4], 0
xorps xmm0, xmm0
movups xmmword [rbx + 8], xmm0
mov byte [rsp + 0xb8], 0
test ebp, ebp
je 0x14000acb0
jmp 0x14000accc
call qword [sym.imp.mozglue.dll_free]
jmp 0x14000acf2
mov dword [rsi + 0x20], 0
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_EncodePointer]
mov ecx, dword [rsi + 0x20]
lea edx, [rcx + 8]
cmp qword [rsi], 0
je 0x14000aefd
cmp edx, dword [rsi + 0x28]
jbe 0x14000af09
mov byte [rsi + 0x2c], 0
jmp 0x14000ad04
mov rax, qword [rsp + 0x40]
mov dword [rax], edx
jmp 0x14000ad04
mov rdx, qword [rsi + 0x10]
mov qword [rdx + rcx], rax
add dword [rsi + 0x20], 8
jmp 0x14000ad04
mov ecx, dword [rsi + 0x28]
cmp eax, ecx
jae 0x14000b2e7
mov rcx, qword [rsi + 0x10]
mov byte [rcx + rax], 0x49
mov eax, dword [rsi + 0x20]
add eax, 1
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
je 0x14000a643
mov ecx, dword [rsi + 0x28]
cmp eax, ecx
jb 0x14000b2f3
mov byte [rsi + 0x2c], 0
jmp 0x14000a64d
mov ecx, dword [rsi + 0x28]
cmp eax, ecx
jae 0x14000b306
mov rcx, qword [rsi + 0x10]
mov byte [rcx + rax], 0x49
mov eax, dword [rsi + 0x20]
add eax, 1
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
je 0x14000a68a
mov ecx, dword [rsi + 0x28]
cmp eax, ecx
jb 0x14000b312
mov byte [rsi + 0x2c], 0
lea edx, [rax + 8]
cmp edx, ecx
jbe 0x14000b33d
mov byte [rsi + 0x2c], 0
cmp eax, ecx
jae 0x14000b36d
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x41
mov eax, dword [rsi + 0x20]
add eax, 1
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
je 0x14000a6ac
mov ecx, dword [rsi + 0x28]
cmp eax, ecx
jb 0x14000b379
mov byte [rsi + 0x2c], 0
cmp eax, ecx
jae 0x14000b3a1
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x3b
add dword [rsi + 0x20], 1
jmp 0x14000a6c0
cmp edx, dword [rsp + 0x80]
jbe 0x14000b3aa
mov byte [rsp + 0x84], 0
jmp 0x14000adc5
mov edx, dword [rsp + 0x80]
cmp ebp, edx
jbe 0x14000b3bd
mov byte [rsp + 0x84], 0
mov dword [rsp + 0x7c], ecx
cmp ecx, edx
jae 0x14000b487
mov rax, qword [rsp + 0x68]
mov ecx, ecx
mov byte [rax + rcx], 0x49
mov ecx, dword [rsp + 0x78]
add ecx, 1
mov dword [rsp + 0x78], ecx
cmp qword [rsp + 0x58], 0
je 0x14000adf2
mov edx, dword [rsp + 0x80]
cmp ecx, edx
jb 0x14000b497
mov byte [rsp + 0x84], 0
lea eax, [rcx + 8]
cmp eax, edx
jbe 0x14000b4cb
mov byte [rsp + 0x84], 0
cmp ecx, edx
jae 0x14000b504
mov rax, qword [rsp + 0x68]
mov ecx, ecx
mov byte [rax + rcx], 0x41
mov ecx, dword [rsp + 0x78]
add ecx, 1
mov dword [rsp + 0x78], ecx
cmp qword [rsp + 0x58], 0
je 0x14000ae0b
mov edx, dword [rsp + 0x80]
cmp ecx, edx
jb 0x14000b514
mov byte [rsp + 0x84], 0
cmp ecx, edx
jae 0x14000b545
mov rax, qword [rsp + 0x68]
mov ecx, ecx
mov byte [rax + rcx], 0xe3
add dword [rsp + 0x78], 1
cmp qword [rsp + 0x58], 0
mov ebp, 1
je 0x14000ae1e
cmp byte [rsp + 0x84], 0
je 0x14000ae1e
mov ebx, dword [rsp + 0x7c]
add rbx, qword [rsp + 0x70]
je 0x14000ae1e
mov byte [rsp + 0x57], 0xb8
lea r14, [rsp + 0xc0]
lea rdx, [rsp + 0x57]
mov rcx, r14
call fcn.14000d170
and ebx, 0x7fffffff
mov rcx, r14
mov edx, ebx
call fcn.14000d1c0
mov byte [rsp + 0x57], 0x48
lea rdx, [rsp + 0x57]
mov rcx, r14
call fcn.14000d170
mov byte [rsp + 0x57], 0x63
lea rdx, [rsp + 0x57]
mov rcx, r14
call fcn.14000d170
mov byte [rsp + 0x57], 0xc0
lea rdx, [rsp + 0x57]
mov rcx, r14
call fcn.14000d170
mov byte [rsp + 0x57], 0xff
lea rdx, [rsp + 0x57]
mov rcx, r14
call fcn.14000d170
mov byte [rsp + 0x57], 0xe0
lea rdx, [rsp + 0x57]
mov rcx, r14
call fcn.14000d170
xor ebp, ebp
jmp 0x14000ae1e
add edi, 1
mov ecx, 0x58
call qword [sym.imp.mozglue.dll_moz_xmalloc]
mov rbp, rax
movabs rax, 0x100000001
mov qword [rbp + 8], rax
lea rax, [0x1400493b0]
mov qword [rbp], rax
lea r14, [rbp + 0x10]
mov rcx, r14
mov rdx, r15
mov r8d, edi
call fcn.14000bbe0
mov qword [rsp + 0xc0], r14
mov qword [rsp + 0xc8], rbp
mov dword [rsp + 0xd0], 0
lea rcx, [rsp + 0xc0]
xor edx, edx
call fcn.14000ca90
mov edi, eax
test rbp, rbp
je 0x14000b210
lock sub dword [rbp + 8], 1
jne 0x14000b210
mov rax, qword [rbp]
mov rcx, rbp
call qword [rax]
lock sub dword [rbp + 0xc], 1
jne 0x14000b210
mov rax, qword [rbp]
mov rcx, rbp
call qword [rax + 8]
add edi, 1
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
mov rcx, rsi
mov r8d, edi
call fcn.14000ca00
add dword [rbx + 0x10], edi
mov r14d, dword [rsp + 0x2c]
mov rbp, r13
mov r15, qword [rsp + 0x30]
jmp 0x140009d18
add eax, 1
mov rcx, qword [rsp + 0x40]
mov dword [rcx], eax
add eax, 1
mov rcx, qword [rsp + 0x40]
mov dword [rcx], eax
jmp 0x14000a739
mov byte [rsi + 0x2c], 0
cmp eax, ecx
jae 0x14000a71a
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x5b
add dword [rsi + 0x20], 1
jmp 0x14000a739
call fcn.1400087b0
mov rax, qword [rbx]
mov rcx, qword [rax + 8]
mov eax, dword [rbx + 0x10]
cmp byte [rcx + rax], 0x84
mov r14d, dword [rsp + 0x2c]
mov r15, qword [rsp + 0x30]
jne 0x14000acf2
add eax, 1
mov dword [rbx + 0x10], eax
add dword [rsi + 0x20], 0xffffffff
mov rcx, qword [rbx]
mov edx, dword [rbx + 0x10]
add edx, 4
call fcn.1400087b0
mov rax, qword [rbx]
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
movsxd rcx, dword [rcx + rdx]
lea edi, [rdx + 4]
add rdx, qword [rax + 0x40]
add rdx, rcx
add rdx, 4
mov dword [rbx + 0x10], edi
mov rcx, rsi
xor r8d, r8d
call fcn.14000cc30
test al, al
jne 0x140009d18
jmp 0x14000acf2
mov byte [rsi + 0x2c], 0
cmp eax, ecx
jae 0x14000af4b
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x53
add dword [rsi + 0x20], 1
jmp 0x14000a64d
mov byte [rsi + 0x2c], 0
cmp eax, ecx
jae 0x14000af85
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov byte [rcx + rax], 0xbb
mov edx, dword [rsi + 0x20]
lea eax, [rdx + 1]
mov dword [rsi + 0x20], eax
add edx, 9
cmp qword [rsi], 0
je 0x14000a699
mov ecx, dword [rsi + 0x28]
cmp edx, ecx
ja 0x14000af94
lea rcx, [r8 + rdi]
add rcx, 4
mov rdx, qword [rsi + 0x10]
mov eax, eax
mov qword [rdx + rax], rcx
mov eax, dword [rsi + 0x20]
add eax, 8
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
je 0x14000a6a2
mov ecx, dword [rsi + 0x28]
cmp eax, ecx
jb 0x14000afa0
mov byte [rsi + 0x2c], 0
cmp eax, ecx
jae 0x14000afc8
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x80
mov eax, dword [rsi + 0x20]
add eax, 1
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
je 0x14000a6b6
mov ecx, dword [rsi + 0x28]
cmp eax, ecx
jb 0x14000afd4
mov byte [rsi + 0x2c], 0
jmp 0x14000a6c0
mov rdx, qword [rsp + 0x68]
mov qword [rdx + rcx], rax
add dword [rsp + 0x78], 8
jmp 0x14000adc5
mov rdx, qword [rsp + 0x68]
mov qword [rdx + rcx], rax
mov ecx, dword [rsp + 0x78]
add ecx, 8
mov dword [rsp + 0x78], ecx
mov dword [rsp + 0x7c], ecx
cmp qword [rsp + 0x58], 0
jne 0x14000b478
mov ebp, ecx
jmp 0x14000ade9
mov edi, eax
and edi, 6
cmp edi, 4
jne 0x14000b734
cmp ecx, 0x40
jne 0x14000acf2
jmp 0x14000a562
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x74
je 0x14000b432
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x75
jne 0x14000b6f9
add edx, 1
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
movzx edi, byte [rax + rdx + 1]
call fcn.1400087b0
mov rax, qword [rbx]
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
xor r8d, r8d
cmp byte [rcx + rdx], 0x75
sete r8b
add edx, 2
mov dword [rbx + 0x10], edx
add rdx, rdi
add rdx, qword [rax + 0x40]
mov rcx, rsi
jmp 0x14000aaea
mov edx, dword [rsp + 0x80]
cmp ecx, edx
jb 0x14000b024
mov byte [rsp + 0x84], 0
cmp ecx, edx
jae 0x14000b055
mov rax, qword [rsp + 0x68]
mov ecx, ecx
mov byte [rax + rcx], 0xbb
mov eax, dword [rsp + 0x78]
lea ecx, [rax + 1]
mov dword [rsp + 0x78], ecx
add eax, 9
cmp qword [rsp + 0x58], 0
je 0x14000adfe
mov edx, dword [rsp + 0x80]
cmp eax, edx
ja 0x14000b068
mov rax, qword [rsp + 0x68]
mov ecx, ecx
mov rdx, qword [rsp + 0x1d0]
mov qword [rax + rcx], rdx
mov ecx, dword [rsp + 0x78]
add ecx, 8
mov dword [rsp + 0x78], ecx
cmp qword [rsp + 0x58], 0
je 0x14000ae04
mov edx, dword [rsp + 0x80]
cmp ecx, edx
jb 0x14000b078
mov byte [rsp + 0x84], 0
cmp ecx, edx
jae 0x14000b0a9
mov rax, qword [rsp + 0x68]
mov ecx, ecx
mov byte [rax + rcx], 0xff
mov ecx, dword [rsp + 0x78]
add ecx, 1
mov dword [rsp + 0x78], ecx
cmp qword [rsp + 0x58], 0
je 0x14000ae12
mov edx, dword [rsp + 0x80]
cmp ecx, edx
jb 0x14000b0b9
mov byte [rsp + 0x84], 0
jmp 0x14000ae19
cmp qword [rsi], 0
mov eax, dword [rsi + 0x20]
je 0x14000b6a5
mov edi, dword [rsi + 0x28]
cmp eax, edi
jae 0x14000b6db
mov rcx, qword [rsi + 0x10]
mov byte [rcx + rax], 0xa1
mov edx, dword [rsi + 0x20]
lea eax, [rdx + 1]
mov dword [rsi + 0x20], eax
add edx, 9
cmp qword [rsi], 0
je 0x14000b6b4
mov edi, dword [rsi + 0x28]
cmp edx, edi
ja 0x14000b69c
jmp 0x14000b6e6
add edx, 1
call fcn.1400087b0
mov rax, qword [rbx]
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx + 1], 0x89
jne 0x14000a739
add rdx, qword [rax + 0x40]
mov rcx, rsi
mov r8d, 2
call fcn.14000ca00
add dword [rbx + 0x10], 2
jmp 0x14000a873
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x40]
mov dword [rdx], ecx
add eax, 9
mov edi, eax
mov rax, qword [rsp + 0x40]
mov dword [rax], edi
mov eax, edi
add eax, 1
mov rcx, qword [rsp + 0x40]
mov dword [rcx], eax
add eax, 1
mov rcx, qword [rsp + 0x40]
mov dword [rcx], eax
add eax, 1
mov rcx, qword [rsp + 0x40]
mov dword [rcx], eax
jmp 0x14000b22b
lea eax, [rcx + 1]
mov rdx, qword [rsp + 0x40]
mov dword [rdx], eax
add ecx, 9
mov edi, ecx
mov rax, qword [rsp + 0x40]
mov dword [rax], edi
jmp 0x14000b22b
mov byte [rsi + 0x2c], 0
lea edi, [rax + 8]
cmp edi, edx
jbe 0x14000a322
mov byte [rsi + 0x2c], 0
cmp eax, edx
jae 0x14000a34a
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x48
mov eax, dword [rsi + 0x20]
add eax, 1
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
je 0x14000b5f2
mov edx, dword [rsi + 0x28]
cmp eax, edx
jb 0x14000a356
mov byte [rsi + 0x2c], 0
mov dil, byte [rsp + 0x88]
lea ecx, [rdi*8]
or cl, dil
cmp eax, edx
jae 0x14000b69c
mov rdx, qword [rsi + 0x10]
mov eax, eax
mov byte [rdx + rax], cl
add dword [rsi + 0x20], 1
jmp 0x14000b22b
mov byte [rsi + 0x2c], 0
lea edi, [rcx + 8]
cmp edi, eax
jbe 0x14000b6c0
mov byte [rsi + 0x2c], 0
jmp 0x14000b22b
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x40]
mov dword [rdx], ecx
add eax, 9
mov edx, eax
mov rax, qword [rsp + 0x40]
mov dword [rax], edx
jmp 0x14000b22b
lea rax, [r8 + rdx]
add rax, 4
mov rdx, qword [rsi + 0x10]
mov ecx, ecx
mov qword [rdx + rcx], rax
add dword [rsi + 0x20], 8
jmp 0x14000b22b
mov byte [rsi + 0x2c], 0
lea edx, [rax + 8]
cmp edx, edi
ja 0x14000b69c
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov qword [rcx + rax], r8
add dword [rsi + 0x20], 8
jmp 0x14000b22b
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xff
jne 0x14000b740
add edx, 1
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx + 1]
and al, 0xf8
cmp al, 0xf0
jne 0x14000b83f
add rdx, qword [rcx + 0x40]
jmp 0x14000b738
add rdx, qword [r8 + 0x40]
mov rcx, rsi
jmp 0x14000a1f2
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
jne 0x14000b775
add edx, 1
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx + 1]
and al, 0xf8
cmp al, 0x60
je 0x14000a19d
call fcn.1400087b0
mov rdi, qword [rbx]
mov rax, qword [rdi + 8]
mov r14d, dword [rbx + 0x10]
cmp byte [rax + r14], 0xc6
jne 0x14000acf2
add r14d, 1
mov ecx, 0x58
call qword [sym.imp.mozglue.dll_moz_xmalloc]
mov r12, rax
movabs rax, 0x100000001
mov qword [r12 + 8], rax
lea rax, [0x1400493b0]
mov qword [r12], rax
lea r15, [r12 + 0x10]
mov rcx, r15
mov rdx, rdi
mov r8d, r14d
call fcn.14000bbe0
mov qword [rsp + 0xc0], r15
mov qword [rsp + 0xc8], r12
mov dword [rsp + 0xd0], 0
lea rcx, [rsp + 0xc0]
xor edx, edx
call fcn.14000ca90
mov edi, eax
test r12, r12
je 0x14000b825
lock sub dword [r12 + 8], 1
jne 0x14000b825
mov rax, qword [r12]
mov rcx, r12
call qword [rax]
lock sub dword [r12 + 0xc], 1
jne 0x14000b825
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 8]
test edi, edi
mov r14d, dword [rsp + 0x2c]
mov r15, qword [rsp + 0x30]
js 0x14000acf2
add edi, 2
jmp 0x140009d00
add edx, 1
call fcn.1400087b0
mov rcx, qword [rbx]
mov rdx, qword [rcx + 8]
mov eax, dword [rbx + 0x10]
cmp byte [rdx + rax + 1], 0x25
jne 0x14000b87f
add eax, 2
mov dword [rbx + 0x10], eax
mov rcx, rbx
call fcn.14000ba50
mov rcx, rsi
mov rdx, rax
mov r8d, 2
call fcn.14000cc30
mov bpl, 1
jmp 0x14000aaef
lea edx, [rax + 1]
call fcn.1400087b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx + 1]
and al, 0xf8
cmp al, 0xd0
je 0x14000b72e
add edx, 1
call fcn.1400087b0
mov rdi, qword [rbx]
mov rax, qword [rdi + 8]
mov r14d, dword [rbx + 0x10]
mov al, byte [rax + r14 + 1]
and al, 0x38
cmp al, 0x20
jne 0x14000acf2
add r14d, 1
mov ecx, 0x58
call qword [sym.imp.mozglue.dll_moz_xmalloc]
mov rbp, rax
movabs rax, 0x100000001
mov qword [rbp + 8], rax
lea rax, [0x1400493b0]
mov qword [rbp], rax
lea r15, [rbp + 0x10]
mov rcx, r15
mov rdx, rdi
mov r8d, r14d
call fcn.14000bbe0
mov qword [rsp + 0xc0], r15
mov qword [rsp + 0xc8], rbp
mov dword [rsp + 0xd0], 0
lea rcx, [rsp + 0xc0]
xor edx, edx
call fcn.14000ca90
mov edi, eax
test rbp, rbp
je 0x14000b950
lock sub dword [rbp + 8], 1
jne 0x14000b950
mov rax, qword [rbp]
mov rcx, rbp
call qword [rax]
lock sub dword [rbp + 0xc], 1
jne 0x14000b950
mov rax, qword [rbp]
mov rcx, rbp
call qword [rax + 8]
test edi, edi
mov r14d, dword [rsp + 0x2c]
mov r15, qword [rsp + 0x30]
js 0x14000acf2
add edi, 1
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
mov rcx, rsi
mov r8d, edi
call fcn.14000ca00
add dword [rbx + 0x10], edi
mov bpl, 1
jmp 0x140009d18