Function at 0x140009c00
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, 0xf8
mov rsi, r9
mov rbp, r8
mov rbx, rdx
mov rdi, rcx
mov rcx, qword [rsp + 0x168]
mov rax, qword [0x14005b018]
xor rax, rsp
mov qword [rsp + 0xf0], rax
mov qword [rcx], 0
cmp qword [r9], 0
je 0x140009c70
cmp qword [rsi + 0x10], 0
je 0x14000ae88
cmp qword [rsi + 0x18], 0
je 0x14000ae88
cmp dword [rsi + 8], 0
je 0x14000ae88
cmp byte [rsi + 0x2c], 0
je 0x14000ae88
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_EncodePointer]
lea rcx, [rsi + 0x20]
mov qword [rsp + 0x38], rcx
mov ecx, dword [rsi + 0x20]
lea edx, [rcx + 8]
cmp qword [rsi], 0
je 0x14000a720
cmp edx, dword [rsi + 0x28]
ja 0x14000a72c
mov rdx, qword [rsi + 0x10]
mov qword [rdx + rcx], rax
add dword [rsi + 0x20], 8
cmp qword [rsi], 0
je 0x140009cd7
cmp qword [rsi + 0x10], 0
je 0x14000ae88
cmp qword [rsi + 0x18], 0
je 0x14000ae88
cmp dword [rsi + 8], 0
je 0x14000ae88
cmp byte [rsi + 0x2c], 0
je 0x14000ae88
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 + 0x40], rbp
je 0x14000a740
cmp edx, dword [rsi + 0x28]
ja 0x14000a74c
mov rdx, qword [rsi + 0x10]
mov qword [rdx + rcx], rax
add dword [rsi + 0x20], 8
cmp qword [rsi], 0
je 0x140009d41
cmp qword [rsi + 0x10], 0
je 0x14000ae7a
cmp qword [rsi + 0x18], 0
je 0x14000ae7a
cmp dword [rsi + 8], 0
je 0x14000ae7a
cmp byte [rsi + 0x2c], 0
je 0x14000ae7a
mov r8, qword [rsp + 0x160]
mov rcx, rsi
mov rdx, rbx
mov r9, qword [rsp + 0x168]
call fcn.14000c7d0
test al, al
jne 0x14000ae7a
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 + 0x37], al
jne 0x14000a760
mov r14d, 0xd
mov edx, dword [r15]
xor ebp, ebp
cmp edx, r14d
jae 0x14000adb6
mov dword [rsp + 0x24], r14d
mov qword [rsp + 0x28], r15
nop dword [rax]
mov rcx, qword [rbx]
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
movzx eax, byte [rax + rdx]
test bpl, 1
jne 0x14000a2b7
cmp al, 0xf
je 0x14000a020
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x88
jae 0x14000a000
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x40
je 0x14000a258
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x41
je 0x14000a258
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x44
je 0x14000a2dd
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x45
je 0x14000a320
call fcn.140008bc0
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 0x14000a0d0
add rdx, qword [rcx + 0x40]
mov rcx, rsi
mov r8d, 1
call fcn.14000ca30
mov edx, dword [rbx + 0x10]
add edx, 1
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x81
je 0x14000a3a5
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
je 0x14000a3f0
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
je 0x14000a41b
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
je 0x14000a466
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x2b
je 0x14000a4b1
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x85
je 0x14000a4f9
mov r13, rbp
call fcn.140008bc0
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 0x14000a51b
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, [0x14004e3e0]
mov qword [r14], rax
lea r12, [r14 + 0x10]
mov rcx, r12
mov rdx, rdi
mov r8d, r15d
call fcn.14000bc10
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x58], r14
mov dword [rsp + 0x60], 0
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x4f]
call fcn.14000cac0
mov edi, eax
lock sub dword [r14 + 8], 1
jne 0x140009fb4
mov rax, qword [r14]
mov rcx, r14
call qword [rax]
lock sub dword [r14 + 0xc], 1
jne 0x140009fb4
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 8]
test edi, edi
mov r14d, dword [rsp + 0x24]
mov r15, qword [rsp + 0x28]
js 0x14000a57c
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.14000ca30
add dword [rbx + 0x10], edi
mov edx, dword [r15]
cmp edx, r14d
jb 0x140009da0
jmp 0x14000adb6
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x8b
ja 0x140009de1
jmp 0x14000a76b
mov rax, qword [rcx + 0x40]
add rax, rdx
mov rcx, rsi
mov rdx, rax
mov r8d, 1
call fcn.14000ca30
mov edx, dword [rbx + 0x10]
add edx, 1
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x1f
jne 0x14000a183
add rdx, qword [rcx + 0x40]
mov rcx, rsi
mov r8d, 1
call fcn.14000ca30
mov edx, dword [rbx + 0x10]
add edx, 1
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.140008bc0
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 0x14000ae7a
call fcn.140008bc0
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 0x14000ae7a
add rdx, qword [rax + 0x40]
mov rcx, rsi
mov r8d, 3
call fcn.14000ca30
add dword [r15], 3
jmp 0x140009fe4
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x66
je 0x14000a7a0
call fcn.140008bc0
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 0x14000a23d
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x65
je 0x14000a857
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x80
je 0x14000a8c9
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x90
je 0x14000a23d
call fcn.140008bc0
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 0x14000a1a1
add rdx, qword [rcx + 0x40]
mov rcx, rsi
mov r8d, 5
call fcn.14000ca30
add dword [r15], 5
jmp 0x140009fe4
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 5
je 0x14000a23d
jmp 0x14000aac1
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x33
je 0x14000ab26
call fcn.140008bc0
mov rdi, qword [rbx]
mov rax, qword [rdi + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xf6
je 0x14000ab41
mov rcx, rdi
call fcn.140008bc0
mov rdi, qword [rbx]
mov rax, qword [rdi + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x85
je 0x14000abf9
mov rcx, rdi
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xd1
je 0x14000ac8d
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
je 0x14000acb9
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xc3
jne 0x14000ace5
add rdx, qword [rcx + 0x40]
mov rcx, rsi
mov r8d, 1
call fcn.14000ca30
add dword [r15], 1
jmp 0x140009fe4
add rdx, qword [rcx + 0x40]
mov rcx, rsi
mov r8d, 1
call fcn.14000ca30
mov edx, dword [rbx + 0x10]
add edx, 1
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.140008bc0
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 0x14000a360
add rdx, qword [rcx + 0x40]
mov rcx, rsi
mov r8d, 1
call fcn.14000ca30
mov r15, qword [rsp + 0x28]
add dword [r15], 1
mov r14d, dword [rsp + 0x24]
jmp 0x140009fe4
cmp al, 0x90
jne 0x14000ad66
add edx, 1
mov r15, qword [rsp + 0x28]
mov dword [r15], edx
mov r14d, dword [rsp + 0x24]
cmp edx, r14d
jb 0x140009da3
jmp 0x14000adb6
add rdx, qword [rcx + 0x40]
mov rcx, rsi
mov r8d, 1
call fcn.14000ca30
mov edx, dword [rbx + 0x10]
add edx, 1
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.140008bc0
mov rax, qword [rbx]
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx], 0x89
jne 0x14000ae7a
add rdx, qword [rax + 0x40]
mov rcx, rsi
jmp 0x14000a778
add rdx, qword [rcx + 0x40]
mov rcx, rsi
mov r8d, 1
call fcn.14000ca30
mov edx, dword [rbx + 0x10]
add edx, 1
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.140008bc0
mov rax, qword [rbx]
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx], 0x33
jne 0x14000ae7a
add rdx, qword [rax + 0x40]
jmp 0x14000ab2a
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xb8
mov r14d, dword [rsp + 0x24]
mov r15, qword [rsp + 0x28]
jb 0x14000ae7a
call fcn.140008bc0
mov rax, qword [rbx]
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx], 0xbf
ja 0x14000ae7a
add rdx, qword [rax + 0x40]
jmp 0x14000a16c
add edx, 1
call fcn.140008bc0
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 0x14000a657
mov rax, qword [rcx + 0x40]
add rax, rdx
mov rcx, rsi
mov rdx, rax
mov r8d, 6
call fcn.14000ca30
mov r15, qword [rsp + 0x28]
add dword [r15], 6
mov r14d, dword [rsp + 0x24]
jmp 0x140009fe4
add edx, 1
call fcn.140008bc0
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 0x14000a43b
mov r14d, dword [rsp + 0x24]
mov r15, qword [rsp + 0x28]
jmp 0x140009eb1
add edx, 1
call fcn.140008bc0
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 0x14000a666
mov rax, qword [rcx + 0x40]
add rax, rdx
mov rcx, rsi
mov rdx, rax
mov r8d, 3
call fcn.14000ca30
mov r15, qword [rsp + 0x28]
add dword [r15], 3
mov r14d, dword [rsp + 0x24]
jmp 0x140009fe4
add edx, 1
call fcn.140008bc0
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 0x14000a675
mov rax, qword [rcx + 0x40]
add rax, rdx
mov rcx, rsi
mov rdx, rax
mov r8d, 5
call fcn.14000ca30
mov r15, qword [rsp + 0x28]
add dword [r15], 5
mov r14d, dword [rsp + 0x24]
jmp 0x140009fe4
add edx, 1
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0xc0
jb 0x14000a684
mov rax, qword [rcx + 0x40]
add rax, rdx
mov rcx, rsi
mov rdx, rax
mov r8d, 2
call fcn.14000ca30
mov r15, qword [rsp + 0x28]
add dword [r15], 2
mov r14d, dword [rsp + 0x24]
jmp 0x140009fe4
add edx, 1
call fcn.140008bc0
mov rax, qword [rbx]
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx + 1], 0xc0
jb 0x14000ae7a
jmp 0x14000a357
mov rcx, rdi
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xc7
jne 0x14000a693
add edx, 1
call fcn.140008bc0
mov rax, qword [rbx]
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx + 1], 0x44
mov r14d, dword [rsp + 0x24]
mov r15, qword [rsp + 0x28]
jne 0x14000ae7a
mov rbp, r13
add rdx, qword [rax + 0x40]
mov rcx, rsi
mov r8d, 8
call fcn.14000ca30
add dword [r15], 8
jmp 0x140009fe4
cmp edi, 0xfffffffe
jne 0x14000ae7a
add dword [rbx + 0x10], 2
mov rcx, rbx
call fcn.14000be10
mov dl, byte [rsp + 0x4f]
test dl, dl
je 0x14000b301
cmp qword [rsi], 0
mov ecx, dword [rsi + 0x20]
je 0x14000b3eb
mov r8d, dword [rsi + 0x28]
cmp ecx, r8d
jae 0x14000b426
add dl, 0xb8
mov rdi, qword [rsi + 0x10]
mov byte [rdi + rcx], dl
mov edi, dword [rsi + 0x20]
lea ecx, [rdi + 1]
mov dword [rsi + 0x20], ecx
add edi, 9
cmp qword [rsi], 0
je 0x14000b3fa
mov r8d, dword [rsi + 0x28]
cmp edi, r8d
ja 0x14000b436
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 0x14000b403
mov r8d, dword [rsi + 0x28]
cmp ecx, r8d
jb 0x14000b443
mov byte [rsi + 0x2c], 0
cmp ecx, r8d
jae 0x14000b469
mov rax, qword [rsi + 0x10]
mov ecx, ecx
mov byte [rax + rcx], 0x8b
mov ecx, dword [rsi + 0x20]
add ecx, 1
mov dword [rsi + 0x20], ecx
cmp qword [rsi], 0
je 0x14000b417
mov dl, byte [rsp + 0x4f]
lea eax, [rdx*8]
or al, dl
mov r8d, dword [rsi + 0x28]
cmp ecx, r8d
jae 0x14000b4a1
jmp 0x14000b47f
mov r14d, dword [rsp + 0x24]
mov r15, qword [rsp + 0x28]
jmp 0x140009e98
mov r14d, dword [rsp + 0x24]
mov r15, qword [rsp + 0x28]
jmp 0x140009eca
mov r14d, dword [rsp + 0x24]
mov r15, qword [rsp + 0x28]
jmp 0x140009ee3
mov r14d, dword [rsp + 0x24]
mov r15, qword [rsp + 0x28]
jmp 0x140009efc
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xff
jne 0x14000a9ee
add edx, 1
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0x3f
mov r14d, dword [rsp + 0x24]
mov r15, qword [rsp + 0x28]
ja 0x14000ae7a
add edx, 1
call fcn.140008bc0
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 0x14000ae7a
add eax, 2
mov dword [rbx + 0x10], eax
add dword [rsi + 0x20], 0xffffffff
mov rcx, rbx
call fcn.14000bb50
mov rcx, rsi
mov rdx, rax
mov r8d, 3
call fcn.14000cc50
mov bpl, 1
jmp 0x14000b18c
mov rax, qword [rsp + 0x38]
mov dword [rax], edx
jmp 0x140009cd7
mov byte [rsi + 0x2c], 0
cmp qword [rsi + 0x10], 0
jne 0x140009cb8
jmp 0x14000ae88
mov rax, qword [rsp + 0x38]
mov dword [rax], edx
jmp 0x140009d41
mov byte [rsi + 0x2c], 0
cmp qword [rsi + 0x10], 0
jne 0x140009d22
jmp 0x14000ae7a
mov r14d, 0xa
jmp 0x140009d85
mov rax, qword [rcx + 0x40]
add rax, rdx
mov rcx, rsi
mov rdx, rax
mov r8d, 1
call fcn.14000ca30
add dword [rbx + 0x10], 1
mov rcx, rbx
xor edx, edx
call fcn.14000cac0
test eax, eax
js 0x14000ae7a
mov edi, eax
jmp 0x140009fcc
add rdx, qword [rcx + 0x40]
mov rcx, rsi
mov r8d, 1
call fcn.14000ca30
mov edx, dword [rbx + 0x10]
add edx, 1
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x88
jb 0x14000a9c6
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x8b
ja 0x14000a9c6
add edx, 1
call fcn.140008bc0
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 0x14000b254
cmp cl, 0xc0
je 0x14000b5f7
cmp cl, 0x40
jne 0x14000ae7a
and eax, 7
add rdx, qword [r8 + 0x40]
mov rcx, rsi
cmp eax, 4
jne 0x14000a448
mov r8d, 4
call fcn.14000ca30
mov r15, qword [rsp + 0x28]
add dword [r15], 4
mov r14d, dword [rsp + 0x24]
jmp 0x140009fe4
add edx, 1
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0x48
jne 0x14000ae7a
add edx, 2
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 2], 0x88
jb 0x14000ae7a
add edx, 2
call fcn.140008bc0
mov rax, qword [rbx]
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx + 2], 0x8b
ja 0x14000ae7a
add rdx, qword [rax + 0x40]
mov rcx, rsi
mov r8d, 3
call fcn.14000ca30
add dword [rbx + 0x10], 3
jmp 0x14000a787
add edx, 1
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0x3d
jne 0x14000ad29
lea eax, [rdx + 2]
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
cmp qword [rsi], 0
mov eax, dword [rsi + 0x20]
jne 0x14000af19
add eax, 1
mov rcx, qword [rsp + 0x38]
mov dword [rcx], eax
add eax, 1
mov rcx, qword [rsp + 0x38]
mov dword [rcx], eax
mov rcx, rbx
call fcn.14000be10
cmp qword [rsi], 0
mov ecx, dword [rsi + 0x20]
jne 0x14000af53
add ecx, 1
mov rax, qword [rsp + 0x38]
mov dword [rax], ecx
lea eax, [rcx + 1]
mov rdx, qword [rsp + 0x38]
mov dword [rdx], eax
add ecx, 9
mov edi, ecx
mov rax, qword [rsp + 0x38]
mov dword [rax], edi
mov ecx, edi
add ecx, 1
mov rax, qword [rsp + 0x38]
mov dword [rax], ecx
add ecx, 1
mov rax, qword [rsp + 0x38]
mov dword [rax], ecx
add ecx, 1
mov rax, qword [rsp + 0x38]
mov dword [rax], ecx
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
mov rcx, rsi
mov r8d, 1
call fcn.14000ca30
add dword [rbx + 0x10], 1
cmp qword [rsi], 0
mov eax, dword [rsi + 0x20]
je 0x14000b111
mov ecx, dword [rsi + 0x28]
cmp eax, ecx
jae 0x14000b12a
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 0x14000b11b
mov ecx, dword [rsi + 0x28]
cmp eax, ecx
jb 0x14000b136
mov byte [rsi + 0x2c], 0
jmp 0x14000a9df
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x44
je 0x14000b3b3
mov r14d, dword [rsp + 0x24]
mov r15, qword [rsp + 0x28]
jmp 0x140009fe4
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x8d
jne 0x14000ad38
add edx, 1
call fcn.140008bc0
mov r15, qword [rbx]
mov rax, qword [r15 + 8]
mov ebp, dword [rbx + 0x10]
cmp byte [rax + rbp + 1], 0x3f
ja 0x14000b067
lea edx, [rbp + 1]
mov rcx, r15
call fcn.140008bc0
mov r15, qword [rbx]
mov rax, qword [r15 + 8]
mov ebp, dword [rbx + 0x10]
mov al, byte [rax + rbp + 1]
and al, 7
cmp al, 5
jne 0x14000b067
lea edx, [rbp + 1]
mov rcx, r15
call fcn.140008bc0
mov rax, qword [rbx]
mov rax, qword [rax + 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.14000be10
cmp qword [rsi], 0
mov ecx, dword [rsi + 0x20]
je 0x14000b33f
mov r8d, dword [rsi + 0x28]
cmp ecx, r8d
jae 0x14000b491
shr dil, 3
or dil, 0xb8
mov rdx, qword [rsi + 0x10]
mov byte [rdx + rcx], dil
mov edx, dword [rsi + 0x20]
lea ecx, [rdx + 1]
mov dword [rsi + 0x20], ecx
add edx, 9
cmp qword [rsi], 0
je 0x14000b34e
mov r8d, dword [rsi + 0x28]
cmp edx, r8d
jbe 0x14000b5e4
jmp 0x14000b4a1
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x10
je 0x14000aaef
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x11
jne 0x14000b149
add rdx, qword [rcx + 0x40]
mov rcx, rsi
mov r8d, 1
call fcn.14000ca30
add dword [rbx + 0x10], 1
mov rcx, rbx
xor edx, edx
call fcn.14000cac0
test eax, eax
mov r14d, dword [rsp + 0x24]
mov r15, qword [rsp + 0x28]
js 0x14000ae7a
jmp 0x14000a799
add rdx, qword [rcx + 0x40]
mov rcx, rsi
mov r8d, 2
call fcn.14000ca30
add dword [r15], 2
jmp 0x140009fe4
mov byte [rsp + 0x4f], 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, [0x14004e3e0]
mov qword [r14], rax
lea r12, [r14 + 0x10]
mov rcx, r12
mov rdx, rdi
mov r8d, r15d
call fcn.14000bc10
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x58], r14
mov dword [rsp + 0x60], 0
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x4f]
call fcn.14000cac0
mov edi, eax
lock sub dword [r14 + 8], 1
jne 0x14000abc6
mov rax, qword [r14]
mov rcx, r14
call qword [rax]
lock sub dword [r14 + 0xc], 1
jne 0x14000abc6
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 8]
test edi, edi
js 0x14000ae7a
cmp byte [rsp + 0x4f], 0
jne 0x14000ae7a
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.14000ca30
add dword [rbx + 0x10], edi
jmp 0x14000a9df
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, [0x14004e3e0]
mov qword [r14], rax
lea r12, [r14 + 0x10]
mov rcx, r12
mov rdx, rdi
mov r8d, r15d
call fcn.14000bc10
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x58], r14
mov dword [rsp + 0x60], 0
lea rcx, [rsp + 0x50]
xor edx, edx
call fcn.14000cac0
mov edi, eax
lock sub dword [r14 + 8], 1
jne 0x14000ac76
mov rax, qword [r14]
mov rcx, r14
call qword [rax]
lock sub dword [r14 + 0xc], 1
jne 0x14000ac76
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 8]
test edi, edi
mov r14d, dword [rsp + 0x24]
mov r15, qword [rsp + 0x28]
js 0x14000ae7a
jmp 0x140009fc9
add edx, 1
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0xc0
jae 0x14000a4ce
mov r14d, dword [rsp + 0x24]
mov r15, qword [rsp + 0x28]
jmp 0x14000a20b
add edx, 1
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0xc0
jae 0x14000a43b
mov r14d, dword [rsp + 0x24]
mov r15, qword [rsp + 0x28]
jmp 0x14000a224
mov rdi, rbp
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xcc
jne 0x14000afe6
add rdx, qword [rcx + 0x40]
mov rcx, rsi
mov r8d, 1
call fcn.14000ca30
mov r15, qword [rsp + 0x28]
add dword [r15], 1
mov r14d, dword [rsp + 0x24]
mov rbp, rdi
jmp 0x140009fe4
mov r14d, dword [rsp + 0x24]
mov r15, qword [rsp + 0x28]
jmp 0x14000a137
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x63
mov r14d, dword [rsp + 0x24]
mov r15, qword [rsp + 0x28]
jne 0x14000ae7a
mov rbp, r13
add edx, 1
jmp 0x14000a4fc
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xcc
je 0x14000a2bf
cmp qword [rsp + 0x40], 0
je 0x14000ae7a
cmp edx, 0xa
jb 0x14000ae7a
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
mov ecx, dword [rax + 0x20]
add rcx, qword [rax + 0x18]
mov byte [rsp + 0x37], 1
mov eax, 0x80000001
cmp rcx, rax
jae 0x14000ae7a
cmp edx, 0x64
ja 0x14000ae7a
test bpl, 1
jne 0x14000ade4
mov rax, qword [rbx]
mov edx, edx
add rdx, qword [rax + 0x40]
mov rcx, rsi
mov r8d, 3
call fcn.14000cc50
test al, al
je 0x14000ae7a
cmp byte [rsi + 0x2c], 0
je 0x14000ae7a
cmp qword [rsi], 0
je 0x14000ae7a
mov edi, dword [rsi + 0x24]
add rdi, qword [rsi + 0x18]
je 0x14000ae7a
lea rdx, [rsp + 0x50]
mov rcx, rbx
xor r8d, r8d
xor r9d, r9d
call fcn.14000d060
cmp qword [rsp + 0xc0], 0
je 0x14000ae5b
cmp byte [rsp + 0xa8], 0
je 0x14000ae5b
cmp byte [rsp + 0x37], 0
jne 0x14000aead
lea rcx, [rsp + 0x50]
mov rdx, qword [rsp + 0x160]
call fcn.14000d5b0
lea rcx, [rsp + 0x50]
call fcn.14000d650
test al, al
je 0x14000ae5b
mov rax, qword [rsp + 0x168]
mov qword [rax], rdi
lea rcx, [rsp + 0xb0]
call fcn.14000ddd0
mov rcx, qword [rsp + 0x70]
lea rax, [rsp + 0x88]
cmp rcx, rax
jne 0x14000aed1
mov rax, qword [rsp + 0x168]
cmp qword [rax], 0
je 0x14000aed9
mov rcx, qword [rsp + 0xf0]
xor rcx, rsp
call fcn.14004ce20
nop
add rsp, 0xf8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, [rsp + 0x50]
mov rcx, qword [rsp + 0x40]
mov rdx, rdi
mov r9, qword [rsp + 0x160]
call fcn.14000d1b0
test al, al
jne 0x14000ae42
jmp 0x14000ae5b
call qword [sym.imp.mozglue.dll_free]
jmp 0x14000ae7a
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 0x14000aeff
cmp edx, dword [rsi + 0x28]
jbe 0x14000af08
mov byte [rsi + 0x2c], 0
jmp 0x14000ae88
mov rax, qword [rsp + 0x38]
mov dword [rax], edx
jmp 0x14000ae88
mov rdx, qword [rsi + 0x10]
mov qword [rdx + rcx], rax
add dword [rsi + 0x20], 8
jmp 0x14000ae88
mov ecx, dword [rsi + 0x28]
cmp eax, ecx
jae 0x14000b199
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 0x14000a907
mov ecx, dword [rsi + 0x28]
cmp eax, ecx
jb 0x14000b1a5
mov byte [rsi + 0x2c], 0
jmp 0x14000a911
mov edx, dword [rsi + 0x28]
cmp ecx, edx
jae 0x14000b1b8
mov rdx, qword [rsi + 0x10]
mov byte [rdx + rcx], 0x49
mov ecx, dword [rsi + 0x20]
add ecx, 1
mov dword [rsi + 0x20], ecx
cmp qword [rsi], 0
je 0x14000a930
mov edx, dword [rsi + 0x28]
cmp ecx, edx
jb 0x14000b1c4
mov byte [rsi + 0x2c], 0
lea edi, [rcx + 8]
cmp edi, edx
jbe 0x14000b1ef
mov byte [rsi + 0x2c], 0
cmp ecx, edx
jae 0x14000b217
mov rax, qword [rsi + 0x10]
mov ecx, ecx
mov byte [rax + rcx], 0x41
mov ecx, dword [rsi + 0x20]
add ecx, 1
mov dword [rsi + 0x20], ecx
cmp qword [rsi], 0
je 0x14000a952
mov edx, dword [rsi + 0x28]
cmp ecx, edx
jb 0x14000b223
mov byte [rsi + 0x2c], 0
cmp ecx, edx
jae 0x14000b24b
mov rax, qword [rsi + 0x10]
mov ecx, ecx
mov byte [rax + rcx], 0x3b
add dword [rsi + 0x20], 1
jmp 0x14000a966
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xe8
je 0x14000b014
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xe9
jne 0x14000b270
call fcn.140008bc0
mov rax, qword [rbx]
mov rax, qword [rax + 8]
mov ecx, dword [rbx + 0x10]
xor ebp, ebp
cmp byte [rax + rcx], 0xe9
sete bpl
lea eax, [rcx + 1]
mov dword [rbx + 0x10], eax
mov edi, 4
sub edi, ebp
mov rcx, rbx
call fcn.14000be10
mov rcx, rsi
mov rdx, rax
mov r8d, edi
call fcn.14000cc50
test al, al
mov r14d, dword [rsp + 0x24]
mov r15, qword [rsp + 0x28]
jne 0x140009fe4
jmp 0x14000ae7a
add ebp, 1
mov ecx, 0x58
call qword [sym.imp.mozglue.dll_moz_xmalloc]
mov rdi, rax
movabs rax, 0x100000001
mov qword [rdi + 8], rax
lea rax, [0x14004e3e0]
mov qword [rdi], rax
lea r14, [rdi + 0x10]
mov rcx, r14
mov rdx, r15
mov r8d, ebp
call fcn.14000bc10
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], rdi
mov dword [rsp + 0x60], 0
lea rcx, [rsp + 0x50]
xor edx, edx
call fcn.14000cac0
mov r14d, eax
lock sub dword [rdi + 8], 1
jne 0x14000b0e2
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
lock sub dword [rdi + 0xc], 1
jne 0x14000b0e2
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
add r14d, 1
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
mov rcx, rsi
mov r8d, r14d
call fcn.14000ca30
add dword [rbx + 0x10], r14d
mov r14d, dword [rsp + 0x24]
mov rbp, r13
mov r15, qword [rsp + 0x28]
jmp 0x140009fe4
add eax, 1
mov rcx, qword [rsp + 0x38]
mov dword [rcx], eax
add eax, 1
mov rcx, qword [rsp + 0x38]
mov dword [rcx], eax
jmp 0x14000a9df
mov byte [rsi + 0x2c], 0
cmp eax, ecx
jae 0x14000a9c0
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x5b
add dword [rsi + 0x20], 1
jmp 0x14000a9df
call fcn.140008bc0
mov rax, qword [rbx]
mov rcx, qword [rax + 8]
mov eax, dword [rbx + 0x10]
cmp byte [rcx + rax], 0x84
mov r14d, dword [rsp + 0x24]
mov r15, qword [rsp + 0x28]
jne 0x14000ae7a
add eax, 1
mov dword [rbx + 0x10], eax
add dword [rsi + 0x20], 0xffffffff
mov rcx, rbx
call fcn.14000be10
mov rcx, rsi
mov rdx, rax
xor r8d, r8d
call fcn.14000cc50
test al, al
jne 0x140009fe4
jmp 0x14000ae7a
mov byte [rsi + 0x2c], 0
cmp eax, ecx
jae 0x14000af4a
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x53
add dword [rsi + 0x20], 1
jmp 0x14000a911
mov byte [rsi + 0x2c], 0
cmp ecx, edx
jae 0x14000af84
mov rdx, qword [rsi + 0x10]
mov ecx, ecx
mov byte [rdx + rcx], 0xbb
mov edi, dword [rsi + 0x20]
lea ecx, [rdi + 1]
mov dword [rsi + 0x20], ecx
add edi, 9
cmp qword [rsi], 0
je 0x14000a93f
mov edx, dword [rsi + 0x28]
cmp edi, edx
ja 0x14000af93
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 0x14000a948
mov edx, dword [rsi + 0x28]
cmp ecx, edx
jb 0x14000af9f
mov byte [rsi + 0x2c], 0
cmp ecx, edx
jae 0x14000afc7
mov rax, qword [rsi + 0x10]
mov ecx, ecx
mov byte [rax + rcx], 0x80
mov ecx, dword [rsi + 0x20]
add ecx, 1
mov dword [rsi + 0x20], ecx
cmp qword [rsi], 0
je 0x14000a95c
mov edx, dword [rsi + 0x28]
cmp ecx, edx
jb 0x14000afd3
mov byte [rsi + 0x2c], 0
jmp 0x14000a966
mov edi, eax
and edi, 6
cmp edi, 4
jne 0x14000b5f7
cmp ecx, 0x40
jne 0x14000ae7a
jmp 0x14000a826
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x73
jb 0x14000b35a
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x75
ja 0x14000b35a
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
movzx eax, byte [rax + rdx]
lea rbp, [0x14004e400]
mov ebp, dword [rbp + rax*4 - 0x1cc]
add edx, 1
call fcn.140008bc0
mov rax, qword [rbx]
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, ebp
call fcn.14000cc50
test al, al
mov r14d, dword [rsp + 0x24]
mov rbp, rdi
jmp 0x14000b057
cmp qword [rsi], 0
mov ecx, dword [rsi + 0x20]
je 0x14000b33f
mov edi, dword [rsi + 0x28]
cmp ecx, edi
jae 0x14000b5d5
mov rdx, qword [rsi + 0x10]
mov byte [rdx + rcx], 0xa1
mov edx, dword [rsi + 0x20]
lea ecx, [rdx + 1]
mov dword [rsi + 0x20], ecx
add edx, 9
cmp qword [rsi], 0
je 0x14000b34e
mov edi, dword [rsi + 0x28]
cmp edx, edi
jbe 0x14000b5e4
jmp 0x14000b4a1
lea eax, [rcx + 1]
mov rdx, qword [rsp + 0x38]
mov dword [rdx], eax
add ecx, 9
mov edx, ecx
mov rax, qword [rsp + 0x38]
mov dword [rax], edx
jmp 0x14000b0ff
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xff
jne 0x14000b4aa
add edx, 1
call fcn.140008bc0
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 0x14000b603
add rdx, qword [rcx + 0x40]
mov rcx, rsi
mov r8d, 2
call fcn.14000ca30
mov r15, qword [rsp + 0x28]
add dword [r15], 2
jmp 0x14000ad1c
add edx, 1
call fcn.140008bc0
mov rax, qword [rbx]
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx + 1], 0x89
jne 0x14000a9df
add rdx, qword [rax + 0x40]
mov rcx, rsi
mov r8d, 2
call fcn.14000ca30
add dword [rbx + 0x10], 2
jmp 0x14000ab05
lea eax, [rcx + 1]
mov rdx, qword [rsp + 0x38]
mov dword [rdx], eax
add ecx, 9
mov edi, ecx
mov rax, qword [rsp + 0x38]
mov dword [rax], edi
mov ecx, edi
add ecx, 1
mov rax, qword [rsp + 0x38]
mov dword [rax], ecx
add ecx, 1
mov rax, qword [rsp + 0x38]
mov dword [rax], ecx
add ecx, 1
mov rax, qword [rsp + 0x38]
mov dword [rax], ecx
jmp 0x14000b0ff
mov byte [rsi + 0x2c], 0
lea edi, [rcx + 8]
cmp edi, r8d
jbe 0x14000a5e4
mov byte [rsi + 0x2c], 0
cmp ecx, r8d
jae 0x14000a60e
mov rax, qword [rsi + 0x10]
mov ecx, ecx
mov byte [rax + rcx], 0x48
mov ecx, dword [rsi + 0x20]
add ecx, 1
mov dword [rsi + 0x20], ecx
cmp qword [rsi], 0
je 0x14000b40d
mov r8d, dword [rsi + 0x28]
cmp ecx, r8d
jb 0x14000a61b
mov byte [rsi + 0x2c], 0
mov dl, byte [rsp + 0x4f]
lea eax, [rdx*8]
or al, dl
cmp ecx, r8d
jae 0x14000b4a1
mov rdx, qword [rsi + 0x10]
mov ecx, ecx
mov byte [rdx + rcx], al
add dword [rsi + 0x20], 1
jmp 0x14000b0ff
mov byte [rsi + 0x2c], 0
lea edx, [rcx + 8]
cmp edx, r8d
jbe 0x14000b5e4
mov byte [rsi + 0x2c], 0
jmp 0x14000b0ff
call fcn.140008bc0
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
jne 0x14000b501
add edx, 1
call fcn.140008bc0
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 0x14000b501
mov rax, qword [rcx + 0x40]
add rax, rdx
mov rcx, rsi
mov rdx, rax
mov r8d, 5
call fcn.14000ca30
mov r15, qword [rsp + 0x28]
add dword [r15], 5
jmp 0x14000ad1c
call fcn.140008bc0
mov rbp, qword [rbx]
mov rax, qword [rbp + 8]
mov r14d, dword [rbx + 0x10]
cmp byte [rax + r14], 0xc6
jne 0x14000ae7a
add r14d, 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, [0x14004e3e0]
mov qword [r13], rax
lea r15, [r13 + 0x10]
mov rcx, r15
mov rdx, rbp
mov r8d, r14d
call fcn.14000bc10
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], r13
mov dword [rsp + 0x60], 0
lea rcx, [rsp + 0x50]
xor edx, edx
call fcn.14000cac0
mov r12d, eax
lock sub dword [r13 + 8], 1
jne 0x14000b59d
mov rax, qword [r13]
mov rcx, r13
call qword [rax]
lock sub dword [r13 + 0xc], 1
jne 0x14000b59d
mov rax, qword [r13]
mov rcx, r13
call qword [rax + 8]
test r12d, r12d
mov r14d, dword [rsp + 0x24]
mov r15, qword [rsp + 0x28]
js 0x14000ae7a
mov rbp, rdi
add r12d, 2
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
mov rcx, rsi
mov r8d, r12d
call fcn.14000ca30
add dword [rbx + 0x10], r12d
jmp 0x140009fe4
mov byte [rsi + 0x2c], 0
lea edx, [rcx + 8]
cmp edx, edi
ja 0x14000b4a1
mov rdx, qword [rsi + 0x10]
mov ecx, ecx
mov qword [rdx + rcx], rax
add dword [rsi + 0x20], 8
jmp 0x14000b0ff
add rdx, qword [r8 + 0x40]
mov rcx, rsi
jmp 0x14000a4db
add edx, 1
call fcn.140008bc0
mov rcx, qword [rbx]
mov rdx, qword [rcx + 8]
mov eax, dword [rbx + 0x10]
cmp byte [rdx + rax + 1], 0x25
jne 0x14000b643
add eax, 2
mov dword [rbx + 0x10], eax
mov rcx, rbx
call fcn.14000bb50
mov rcx, rsi
mov rdx, rax
mov r8d, 3
call fcn.14000cc50
mov bpl, 1
jmp 0x14000b050
lea edx, [rax + 1]
call fcn.140008bc0
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 0x14000b393
add edx, 1
call fcn.140008bc0
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 0x14000ae7a
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, [0x14004e3e0]
mov qword [rbp], rax
lea r15, [rbp + 0x10]
mov rcx, r15
mov rdx, rdi
mov r8d, r14d
call fcn.14000bc10
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], rbp
mov dword [rsp + 0x60], 0
lea rcx, [rsp + 0x50]
xor edx, edx
call fcn.14000cac0
mov edi, eax
lock sub dword [rbp + 8], 1
jne 0x14000b703
mov rax, qword [rbp]
mov rcx, rbp
call qword [rax]
lock sub dword [rbp + 0xc], 1
jne 0x14000b703
mov rax, qword [rbp]
mov rcx, rbp
call qword [rax + 8]
test edi, edi
mov r14d, dword [rsp + 0x24]
mov r15, qword [rsp + 0x28]
js 0x14000ae7a
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.14000ca30
add dword [rbx + 0x10], edi
mov bpl, 1
jmp 0x140009fe4