Function at 0x140014550
Capabilities:
Check for software breakpoints
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x128
mov r14, r9
mov rsi, r8
mov rbx, rdx
mov rdi, rcx
mov rcx, qword [rsp + 0x198]
mov rax, qword [0x14005e018]
xor rax, rsp
mov qword [rsp + 0x120], rax
mov qword [rcx], 0
cmp qword [r9], 0
je 0x1400145c2
cmp qword [r14 + 0x10], 0
je 0x140015338
cmp qword [r14 + 0x18], 0
je 0x140015338
cmp dword [r14 + 8], 0
je 0x140015338
cmp byte [r14 + 0x2c], 0
je 0x140015338
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_EncodePointer]
lea r15, [r14 + 0x20]
mov ecx, dword [r14 + 0x20]
lea edx, [rcx + 8]
cmp qword [r14], 0
je 0x1400159a5
cmp edx, dword [r14 + 0x28]
ja 0x1400159ad
mov rdx, qword [r14 + 0x10]
mov qword [rdx + rcx], rax
add dword [r14 + 0x20], 8
cmp qword [r14], 0
je 0x14001462a
mov al, byte [r14 + 0x2c]
cmp qword [r14 + 0x10], 0
je 0x140015338
cmp qword [r14 + 0x18], 0
je 0x140015338
cmp dword [r14 + 8], 0
je 0x140015338
test al, al
je 0x140015338
mov rax, qword [rbx]
mov ecx, dword [rbx + 0x10]
add rcx, qword [rax + 0x40]
call qword [sym.imp.KERNEL32.dll_EncodePointer]
mov ecx, dword [r14 + 0x20]
lea edx, [rcx + 8]
cmp qword [r14], 0
mov qword [rsp + 0x70], rsi
je 0x1400159b9
cmp edx, dword [r14 + 0x28]
ja 0x1400159c1
mov rdx, qword [r14 + 0x10]
mov qword [rdx + rcx], rax
add dword [r14 + 0x20], 8
cmp qword [r14], 0
je 0x14001469a
mov al, byte [r14 + 0x2c]
cmp qword [r14 + 0x10], 0
je 0x140015326
cmp qword [r14 + 0x18], 0
je 0x140015326
cmp dword [r14 + 8], 0
je 0x140015326
test al, al
je 0x140015326
mov rcx, qword [rbx]
mov edx, dword [rbx + 0x10]
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400146b5
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x48
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x48], r15
jne 0x1400146ed
inc edx
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400146df
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0xb8
je 0x140015f0f
mov eax, dword [r14 + 0x20]
mov dword [r14 + 0x24], eax
cmp byte [rdi + 0x34], 0
je 0x1400159cd
lea rsi, [rbx + 0x10]
mov eax, dword [rdi + 0x30]
and eax, 2
mov ecx, eax
shr ecx, 1
mov dword [rsp + 0x6c], ecx
xor ecx, ecx
test eax, eax
sete cl
lea r12d, [rcx + rcx*2]
add r12d, 0xa
mov edx, dword [rsi]
cmp edx, r12d
jae 0x14001535d
lea r13, [r14 + 0x28]
lea rax, [r14 + 0x2c]
mov qword [rsp + 0x58], rax
xor eax, eax
mov qword [rsp + 0x60], rax
mov edi, edx
mov qword [rsp + 0x50], rsi
mov dword [rsp + 0x3c], r12d
mov qword [rsp + 0x40], r13
mov rcx, qword [rbx]
mov edx, edi
test byte [rsp + 0x60], 1
jne 0x1400153f9
mov edx, edi
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014777
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xf
je 0x140014b95
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014799
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x88
jae 0x140014b6e
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400147bb
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x40
je 0x140015383
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400147dd
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x41
je 0x140015383
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400147ff
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x44
je 0x1400154c1
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014821
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x45
je 0x14001555f
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014843
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xfa
cmp al, 0x48
jne 0x140014d78
mov rax, qword [r14]
mov r8d, dword [r14 + 0x20]
lea ebp, [r8 + 1]
test rax, rax
je 0x14001564a
cmp ebp, dword [r13]
ja 0x140015369
cmp qword [rax], 0
je 0x140015369
add rdx, qword [rcx + 0x40]
add r8, qword [r14 + 0x10]
mov qword [rsp + 0x80], 0
mov rcx, qword [rax]
lea rax, [rsp + 0x80]
mov qword [rsp + 0x20], rax
mov r9d, 1
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x140015369
cmp qword [rsp + 0x80], 1
jne 0x140015369
inc dword [r15]
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400148e5
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x81
je 0x140015652
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014907
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
je 0x1400156a4
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014929
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
je 0x1400156ce
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001494b
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
je 0x140015720
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001496d
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x2b
je 0x140015772
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001498f
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x85
je 0x1400157c1
call fcn.140016f80
mov rbp, qword [rbx]
mov rax, qword [rbp + 0x10]
test rax, rax
je 0x1400149b1
mov rax, qword [rbp + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xfd
cmp al, 0x89
jne 0x140015804
lea esi, [rdx + 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, [0x140050370]
mov qword [rdi], rax
lea r14, [rdi + 0x10]
mov rax, qword [rbp]
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x20], 0
mov qword [rdi + 0x28], 0x20
lea rax, [rdi + 0x30]
mov qword [rdi + 0x18], rax
mov rcx, qword [rbp + 0x40]
add rcx, rsi
mov qword [rdi + 0x50], rcx
mov r15, qword [rbp + 0x10]
cmp r15, rsi
jbe 0x140014a63
mov r13, qword [rbp + 8]
lea rbp, [r15 + r13]
add r13, rsi
mov r12, rbp
sub r12, r13
cmp r12, 0x21
jae 0x140015850
xor ecx, ecx
cmp r15, rsi
jle 0x140014a5c
add rax, rcx
mov cl, byte [r13]
mov byte [rax], cl
inc r13
inc rax
cmp r13, rbp
jb 0x140014a47
mov rcx, qword [rdi + 0x20]
add rcx, r12
mov qword [rdi + 0x20], rcx
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x88], rdi
mov dword [rsp + 0x90], 0
lea rcx, [rsp + 0x80]
lea rdx, [rsp + 0x78]
call fcn.140017150
mov ebp, eax
lock dec dword [rdi + 8]
jne 0x140014abd
mov rax, qword [rdi]
mov rax, qword [rax]
mov rcx, rdi
call qword [case.0x14002bdde.0]
lock dec dword [rdi + 0xc]
jne 0x140014abd
mov rax, qword [rdi]
mov rax, qword [rax + 8]
mov rcx, rdi
call qword [case.0x14002bdde.0]
test ebp, ebp
mov r14, qword [rsp + 0x30]
mov r15, qword [rsp + 0x48]
mov r12d, dword [rsp + 0x3c]
mov r13, qword [rsp + 0x40]
js 0x140015874
lea esi, [rbp + 1]
mov rax, qword [r14]
mov r8d, dword [r14 + 0x20]
lea ecx, [r8 + rbp]
inc ecx
test rax, rax
je 0x1400158e5
cmp ecx, dword [r13]
ja 0x140015376
cmp qword [rax], 0
je 0x140015376
mov rcx, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rcx + 0x40]
add r8, qword [r14 + 0x10]
mov edi, esi
mov qword [rsp + 0x80], 0
mov rcx, qword [rax]
lea rax, [rsp + 0x80]
mov qword [rsp + 0x20], rax
mov r9, rdi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x140015376
cmp qword [rsp + 0x80], rdi
jne 0x140015376
add dword [r15], esi
mov rax, qword [rsp + 0x50]
add dword [rax], esi
mov rsi, rax
mov edi, dword [rsi]
cmp edi, r12d
jb 0x140014750
jmp 0x140015037
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014b83
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x8b
ja 0x1400147a6
jmp 0x1400159d8
mov rax, qword [r14]
mov r8d, dword [r14 + 0x20]
lea ebp, [r8 + 1]
test rax, rax
je 0x1400159ea
cmp ebp, dword [r13]
ja 0x1400154a7
cmp qword [rax], 0
je 0x1400154a7
add rdx, qword [rcx + 0x40]
add r8, qword [r14 + 0x10]
mov qword [rsp + 0x80], 0
mov rcx, qword [rax]
lea rax, [rsp + 0x80]
mov qword [rsp + 0x20], rax
mov r9d, 1
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x1400154a7
cmp qword [rsp + 0x80], 1
jne 0x1400154a7
inc dword [r15]
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014c27
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x1f
jne 0x140014ec5
mov rax, qword [r14]
mov r8d, dword [r14 + 0x20]
lea ebp, [r8 + 1]
test rax, rax
je 0x1400160df
cmp ebp, dword [r13]
ja 0x1400158ed
cmp qword [rax], 0
je 0x1400158ed
add rdx, qword [rcx + 0x40]
add r8, qword [r14 + 0x10]
mov qword [rsp + 0x80], 0
mov rcx, qword [rax]
lea rax, [rsp + 0x80]
mov qword [rsp + 0x20], rax
mov r9d, 1
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x1400158ed
cmp qword [rsp + 0x80], 1
jne 0x1400158ed
inc dword [r15]
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014cc6
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xc0
cmp al, 0x40
jne 0x140015326
call fcn.140016f80
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140014ceb
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
mov cl, byte [rcx + rdx]
and cl, 7
cmp cl, 4
jne 0x140015326
mov rcx, qword [r14]
mov r8d, dword [r14 + 0x20]
lea ebp, [r8 + 3]
test rcx, rcx
je 0x1400160e7
cmp ebp, dword [r13]
ja 0x1400158fa
cmp qword [rcx], 0
je 0x1400158fa
add rdx, qword [rax + 0x40]
add r8, qword [r14 + 0x10]
mov qword [rsp + 0x80], 0
mov rcx, qword [rcx]
lea rax, [rsp + 0x80]
mov qword [rsp + 0x20], rax
mov r9d, 3
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x1400158fa
cmp qword [rsp + 0x80], 3
jne 0x1400158fa
add dword [r15], 3
add dword [rsi], 3
jmp 0x140014b5e
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014d8d
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x66
je 0x1400159f2
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014daf
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xf0
cmp al, 0x50
je 0x140015907
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014dd4
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x65
je 0x140015ade
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014df6
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x80
je 0x140015b8d
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014e18
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x90
je 0x140015907
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014e3a
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xf8
cmp al, 0xb8
jne 0x140014eec
mov rax, qword [r14]
mov r8d, dword [r14 + 0x20]
lea ebp, [r8 + 5]
test rax, rax
je 0x1400160ef
cmp ebp, dword [r13]
ja 0x14001591e
cmp qword [rax], 0
je 0x14001591e
add rdx, qword [rcx + 0x40]
add r8, qword [r14 + 0x10]
mov qword [rsp + 0x80], 0
mov rcx, qword [rax]
lea rax, [rsp + 0x80]
mov qword [rsp + 0x20], rax
mov r9d, 5
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x14001591e
cmp qword [rsp + 0x80], 5
jne 0x14001591e
add dword [r15], 5
add dword [rsi], 5
jmp 0x140014b5e
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014eda
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 5
je 0x140014fbe
jmp 0x1400160f7
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014f01
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x33
je 0x14001615e
call fcn.140016f80
mov rdi, qword [rbx]
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x140014f23
mov rax, qword [rdi + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xf6
je 0x140016167
mov rcx, rdi
call fcn.140016f80
mov rdi, qword [rbx]
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x140014f48
mov rax, qword [rdi + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x85
je 0x140016234
mov rcx, rdi
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014f6d
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xd1
je 0x1400162e5
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014f8f
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
je 0x140016328
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014fb1
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xc3
jne 0x14001636b
mov rax, qword [r14]
mov r8d, dword [r14 + 0x20]
lea ebp, [r8 + 1]
test rax, rax
je 0x140015bd0
cmp ebp, dword [r13]
ja 0x1400154b4
cmp qword [rax], 0
je 0x1400154b4
add rdx, qword [rcx + 0x40]
add r8, qword [r14 + 0x10]
mov qword [rsp + 0x80], 0
mov rcx, qword [rax]
lea rax, [rsp + 0x80]
mov qword [rsp + 0x20], rax
mov r9d, 1
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x1400154b4
cmp qword [rsp + 0x80], 1
jne 0x1400154b4
inc dword [r15]
inc dword [rsi]
jmp 0x140014b5e
mov edx, edi
cmp edx, 0x64
ja 0x140015326
test byte [rsp + 0x60], 1
jne 0x140015068
mov rax, qword [rbx]
mov edx, edx
add rdx, qword [rax + 0x40]
mov rcx, r14
mov r8d, 3
call fcn.1400175e0
test al, al
je 0x140015326
cmp byte [r14 + 0x2c], 0
je 0x140015326
cmp qword [r14], 0
je 0x140015326
mov edi, dword [r14 + 0x24]
add rdi, qword [r14 + 0x18]
je 0x140015326
mov r9d, dword [rsi]
test r9, r9
je 0x140015bd8
mov rax, qword [rbx]
mov rdx, qword [rax]
mov r8, qword [rax + 0x40]
lea rbp, [rsp + 0xb8]
mov qword [rbp - 0x38], rdx
mov qword [rbp - 0x30], r8
mov qword [rbp - 0x28], r9
xor esi, esi
mov qword [rbp - 0x20], rsi
mov qword [rbp - 0x10], rsi
mov qword [rbp - 8], 0x20
mov qword [rbp - 0x18], rbp
mov byte [rbp + 0x20], 1
lea r12, [rsp + 0xe0]
mov rcx, r12
call fcn.140017430
cmp qword [r12 + 0x10], rsi
je 0x1400152f8
cmp byte [rsp + 0xd8], 0
je 0x1400152f8
cmp byte [rsp + 0x6c], 0
jne 0x140015be3
lea rbx, [rsp + 0xa0]
mov rax, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
je 0x140015c0d
mov rcx, qword [rsp + 0xa0]
mov byte [rcx + rax], 0x49
mov rax, qword [rsp + 0xa8]
inc rax
mov qword [rsp + 0xa8], rax
inc dword [rsp + 0x98]
cmp rax, qword [rsp + 0xb0]
je 0x140015c34
mov rcx, qword [rsp + 0xa0]
mov byte [rcx + rax], 0xbb
mov rax, qword [rsp + 0xa8]
inc rax
mov qword [rsp + 0xa8], rax
inc dword [rsp + 0x98]
lea rcx, [rax + 8]
cmp rcx, qword [rsp + 0xb0]
ja 0x140015c5b
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x190]
mov qword [rcx + rax], rdx
mov rax, qword [rsp + 0xa8]
add rax, 8
mov qword [rsp + 0xa8], rax
add dword [rsp + 0x98], 8
cmp rax, qword [rsp + 0xb0]
je 0x140015c82
mov rcx, qword [rsp + 0xa0]
mov byte [rcx + rax], 0x41
mov rax, qword [rsp + 0xa8]
inc rax
mov qword [rsp + 0xa8], rax
inc dword [rsp + 0x98]
cmp rax, qword [rsp + 0xb0]
je 0x140015ca9
mov rcx, qword [rsp + 0xa0]
mov byte [rcx + rax], 0xff
mov rax, qword [rsp + 0xa8]
inc rax
mov qword [rsp + 0xa8], rax
inc dword [rsp + 0x98]
cmp rax, qword [rsp + 0xb0]
je 0x140015cd0
mov rcx, qword [rsp + 0xa0]
mov byte [rcx + rax], 0xe3
inc qword [rsp + 0xa8]
inc dword [rsp + 0x98]
cmp qword [rsp + 0xf0], 0
je 0x1400152f8
cmp byte [rsp + 0xd8], 0
je 0x1400152f8
mov rbx, qword [rsp + 0xa8]
test rbx, rbx
je 0x1400152ed
mov rax, qword [rsp + 0x80]
cmp qword [rax], 0
je 0x1400152f8
mov edx, dword [rsp + 0x9c]
add rdx, qword [rsp + 0x88]
mov r8, qword [rsp + 0xa0]
lea rsi, [rsp + 0x78]
mov qword [rsi], 0
mov rcx, qword [rax]
mov qword [rsp + 0x20], rsi
mov r9, rbx
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x1400152f8
cmp qword [rsp + 0x78], rbx
jne 0x1400152f8
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax]
xor edx, edx
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [rsp + 0xa8]
add dword [rsp + 0x9c], eax
mov qword [rsp + 0xa8], 0
mov rax, qword [rsp + 0x198]
mov qword [rax], rdi
mov rcx, r12
call fcn.140017330
lea rax, [rsp + 0x100]
mov rcx, qword [rax - 0x18]
cmp rcx, rax
jne 0x140015cf7
mov rcx, qword [rsp + 0xa0]
cmp rcx, rbp
jne 0x140015d02
mov rax, qword [rsp + 0x198]
cmp qword [rax], 0
je 0x140015d0d
mov rcx, qword [rsp + 0x120]
xor rcx, rsp
call fcn.14002c730
nop
add rsp, 0x128
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor eax, eax
mov qword [rsp + 0x60], rax
jmp 0x140015039
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x1400148c5
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x140014b54
add rdx, qword [rcx + 0x40]
mov rcx, qword [rsp + 0x30]
mov r8d, 1
call fcn.140032560
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400153b7
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xf0
cmp al, 0x50
jne 0x1400155d1
add rdx, qword [rcx + 0x40]
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov r8d, 1
call fcn.140032560
mov rsi, qword [rsp + 0x50]
inc dword [rsi]
mov r15, qword [rsp + 0x48]
mov r12d, dword [rsp + 0x3c]
mov r13, qword [rsp + 0x40]
jmp 0x140014b5e
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001540e
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x90
je 0x140015435
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001542c
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xcc
jne 0x140015460
inc edx
mov rsi, qword [rsp + 0x50]
mov dword [rsi], edx
mov r12d, dword [rsp + 0x3c]
cmp edx, r12d
mov r14, qword [rsp + 0x30]
mov r15, qword [rsp + 0x48]
mov r13, qword [rsp + 0x40]
jb 0x140014755
jmp 0x140015039
cmp qword [rsp + 0x70], 0
mov r14, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x50]
je 0x140015326
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
mov ecx, dword [rax + 0x20]
add rcx, qword [rax + 0x18]
mov eax, 0x80000000
cmp rcx, rax
ja 0x140015326
mov al, 1
mov dword [rsp + 0x6c], eax
cmp edx, 9
ja 0x140015039
jmp 0x140015326
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x140014c07
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x140015030
add rdx, qword [rcx + 0x40]
mov rcx, r14
mov r8d, 1
call fcn.140032560
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.140016f80
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1400154f3
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx], 0x89
mov r14, qword [rsp + 0x30]
mov r15, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r12d, dword [rsp + 0x3c]
mov r13, qword [rsp + 0x40]
jne 0x140015326
add rdx, qword [rax + 0x40]
mov rcx, r14
mov r8d, 1
call fcn.140032560
inc dword [rbx + 0x10]
mov rcx, rbx
xor edx, edx
call fcn.140017150
test eax, eax
js 0x140015326
mov edi, eax
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
mov rcx, r14
mov r8d, edi
call fcn.140032560
add dword [rbx + 0x10], edi
jmp 0x140014b5e
add rdx, qword [rcx + 0x40]
mov rcx, r14
mov r8d, 1
call fcn.140032560
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.140016f80
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140015591
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx], 0x33
mov r14, qword [rsp + 0x30]
mov r15, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r12d, dword [rsp + 0x3c]
mov r13, qword [rsp + 0x40]
jne 0x140015326
add rdx, qword [rax + 0x40]
mov rcx, r14
mov r8d, 2
call fcn.140032560
add dword [rsi], 2
jmp 0x140014b5e
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400155e6
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xb8
mov r14, qword [rsp + 0x30]
jb 0x140015326
call fcn.140016f80
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x14001560d
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx], 0xbf
mov r14, qword [rsp + 0x30]
mov r15, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r12d, dword [rsp + 0x3c]
mov r13, qword [rsp + 0x40]
ja 0x140015326
add rdx, qword [rax + 0x40]
mov rcx, r14
mov r8d, 5
call fcn.140032560
jmp 0x140014ebd
mov dword [r15], ebp
jmp 0x1400148c5
inc edx
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015669
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx + 1]
and al, 0xf8
cmp al, 0xe8
jne 0x1400148f2
mov rax, qword [rcx + 0x40]
add rax, rdx
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov rdx, rax
mov r8d, 6
call fcn.140032560
mov rsi, qword [rsp + 0x50]
add dword [rsi], 6
jmp 0x1400153e5
inc edx
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400156bb
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx + 1]
and al, 0xf8
cmp al, 0xe8
jne 0x140014914
jmp 0x1400156f6
inc edx
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400156e5
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx + 1]
and al, 0xf8
cmp al, 0xc0
jne 0x140014936
mov rax, qword [rcx + 0x40]
add rax, rdx
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov rdx, rax
mov r8d, 3
call fcn.140032560
mov rsi, qword [rsp + 0x50]
add dword [rsi], 3
jmp 0x1400153e5
inc edx
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015737
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx + 1]
and al, 0xf8
cmp al, 0x60
jne 0x140014958
mov rax, qword [rcx + 0x40]
add rax, rdx
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov rdx, rax
mov r8d, 5
call fcn.140032560
mov rsi, qword [rsp + 0x50]
add dword [rsi], 5
jmp 0x1400153e5
inc edx
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015789
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0xc0
jb 0x14001497a
mov rax, qword [rcx + 0x40]
add rax, rdx
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov rdx, rax
mov r8d, 2
call fcn.140032560
mov rsi, qword [rsp + 0x50]
add dword [rsi], 2
jmp 0x1400153e5
inc edx
call fcn.140016f80
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1400157d8
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx + 1], 0xc0
mov r14, qword [rsp + 0x30]
mov r15, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r12d, dword [rsp + 0x3c]
mov r13, qword [rsp + 0x40]
jae 0x1400155b7
jmp 0x140015326
mov rcx, rbp
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001581c
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xf8
cmp al, 0xb8
jne 0x14001592b
add rdx, qword [rcx + 0x40]
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov r8d, 9
call fcn.140032560
mov rsi, qword [rsp + 0x50]
add dword [rsi], 9
jmp 0x1400153e5
mov rcx, rdi
add rcx, 0x18
mov rdx, r12
call fcn.140013f20
test al, al
je 0x140014a63
mov rax, qword [rdi + 0x18]
mov rcx, qword [rdi + 0x20]
jmp 0x140014a3f
cmp ebp, 0xfffffffe
jne 0x14001622a
add dword [rbx + 0x10], 2
mov rcx, rbx
call fcn.1400324d0
mov dl, byte [rsp + 0x78]
test dl, dl
je 0x140015ec2
mov rcx, qword [rsp + 0x30]
cmp qword [rcx], 0
mov ecx, dword [rcx + 0x20]
je 0x140016479
mov rbp, qword [rsp + 0x40]
mov ebp, dword [rbp]
cmp ecx, ebp
jae 0x140016496
add dl, 0xb8
mov rdi, qword [rsp + 0x30]
mov rbp, qword [rdi + 0x10]
mov byte [rbp + rcx], dl
mov ecx, dword [rdi + 0x20]
inc ecx
mov dword [rdi + 0x20], ecx
cmp qword [rdi], 0
je 0x14001647b
mov rdx, qword [rsp + 0x40]
mov ebp, dword [rdx]
jmp 0x14001649e
mov dword [r15], ecx
jmp 0x140014b54
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x140014ca6
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x140014d70
add rdx, qword [rcx + 0x40]
mov rcx, r14
mov r8d, 1
call fcn.140032560
jmp 0x140015030
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x140014ebd
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015940
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xc7
jne 0x140015d89
inc edx
call fcn.140016f80
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140015964
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx + 1], 0x44
mov r14, qword [rsp + 0x30]
mov r15, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r12d, dword [rsp + 0x3c]
mov r13, qword [rsp + 0x40]
jne 0x140015326
add rdx, qword [rax + 0x40]
mov rcx, r14
mov r8d, 8
call fcn.140032560
add dword [rsi], 8
jmp 0x140014b5e
mov dword [r15], edx
jmp 0x14001462a
mov byte [r14 + 0x2c], 0
xor eax, eax
jmp 0x140014601
mov dword [r15], edx
jmp 0x14001469a
mov byte [r14 + 0x2c], 0
xor eax, eax
jmp 0x140014671
int3
mov rax, qword [rcx + 0x40]
add rax, rdx
mov rcx, r14
mov rdx, rax
jmp 0x140015520
mov dword [r15], ebp
jmp 0x140014c07
add rdx, qword [rcx + 0x40]
mov rcx, r14
mov r8d, 1
call fcn.140032560
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015a24
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x88
jb 0x140015d22
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015a46
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x8b
ja 0x140015d22
inc edx
call fcn.140016f80
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140015a6a
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
movzx edi, byte [rcx + rdx + 1]
mov ecx, edi
and ecx, 0xffffffc0
cmp cl, 0xc0
je 0x1400168a2
cmp ecx, 0x40
mov r14, qword [rsp + 0x30]
je 0x140015aae
test ecx, ecx
jne 0x140015326
mov ebp, edi
and ebp, 6
cmp ebp, 4
jne 0x1400168a2
cmp ecx, 0x40
mov r14, qword [rsp + 0x30]
jne 0x140015326
and edi, 7
add rdx, qword [rax + 0x40]
cmp edi, 4
jne 0x14001694d
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov r8d, 4
call fcn.140032560
mov rsi, qword [rsp + 0x50]
add dword [rsi], 4
jmp 0x1400153e5
inc edx
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015af5
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0x48
mov r14, qword [rsp + 0x30]
jne 0x140015326
add edx, 2
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015b20
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 2], 0x88
mov r14, qword [rsp + 0x30]
jb 0x140015326
add edx, 2
call fcn.140016f80
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140015b4b
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx + 2], 0x8b
mov r14, qword [rsp + 0x30]
mov r15, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r12d, dword [rsp + 0x3c]
mov r13, qword [rsp + 0x40]
ja 0x140015326
add rdx, qword [rax + 0x40]
mov rcx, r14
mov r8d, 3
call fcn.140032560
add dword [rbx + 0x10], 3
jmp 0x14001552e
inc edx
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015ba4
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0x3d
je 0x14001695a
mov r14, qword [rsp + 0x30]
mov r15, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r12d, dword [rsp + 0x3c]
mov r13, qword [rsp + 0x40]
jmp 0x140014e03
mov dword [r15], ebp
jmp 0x140015030
int3
lea r8, [rsp + 0x80]
mov rcx, qword [rsp + 0x70]
mov rdx, rdi
mov r9, qword [rsp + 0x190]
call fcn.1400326f0
test al, al
jne 0x140015246
jmp 0x1400152f8
mov edx, 1
mov rcx, rbx
call fcn.140013f20
test al, al
je 0x140016ede
mov rax, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x30]
jmp 0x140015119
mov edx, 1
mov rcx, rbx
call fcn.140013f20
test al, al
je 0x140016ef8
mov rax, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x30]
jmp 0x14001514d
mov edx, 8
mov rcx, rbx
call fcn.140013f20
test al, al
je 0x140016f12
mov rax, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x30]
jmp 0x140015185
mov edx, 1
mov rcx, rbx
call fcn.140013f20
test al, al
je 0x140016f2c
mov rax, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x30]
jmp 0x1400151c3
mov edx, 1
mov rcx, rbx
call fcn.140013f20
test al, al
je 0x140016f46
mov rax, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x30]
jmp 0x1400151f7
mov edx, 1
mov rcx, rbx
call fcn.140013f20
test al, al
je 0x140016f60
mov rax, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x30]
jmp 0x14001522b
call qword [sym.imp.mozglue.dll_free]
jmp 0x140015315
call qword [sym.imp.mozglue.dll_free]
jmp 0x140015326
mov dword [r14 + 0x20], 0
mov rcx, r14
call fcn.140032520
jmp 0x140015338
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015d37
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x44
jne 0x140016e60
inc edx
call fcn.140016f80
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140015d5b
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx + 1], 0x89
jne 0x140016e60
add rdx, qword [rax + 0x40]
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov r8d, 2
call fcn.140032560
add dword [rbx + 0x10], 2
jmp 0x140016133
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015d9e
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xff
je 0x1400165e6
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015dc0
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x8d
jne 0x1400166d1
inc edx
call fcn.140016f80
mov r14, qword [rbx]
mov rax, qword [r14 + 0x10]
test rax, rax
je 0x140015de4
mov rax, qword [r14 + 8]
mov ebp, dword [rbx + 0x10]
cmp byte [rax + rbp + 1], 0x3f
ja 0x140015e1a
lea edx, [rbp + 1]
mov rcx, r14
call fcn.140016f80
mov r14, qword [rbx]
mov rax, qword [r14 + 0x10]
test rax, rax
je 0x140015e09
mov rax, qword [r14 + 8]
mov ebp, dword [rbx + 0x10]
mov al, byte [rax + rbp + 1]
and al, 7
cmp al, 5
je 0x140016dda
inc ebp
mov ecx, 0x58
call qword [sym.imp.mozglue.dll_moz_xmalloc]
mov rdi, rax
movabs rax, 0x100000001
mov qword [rdi + 8], rax
lea rax, [0x140050370]
mov qword [rdi], rax
lea rsi, [rdi + 0x10]
mov rcx, rsi
mov rdx, r14
mov r8d, ebp
call fcn.140032420
lea rcx, [rsp + 0x80]
mov qword [rcx], rsi
mov qword [rcx + 8], rdi
mov dword [rcx + 0x10], 0
xor edx, edx
call fcn.140017150
mov ebp, eax
lock dec dword [rdi + 8]
jne 0x140015e9e
mov rax, qword [rdi]
mov rax, qword [rax]
mov rcx, rdi
call qword [case.0x14002bdde.0]
lock dec dword [rdi + 0xc]
jne 0x140015e9e
mov rax, qword [rdi]
mov rax, qword [rax + 8]
mov rcx, rdi
call qword [case.0x14002bdde.0]
inc ebp
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov r8d, ebp
call fcn.140032560
add dword [rbx + 0x10], ebp
jmp 0x140016e65
mov rcx, qword [rsp + 0x30]
cmp qword [rcx], 0
mov ecx, dword [rcx + 0x20]
je 0x140016e3e
mov rdx, qword [rsp + 0x40]
mov edx, dword [rdx]
cmp ecx, edx
jae 0x140016e48
mov rbp, qword [rsp + 0x30]
mov rdx, qword [rbp + 0x10]
mov byte [rdx + rcx], 0xa1
mov ecx, dword [rbp + 0x20]
inc ecx
mov dword [rbp + 0x20], ecx
cmp qword [rbp], 0
je 0x140016e40
mov rdx, qword [rsp + 0x40]
mov edx, dword [rdx]
jmp 0x140016e51
add edx, 0xa
call fcn.140016f80
mov r12, qword [rbx]
mov rax, qword [r12 + 0x10]
test rax, rax
je 0x140015f29
mov rax, qword [r12 + 8]
mov ebp, dword [rbx + 0x10]
cmp byte [rax + rbp + 0xa], 0xff
je 0x1400166ff
add ebp, 0xa
mov rcx, r12
mov edx, ebp
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015f54
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 0xa], 0x50
mov r14, qword [rsp + 0x30]
mov r15, qword [rsp + 0x48]
jne 0x1400146ed
add edx, 0xb
call fcn.140016f80
mov r12, qword [rbx]
mov rax, qword [r12 + 0x10]
test rax, rax
je 0x140015f86
mov rax, qword [r12 + 8]
mov ebp, dword [rbx + 0x10]
cmp byte [rax + rbp + 0xb], 0xc3
mov r14, qword [rsp + 0x30]
mov r15, qword [rsp + 0x48]
jne 0x1400146ed
add ebp, 2
mov ecx, 0x58
call qword [sym.imp.mozglue.dll_moz_xmalloc]
mov r13, rax
movabs rax, 0x100000001
mov qword [r13 + 8], rax
lea rax, [0x140050370]
mov qword [r13], rax
lea rsi, [r13 + 0x10]
mov rcx, rsi
mov rdx, r12
mov r8d, ebp
call fcn.140032420
mov rcx, rsi
mov edx, 8
call fcn.140016f80
mov rax, qword [r13 + 0x18]
mov r14, qword [rax]
lock dec dword [r13 + 8]
jne 0x14001601d
mov rax, qword [r13]
mov rax, qword [rax]
mov rcx, r13
call qword [case.0x14002bdde.0]
lock dec dword [r13 + 0xc]
jne 0x14001601d
mov rax, qword [r13]
mov rax, qword [rax + 8]
mov rcx, r13
call qword [case.0x14002bdde.0]
lea rbp, [rsp + 0x80]
mov rcx, rbx
mov rdx, rbp
call fcn.1400325f0
xor esi, esi
cmp qword [rbp + 0x70], 0
je 0x1400169d8
cmp byte [rsp + 0xd8], 0
je 0x1400169d8
lea rbp, [rsp + 0x80]
mov rcx, rbp
mov rdx, qword [rsp + 0x190]
call fcn.140032b40
mov rcx, rbp
call fcn.140032a90
test al, al
je 0x1400169d6
mov rdx, qword [rsp + 0x30]
mov eax, dword [rdx + 0x20]
lea ecx, [rax + 8]
cmp qword [rdx], 0
je 0x140016c7c
mov rdx, qword [rsp + 0x30]
cmp ecx, dword [rdx + 0x28]
jbe 0x140016c96
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x2c], 0
xor eax, eax
xor esi, esi
mov rcx, qword [rsp + 0x30]
cmp qword [rcx + 0x10], 0
je 0x1400169d8
mov rcx, qword [rsp + 0x30]
cmp qword [rcx + 0x18], 0
je 0x1400169d8
mov rcx, qword [rsp + 0x30]
cmp dword [rcx + 8], 0
je 0x1400169d8
test al, al
jne 0x140016c83
jmp 0x1400169d8
mov dword [r15], ebp
jmp 0x140014ca6
mov dword [r15], ebp
jmp 0x140014d70
mov dword [r15], ebp
jmp 0x140014ebd
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001610c
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x10
jne 0x140016506
add rdx, qword [rcx + 0x40]
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov r8d, 1
call fcn.140032560
inc dword [rbx + 0x10]
mov rcx, rbx
xor edx, edx
call fcn.140017150
test eax, eax
mov r15, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r12d, dword [rsp + 0x3c]
mov r13, qword [rsp + 0x40]
jns 0x140015540
jmp 0x140015326
add rdx, qword [rcx + 0x40]
jmp 0x1400155bb
lea r14, [rsp + 0x78]
mov byte [r14], 0
lea r15d, [rdx + 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, [0x140050370]
mov qword [rbp], rax
lea rsi, [rbp + 0x10]
mov rcx, rsi
mov rdx, rdi
mov r8d, r15d
call fcn.140032420
lea rcx, [rsp + 0x80]
mov qword [rcx], rsi
mov qword [rcx + 8], rbp
mov dword [rcx + 0x10], 0
mov rdx, r14
call fcn.140017150
mov edi, eax
lock dec dword [rbp + 8]
jne 0x1400161fa
mov rax, qword [rbp]
mov rax, qword [rax]
mov rcx, rbp
call qword [case.0x14002bdde.0]
lock dec dword [rbp + 0xc]
jne 0x1400161fa
mov rax, qword [rbp]
mov rax, qword [rax + 8]
mov rcx, rbp
call qword [case.0x14002bdde.0]
test edi, edi
js 0x14001622a
cmp byte [rsp + 0x78], 0
jne 0x14001622a
add edi, 2
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov r8d, edi
call fcn.140032560
add dword [rbx + 0x10], edi
jmp 0x140016e65
mov r14, qword [rsp + 0x30]
jmp 0x140015326
lea r14d, [rdx + 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, [0x140050370]
mov qword [rbp], rax
lea rsi, [rbp + 0x10]
mov rcx, rsi
mov rdx, rdi
mov r8d, r14d
call fcn.140032420
lea rcx, [rsp + 0x80]
mov qword [rcx], rsi
mov qword [rcx + 8], rbp
mov dword [rcx + 0x10], 0
xor edx, edx
call fcn.140017150
mov edi, eax
lock dec dword [rbp + 8]
jne 0x1400162bd
mov rax, qword [rbp]
mov rax, qword [rax]
mov rcx, rbp
call qword [case.0x14002bdde.0]
lock dec dword [rbp + 0xc]
jne 0x1400162bd
mov rax, qword [rbp]
mov rax, qword [rax + 8]
mov rcx, rbp
call qword [case.0x14002bdde.0]
test edi, edi
mov r14, qword [rsp + 0x30]
mov r15, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r12d, dword [rsp + 0x3c]
mov r13, qword [rsp + 0x40]
js 0x140015326
inc edi
jmp 0x140015542
inc edx
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400162fc
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0xc0
jae 0x140015797
mov r14, qword [rsp + 0x30]
mov r15, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r12d, dword [rsp + 0x3c]
mov r13, qword [rsp + 0x40]
jmp 0x140014f7a
inc edx
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001633f
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0xc0
jae 0x1400156f6
mov r14, qword [rsp + 0x30]
mov r15, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r12d, dword [rsp + 0x3c]
mov r13, qword [rsp + 0x40]
jmp 0x140014f9c
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016380
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xcc
je 0x1400153c7
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400163a2
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xe8
je 0x140016b5a
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400163c4
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xe9
je 0x140016b5a
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400163e6
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x73
jb 0x140016763
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016408
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x75
ja 0x140016763
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001642a
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
movzx esi, byte [rax + rdx]
inc edx
call fcn.140016f80
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140016448
mov rcx, qword [rax + 8]
lea rdx, [0x140050390]
mov r8d, dword [rdx + rsi*4 - 0x1cc]
mov edx, dword [rbx + 0x10]
movzx ecx, byte [rcx + rdx + 1]
add edx, 2
mov dword [rbx + 0x10], edx
add rdx, rcx
add rdx, qword [rax + 0x40]
mov r14, qword [rsp + 0x30]
mov rcx, r14
jmp 0x1400165c0
inc ecx
add ecx, 8
inc ecx
inc ecx
inc ecx
mov r15, qword [rsp + 0x48]
mov dword [r15], ecx
mov r14, qword [rsp + 0x30]
jmp 0x140016e6a
mov rdx, qword [rsp + 0x58]
mov byte [rdx], 0
lea edx, [rcx + 8]
cmp edx, ebp
jbe 0x1400164de
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
cmp ecx, ebp
jae 0x14001668a
mov rdx, qword [rsp + 0x30]
mov rax, qword [rdx + 0x10]
mov ecx, ecx
mov byte [rax + rcx], 0x48
mov ecx, dword [rdx + 0x20]
inc ecx
mov dword [rdx + 0x20], ecx
cmp qword [rdx], 0
je 0x140016480
mov rax, qword [rsp + 0x40]
mov ebp, dword [rax]
jmp 0x140016692
mov rbp, qword [rsp + 0x30]
mov rdx, qword [rbp + 0x10]
mov ecx, ecx
mov qword [rdx + rcx], rax
mov ecx, dword [rbp + 0x20]
add ecx, 8
mov dword [rbp + 0x20], ecx
cmp qword [rbp], 0
je 0x14001647e
mov rax, qword [rsp + 0x40]
mov ebp, dword [rax]
jmp 0x1400164ad
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001651b
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x11
je 0x140016119
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001653d
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
mov r14, qword [rsp + 0x30]
jb 0x140015326
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016564
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x85
mov r14, qword [rsp + 0x30]
ja 0x140015326
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001658b
mov rax, qword [rcx + 8]
mov ecx, dword [rbx + 0x10]
movzx eax, byte [rax + rcx]
lea rdx, [0x140050390]
mov edi, dword [rdx + rax*4 - 0x20c]
lea eax, [rcx + 1]
mov dword [rbx + 0x10], eax
mov r14, qword [rsp + 0x30]
dec dword [r14 + 0x20]
mov rcx, rbx
call fcn.1400324d0
mov rcx, r14
mov rdx, rax
mov r8d, edi
call fcn.1400175e0
test al, al
mov r15, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r12d, dword [rsp + 0x3c]
mov r13, qword [rsp + 0x40]
jne 0x140014b5e
jmp 0x140015326
inc edx
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400165fd
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0x3f
mov r14, qword [rsp + 0x30]
ja 0x140015326
inc edx
call fcn.140016f80
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140016627
mov rcx, qword [rax + 8]
mov eax, dword [rbx + 0x10]
mov cl, byte [rcx + rax + 1]
and cl, 7
cmp cl, 5
mov r14, qword [rsp + 0x30]
mov r15, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r12d, dword [rsp + 0x3c]
mov r13, qword [rsp + 0x40]
jne 0x140015326
add eax, 2
mov dword [rbx + 0x10], eax
dec dword [r14 + 0x20]
mov rcx, rbx
call fcn.140032340
mov rcx, r14
mov rdx, rax
mov r8d, 3
call fcn.1400175e0
mov cl, 1
mov qword [rsp + 0x60], rcx
test al, al
jne 0x140014b5e
jmp 0x140015326
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
cmp ecx, ebp
jae 0x14001672f
mov rdx, qword [rsp + 0x30]
mov rax, qword [rdx + 0x10]
mov ecx, ecx
mov byte [rax + rcx], 0x8b
mov ecx, dword [rdx + 0x20]
inc ecx
mov dword [rdx + 0x20], ecx
cmp qword [rdx], 0
je 0x140016482
mov dl, byte [rsp + 0x78]
lea eax, [rdx*8]
or al, dl
mov rdx, qword [rsp + 0x40]
mov ebp, dword [rdx]
jmp 0x140016744
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400166e6
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x63
mov r14, qword [rsp + 0x30]
jne 0x140015326
inc edx
jmp 0x1400157c3
lea edx, [rbp + 0xb]
mov rcx, r12
call fcn.140016f80
mov r12, qword [rbx]
mov rax, qword [r12 + 0x10]
test rax, rax
je 0x14001671c
mov rax, qword [r12 + 8]
mov ebp, dword [rbx + 0x10]
cmp byte [rax + rbp + 0xb], 0xe0
jne 0x140015f37
jmp 0x140015f9e
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
mov dl, byte [rsp + 0x78]
lea eax, [rdx*8]
or al, dl
cmp ecx, ebp
jae 0x140016e58
mov r14, qword [rsp + 0x30]
mov rdx, qword [r14 + 0x10]
mov ecx, ecx
mov byte [rdx + rcx], al
inc dword [r14 + 0x20]
jmp 0x140016e65
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016778
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xff
je 0x1400168b3
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001679a
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
jne 0x1400167cb
inc edx
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400167ba
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx + 1]
and al, 0xf8
cmp al, 0x60
je 0x140015748
call fcn.140016f80
mov r15, qword [rbx]
mov rax, qword [r15 + 0x10]
test rax, rax
je 0x1400167e0
mov rax, qword [r15 + 8]
mov edi, dword [rbx + 0x10]
cmp byte [rax + rdi], 0xc6
mov r14, qword [rsp + 0x30]
jne 0x140015326
inc edi
mov ecx, 0x58
call qword [sym.imp.mozglue.dll_moz_xmalloc]
mov rbp, rax
movabs rax, 0x100000001
mov qword [rbp + 8], rax
lea rax, [0x140050370]
mov qword [rbp], rax
lea rsi, [rbp + 0x10]
mov rcx, rsi
mov rdx, r15
mov r8d, edi
call fcn.140032420
lea rcx, [rsp + 0x80]
mov qword [rcx], rsi
mov qword [rcx + 8], rbp
mov dword [rcx + 0x10], 0
xor edx, edx
call fcn.140017150
mov edi, eax
lock dec dword [rbp + 8]
jne 0x140016879
mov rax, qword [rbp]
mov rax, qword [rax]
mov rcx, rbp
call qword [case.0x14002bdde.0]
lock dec dword [rbp + 0xc]
jne 0x140016879
mov rax, qword [rbp]
mov rax, qword [rax + 8]
mov rcx, rbp
call qword [case.0x14002bdde.0]
test edi, edi
mov r14, qword [rsp + 0x30]
mov r15, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r12d, dword [rsp + 0x3c]
mov r13, qword [rsp + 0x40]
js 0x140015326
add edi, 2
jmp 0x140015542
add rdx, qword [rax + 0x40]
mov r14, qword [rsp + 0x30]
mov rcx, r14
jmp 0x1400157a9
inc edx
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400168ca
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov bpl, byte [rax + rdx + 1]
inc edx
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400168e9
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
movzx edi, byte [rax + rdx + 1]
shr edi, 3
and edi, 7
inc edx
call fcn.140016f80
mov r15, qword [rbx]
mov rax, qword [r15 + 0x10]
test rax, rax
je 0x14001690e
mov rax, qword [r15 + 8]
mov esi, dword [rbx + 0x10]
mov dl, byte [rax + rsi + 1]
and dl, 7
cmp bpl, 0xc0
jb 0x140016a17
cmp edi, 6
ja 0x140016dcd
mov eax, 0x47
bt eax, edi
jae 0x140016dcd
add rsi, qword [r15 + 0x40]
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov rdx, rsi
jmp 0x1400157a9
mov r14, qword [rsp + 0x30]
mov rcx, r14
jmp 0x140015708
lea eax, [rdx + 2]
mov rcx, qword [rsp + 0x50]
mov dword [rcx], eax
mov rax, qword [rsp + 0x30]
cmp qword [rax], 0
mov eax, dword [rax + 0x20]
jne 0x140016b20
inc eax
inc eax
mov rcx, qword [rsp + 0x48]
mov dword [rcx], eax
mov rcx, rbx
call fcn.1400324d0
mov rcx, qword [rsp + 0x30]
cmp qword [rcx], 0
mov ecx, dword [rcx + 0x20]
je 0x140016b9f
mov rdx, qword [rsp + 0x40]
mov edx, dword [rdx]
cmp ecx, edx
jae 0x140016c1c
mov rbp, qword [rsp + 0x30]
mov rdx, qword [rbp + 0x10]
mov byte [rdx + rcx], 0x49
mov ecx, dword [rbp + 0x20]
inc ecx
mov dword [rbp + 0x20], ecx
cmp qword [rbp], 0
je 0x140016ba1
mov rdx, qword [rsp + 0x40]
mov edx, dword [rdx]
jmp 0x140016c25
xor esi, esi
lea rbp, [rsp + 0xe0]
mov rcx, rbp
call fcn.140032dd0
mov rcx, qword [rbp - 0x40]
lea rax, [rsp + 0xb8]
cmp rcx, rax
je 0x1400169ff
call qword [sym.imp.mozglue.dll_free]
test sil, sil
mov r14, qword [rsp + 0x30]
mov r15, qword [rsp + 0x48]
je 0x1400146ed
jmp 0x140015326
cmp bpl, 0x40
setb al
cmp dl, 5
sete cl
cmp bpl, 0x3f
ja 0x140016a39
cmp dil, 2
jne 0x140016a39
cmp dl, 5
je 0x140016eba
cmp dil, 4
mov r14, qword [rsp + 0x30]
jne 0x140015326
and al, cl
cmp al, 1
je 0x140016e8a
inc esi
mov ecx, 0x58
call qword [sym.imp.mozglue.dll_moz_xmalloc]
mov rbp, rax
movabs rax, 0x100000001
mov qword [rbp + 8], rax
lea rax, [0x140050370]
mov qword [rbp], rax
lea rdi, [rbp + 0x10]
mov rcx, rdi
mov rdx, r15
mov r8d, esi
call fcn.140032420
lea rcx, [rsp + 0x80]
mov qword [rcx], rdi
mov qword [rcx + 8], rbp
mov dword [rcx + 0x10], 0
xor edx, edx
call fcn.140017150
mov edi, eax
lock dec dword [rbp + 8]
jne 0x140016ad9
mov rax, qword [rbp]
mov rax, qword [rax]
mov rcx, rbp
call qword [case.0x14002bdde.0]
lock dec dword [rbp + 0xc]
jne 0x140016ad9
mov rax, qword [rbp]
mov rax, qword [rax + 8]
mov rcx, rbp
call qword [case.0x14002bdde.0]
test edi, edi
mov r14, qword [rsp + 0x30]
mov r15, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r12d, dword [rsp + 0x3c]
mov r13, qword [rsp + 0x40]
js 0x140015326
inc edi
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
mov rcx, r14
mov r8d, edi
call fcn.140032560
add dword [rbx + 0x10], edi
mov al, 1
mov qword [rsp + 0x60], rax
jmp 0x140014b5e
mov rcx, qword [rsp + 0x40]
mov ecx, dword [rcx]
cmp eax, ecx
jae 0x140016d08
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rdx + 0x10]
mov byte [rcx + rax], 0x49
mov eax, dword [rdx + 0x20]
inc eax
mov dword [rdx + 0x20], eax
cmp qword [rdx], 0
je 0x140016978
mov rcx, qword [rsp + 0x40]
mov ecx, dword [rcx]
jmp 0x140016d10
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016b6f
mov rax, qword [rcx + 8]
mov ecx, dword [rbx + 0x10]
xor edx, edx
cmp byte [rax + rcx], 0xe9
sete dl
lea eax, [rcx + 1]
mov dword [rbx + 0x10], eax
mov edi, 4
mov qword [rsp + 0x60], rdx
sub edi, edx
mov rcx, rbx
call fcn.1400324d0
mov r14, qword [rsp + 0x30]
jmp 0x1400165b7
inc ecx
inc ecx
add ecx, 8
inc ecx
inc ecx
inc ecx
mov rax, qword [rsp + 0x48]
mov dword [rax], ecx
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
mov rsi, qword [rsp + 0x30]
mov rcx, rsi
mov r8d, 1
call fcn.140032560
inc dword [rbx + 0x10]
cmp qword [rsi], 0
mov eax, dword [rsi + 0x20]
je 0x140016c0b
mov rcx, qword [rsp + 0x40]
mov ecx, dword [rcx]
cmp eax, ecx
jae 0x140016c58
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rdx + 0x10]
mov byte [rcx + rax], 0x49
mov eax, dword [rdx + 0x20]
inc eax
mov dword [rdx + 0x20], eax
cmp qword [rdx], 0
je 0x140016c0d
mov rcx, qword [rsp + 0x40]
mov ecx, dword [rcx]
jmp 0x140016c60
inc eax
inc eax
mov r15, qword [rsp + 0x48]
mov dword [r15], eax
jmp 0x14001648c
mov rbp, qword [rsp + 0x58]
mov byte [rbp], 0
cmp ecx, edx
jae 0x140016cbe
mov rbp, qword [rsp + 0x30]
mov rdx, qword [rbp + 0x10]
mov ecx, ecx
mov byte [rdx + rcx], 0xbb
mov ecx, dword [rbp + 0x20]
inc ecx
mov dword [rbp + 0x20], ecx
cmp qword [rbp], 0
je 0x140016ba3
mov rdx, qword [rsp + 0x40]
mov edx, dword [rdx]
jmp 0x140016cc7
mov rdx, qword [rsp + 0x58]
mov byte [rdx], 0
cmp eax, ecx
jae 0x140016e58
mov r14, qword [rsp + 0x30]
mov rcx, qword [r14 + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x5b
jmp 0x14001675a
mov rax, qword [rsp + 0x48]
mov dword [rax], ecx
mov rax, qword [rsp + 0x198]
mov qword [rax], r14
mov sil, 1
jmp 0x1400169d8
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rdx + 0x10]
mov qword [rcx + rax], r14
add dword [rdx + 0x20], 8
cmp qword [rdx], 0
je 0x140016c83
mov rax, qword [rsp + 0x30]
cmp byte [rax + 0x2c], 0
setne al
jmp 0x1400160a1
mov rbp, qword [rsp + 0x58]
mov byte [rbp], 0
lea ebp, [rcx + 8]
cmp ebp, edx
jbe 0x140016d2b
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
cmp ecx, edx
jae 0x140016d67
mov rdx, qword [rsp + 0x30]
mov rax, qword [rdx + 0x10]
mov ecx, ecx
mov byte [rax + rcx], 0x41
mov ecx, dword [rdx + 0x20]
inc ecx
mov dword [rdx + 0x20], ecx
cmp qword [rdx], 0
je 0x140016ba8
mov rax, qword [rsp + 0x40]
mov edx, dword [rax]
jmp 0x140016d6f
mov rdx, qword [rsp + 0x58]
mov byte [rdx], 0
cmp eax, ecx
jae 0x140016d5a
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rdx + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x53
inc dword [rdx + 0x20]
jmp 0x140016981
mov rbp, qword [rsp + 0x30]
mov rdx, qword [rbp + 0x10]
mov ecx, ecx
mov qword [rdx + rcx], rax
mov ecx, dword [rbp + 0x20]
add ecx, 8
mov dword [rbp + 0x20], ecx
cmp qword [rbp], 0
je 0x140016ba6
mov rax, qword [rsp + 0x40]
mov edx, dword [rax]
jmp 0x140016cd6
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x140016981
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
cmp ecx, edx
jae 0x140016d9d
mov rdx, qword [rsp + 0x30]
mov rax, qword [rdx + 0x10]
mov ecx, ecx
mov byte [rax + rcx], 0x80
mov ecx, dword [rdx + 0x20]
inc ecx
mov dword [rdx + 0x20], ecx
cmp qword [rdx], 0
je 0x140016baa
mov rax, qword [rsp + 0x40]
mov edx, dword [rax]
jmp 0x140016da5
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
cmp ecx, edx
jae 0x140016dc0
mov rdx, qword [rsp + 0x30]
mov rax, qword [rdx + 0x10]
mov ecx, ecx
mov byte [rax + rcx], 0x3b
inc dword [rdx + 0x20]
jmp 0x140016bb3
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x140016bb3
cmp dl, 5
sete cl
xor eax, eax
jmp 0x140016a39
lea edx, [rbp + 1]
mov rcx, r14
call fcn.140016f80
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016df5
mov rax, qword [rcx + 8]
mov ecx, dword [rbx + 0x10]
mov sil, byte [rax + rcx + 1]
lea eax, [rcx + 2]
mov dword [rbx + 0x10], eax
mov rcx, rbx
call fcn.1400324d0
mov rcx, qword [rsp + 0x30]
cmp qword [rcx], 0
mov ecx, dword [rcx + 0x20]
je 0x140016e3e
mov rdx, qword [rsp + 0x40]
mov edx, dword [rdx]
cmp ecx, edx
jae 0x140016e48
shr sil, 3
or sil, 0xb8
mov rbp, qword [rsp + 0x30]
mov rdx, qword [rbp + 0x10]
mov byte [rdx + rcx], sil
jmp 0x140015ef0
inc ecx
add ecx, 8
jmp 0x140016484
mov rbp, qword [rsp + 0x58]
mov byte [rbp], 0
lea ebp, [rcx + 8]
cmp ebp, edx
jbe 0x140016e74
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
mov r14, qword [rsp + 0x30]
mov r15, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
jmp 0x1400153ea
mov r14, qword [rsp + 0x30]
mov rdx, qword [r14 + 0x10]
mov ecx, ecx
mov qword [rdx + rcx], rax
add dword [r14 + 0x20], 8
jmp 0x140016e65
add esi, 2
mov dword [rbx + 0x10], esi
mov rcx, rbx
call fcn.140032340
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov rdx, rax
mov r8d, 3
call fcn.1400175e0
mov cl, 1
mov qword [rsp + 0x60], rcx
jmp 0x1400165c5
add esi, 2
mov dword [rbx + 0x10], esi
mov rcx, rbx
call fcn.140032340
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov rdx, rax
mov r8d, 4
jmp 0x1400165c0
mov byte [rsp + 0xd8], 0
mov rax, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x30]
jmp 0x14001513f
mov byte [rsp + 0xd8], 0
mov rax, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x30]
jmp 0x140015173
mov byte [rsp + 0xd8], 0
mov rax, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x30]
jmp 0x1400151b5
mov byte [rsp + 0xd8], 0
mov rax, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x30]
jmp 0x1400151e9
mov byte [rsp + 0xd8], 0
mov rax, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x30]
jmp 0x14001521d
mov byte [rsp + 0xd8], 0
mov r14, qword [rsp + 0x30]
jmp 0x140015246