Function at 0x140015c50
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 r13, r9
mov rsi, r8
mov rbx, rdx
mov rdi, rcx
mov rcx, qword [rsp + 0x198]
mov rax, qword [0x14005f018]
xor rax, rsp
mov qword [rsp + 0x120], rax
mov qword [rcx], 0
cmp qword [r9], 0
je 0x140015cc2
cmp qword [r13 + 0x10], 0
je 0x140016a68
cmp qword [r13 + 0x18], 0
je 0x140016a68
cmp dword [r13 + 8], 0
je 0x140016a68
cmp byte [r13 + 0x2c], 0
je 0x140016a68
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_EncodePointer]
lea r14, [r13 + 0x20]
mov ecx, dword [r13 + 0x20]
lea edx, [rcx + 8]
cmp qword [r13], 0
je 0x1400170d0
cmp edx, dword [r13 + 0x28]
ja 0x1400170d8
mov rdx, qword [r13 + 0x10]
mov qword [rdx + rcx], rax
add dword [r13 + 0x20], 8
cmp qword [r13], 0
je 0x140015d2c
mov al, byte [r13 + 0x2c]
cmp qword [r13 + 0x10], 0
je 0x140016a68
cmp qword [r13 + 0x18], 0
je 0x140016a68
cmp dword [r13 + 8], 0
je 0x140016a68
test al, al
je 0x140016a68
mov rax, qword [rbx]
mov ecx, dword [rbx + 0x10]
add rcx, qword [rax + 0x40]
call qword [sym.imp.KERNEL32.dll_EncodePointer]
mov ecx, dword [r13 + 0x20]
lea edx, [rcx + 8]
cmp qword [r13], 0
mov qword [rsp + 0x70], rsi
je 0x1400170e4
cmp edx, dword [r13 + 0x28]
ja 0x1400170ec
mov rdx, qword [r13 + 0x10]
mov qword [rdx + rcx], rax
add dword [r13 + 0x20], 8
cmp qword [r13], 0
je 0x140015d9e
mov al, byte [r13 + 0x2c]
cmp qword [r13 + 0x10], 0
je 0x140016a56
cmp qword [r13 + 0x18], 0
je 0x140016a56
cmp dword [r13 + 8], 0
je 0x140016a56
test al, al
je 0x140016a56
mov rcx, qword [rbx]
mov edx, dword [rbx + 0x10]
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015db9
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x48
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x48], r14
jne 0x140015df1
inc edx
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015de3
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0xb8
je 0x14001762f
mov eax, dword [r13 + 0x20]
mov dword [r13 + 0x24], eax
cmp byte [rdi + 0x34], 0
je 0x1400170f8
lea rsi, [rbx + 0x10]
mov eax, dword [rdi + 0x30]
and eax, 2
mov ebp, eax
shr ebp, 1
xor ecx, ecx
test eax, eax
sete cl
lea r15d, [rcx + rcx*2]
add r15d, 0xa
mov edx, dword [rsi]
cmp edx, r15d
mov dword [rsp + 0x6c], ebp
jae 0x140016a8d
lea r12, [r13 + 0x28]
lea rax, [r13 + 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], r15d
mov qword [rsp + 0x40], r12
mov rcx, qword [rbx]
mov edx, edi
test byte [rsp + 0x60], 1
jne 0x140016b29
mov edx, edi
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015e7b
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xf
je 0x14001629b
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015e9d
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x88
jae 0x140016274
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015ebf
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x40
je 0x140016ab3
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015ee1
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x41
je 0x140016ab3
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015f03
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x44
je 0x140016bec
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015f25
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x45
je 0x140016c8a
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015f47
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xfa
cmp al, 0x48
jne 0x140016481
mov rax, qword [r13]
mov r8d, dword [r13 + 0x20]
lea ebp, [r8 + 1]
test rax, rax
je 0x140016d75
cmp ebp, dword [r12]
ja 0x140016a99
cmp qword [rax], 0
je 0x140016a99
add rdx, qword [rcx + 0x40]
add r8, qword [r13 + 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 0x140016a99
cmp qword [rsp + 0x80], 1
jne 0x140016a99
inc dword [r14]
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015fea
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x81
je 0x140016d7d
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001600c
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
je 0x140016dcf
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001602e
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
je 0x140016df9
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016050
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
je 0x140016e4b
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016072
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x2b
je 0x140016e9d
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016094
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x85
je 0x140016eec
call fcn.1400186b0
mov rbp, qword [rbx]
mov rax, qword [rbp + 0x10]
test rax, rax
je 0x1400160b6
mov rax, qword [rbp + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xfd
cmp al, 0x89
jne 0x140016f2f
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, [0x1400513a0]
mov qword [rdi], rax
lea r15, [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 r14, qword [rbp + 0x10]
cmp r14, rsi
jbe 0x140016168
mov r13, qword [rbp + 8]
lea rbp, [r14 + r13]
add r13, rsi
mov r12, rbp
sub r12, r13
cmp r12, 0x21
jae 0x140016f7b
xor ecx, ecx
cmp r14, rsi
jle 0x140016161
add rax, rcx
mov cl, byte [r13]
mov byte [rax], cl
inc r13
inc rax
cmp r13, rbp
jb 0x14001614c
mov rcx, qword [rdi + 0x20]
add rcx, r12
mov qword [rdi + 0x20], rcx
mov qword [rsp + 0x80], r15
mov qword [rsp + 0x88], rdi
mov dword [rsp + 0x90], 0
lea rcx, [rsp + 0x80]
lea rdx, [rsp + 0x78]
call fcn.140018980
mov ebp, eax
lock dec dword [rdi + 8]
jne 0x1400161c2
mov rax, qword [rdi]
mov rax, qword [rax]
mov rcx, rdi
call qword [case.0x14002713e.0]
lock dec dword [rdi + 0xc]
jne 0x1400161c2
mov rax, qword [rdi]
mov rax, qword [rax + 8]
mov rcx, rdi
call qword [case.0x14002713e.0]
test ebp, ebp
mov r13, qword [rsp + 0x30]
mov r14, qword [rsp + 0x48]
mov r15d, dword [rsp + 0x3c]
mov r12, qword [rsp + 0x40]
js 0x140016f9f
lea esi, [rbp + 1]
mov rax, qword [r13]
mov r8d, dword [r13 + 0x20]
lea ecx, [r8 + rbp]
inc ecx
test rax, rax
je 0x140017010
cmp ecx, dword [r12]
ja 0x140016aa6
cmp qword [rax], 0
je 0x140016aa6
mov rcx, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rcx + 0x40]
mov edi, esi
add r8, qword [r13 + 0x10]
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 0x140016aa6
cmp qword [rsp + 0x80], rdi
jne 0x140016aa6
add dword [r14], esi
mov rax, qword [rsp + 0x50]
add dword [rax], esi
mov rsi, rax
mov edi, dword [rsi]
cmp edi, r15d
jb 0x140015e54
jmp 0x140016742
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016289
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x8b
ja 0x140015eaa
jmp 0x140017103
mov rax, qword [r13]
mov r8d, dword [r13 + 0x20]
lea ebp, [r8 + 1]
test rax, rax
je 0x140017115
cmp ebp, dword [r12]
ja 0x140016bd2
cmp qword [rax], 0
je 0x140016bd2
add rdx, qword [rcx + 0x40]
add r8, qword [r13 + 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 0x140016bd2
cmp qword [rsp + 0x80], 1
jne 0x140016bd2
inc dword [r14]
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001632e
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x1f
jne 0x1400165cf
mov rax, qword [r13]
mov r8d, dword [r13 + 0x20]
lea ebp, [r8 + 1]
test rax, rax
je 0x140017808
cmp ebp, dword [r12]
ja 0x140017018
cmp qword [rax], 0
je 0x140017018
add rdx, qword [rcx + 0x40]
add r8, qword [r13 + 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 0x140017018
cmp qword [rsp + 0x80], 1
jne 0x140017018
inc dword [r14]
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400163ce
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xc0
cmp al, 0x40
jne 0x140016a56
call fcn.1400186b0
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1400163f3
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
mov cl, byte [rcx + rdx]
and cl, 7
cmp cl, 4
jne 0x140016a56
mov rcx, qword [r13]
mov r8d, dword [r13 + 0x20]
lea ebp, [r8 + 3]
test rcx, rcx
je 0x140017810
cmp ebp, dword [r12]
ja 0x140017025
cmp qword [rcx], 0
je 0x140017025
add rdx, qword [rax + 0x40]
add r8, qword [r13 + 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 0x140017025
cmp qword [rsp + 0x80], 3
jne 0x140017025
add dword [r14], 3
add dword [rsi], 3
jmp 0x140016264
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016496
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x66
je 0x14001711d
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400164b8
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xf0
cmp al, 0x50
je 0x140017032
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400164dd
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x65
je 0x140017209
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400164ff
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x80
je 0x1400172b8
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016521
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x90
je 0x140017032
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016543
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xf8
cmp al, 0xb8
jne 0x1400165f6
mov rax, qword [r13]
mov r8d, dword [r13 + 0x20]
lea ebp, [r8 + 5]
test rax, rax
je 0x140017818
cmp ebp, dword [r12]
ja 0x140017049
cmp qword [rax], 0
je 0x140017049
add rdx, qword [rcx + 0x40]
add r8, qword [r13 + 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 0x140017049
cmp qword [rsp + 0x80], 5
jne 0x140017049
add dword [r14], 5
add dword [rsi], 5
jmp 0x140016264
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400165e4
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 5
je 0x1400166c8
jmp 0x140017820
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001660b
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x33
je 0x140017887
call fcn.1400186b0
mov rdi, qword [rbx]
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x14001662d
mov rax, qword [rdi + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xf6
je 0x140017890
mov rcx, rdi
call fcn.1400186b0
mov rdi, qword [rbx]
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x140016652
mov rax, qword [rdi + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x85
je 0x14001795d
mov rcx, rdi
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016677
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xd1
je 0x140017a0e
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016699
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
je 0x140017a51
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400166bb
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xc3
jne 0x140017a94
mov rax, qword [r13]
mov r8d, dword [r13 + 0x20]
lea ebp, [r8 + 1]
test rax, rax
je 0x1400172fb
cmp ebp, dword [r12]
ja 0x140016bdf
cmp qword [rax], 0
je 0x140016bdf
add rdx, qword [rcx + 0x40]
add r8, qword [r13 + 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 0x140016bdf
cmp qword [rsp + 0x80], 1
jne 0x140016bdf
inc dword [r14]
inc dword [rsi]
jmp 0x140016264
mov edx, edi
cmp edx, 0x64
ja 0x140016a56
test byte [rsp + 0x60], 1
jne 0x140016773
mov rax, qword [rbx]
mov edx, edx
add rdx, qword [rax + 0x40]
mov rcx, r13
mov r8d, 3
call fcn.140018b60
test al, al
je 0x140016a56
cmp byte [r13 + 0x2c], 0
je 0x140016a56
cmp qword [r13], 0
je 0x140016a56
mov r15d, dword [r13 + 0x24]
add r15, qword [r13 + 0x18]
je 0x140016a56
lea rbp, [rsp + 0x80]
mov rcx, rbx
mov rdx, rbp
xor r8d, r8d
xor r9d, r9d
call fcn.140018e70
cmp qword [rbp + 0x70], 0
je 0x140016a1c
cmp byte [rsp + 0xd8], 0
je 0x140016a1c
cmp byte [rsp + 0x6c], 0
jne 0x140017303
lea r14, [rsp + 0xa0]
mov rax, qword [r14 + 8]
cmp rax, qword [r14 + 0x10]
je 0x14001732d
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 0x140017354
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 0x14001737b
mov rbp, qword [rsp + 0x190]
mov r8, rbp
shr r8, 8
mov r9, rbp
shr r9, 0x10
mov r10, rbp
shr r10, 0x18
mov rsi, rbp
shr rsi, 0x20
mov rbx, rbp
shr rbx, 0x28
mov rdi, rbp
shr rdi, 0x30
mov rcx, rbp
shr rcx, 0x38
mov rdx, qword [rsp + 0xa0]
mov byte [rdx + rax], bpl
mov byte [rdx + rax + 1], r8b
mov byte [rdx + rax + 2], r9b
mov byte [rdx + rax + 3], r10b
mov byte [rdx + rax + 4], sil
mov byte [rdx + rax + 5], bl
mov byte [rdx + rax + 6], dil
mov byte [rdx + rax + 7], cl
mov rax, qword [rsp + 0xa8]
add rax, 8
mov qword [rsp + 0xa8], rax
add dword [rsp + 0x98], 8
cmp rax, qword [rsp + 0xb0]
je 0x1400173a2
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 0x1400173c9
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 0x1400173f0
mov rcx, qword [rsp + 0xa0]
mov byte [rcx + rax], 0xe3
inc qword [rsp + 0xa8]
inc dword [rsp + 0x98]
cmp qword [rsp + 0xf0], 0
je 0x140016a1c
cmp byte [rsp + 0xd8], 0
je 0x140016a1c
mov rbx, qword [rsp + 0xa8]
test rbx, rbx
je 0x140016a11
mov rax, qword [rsp + 0x80]
cmp qword [rax], 0
je 0x140016a1c
mov edx, dword [rsp + 0x9c]
add rdx, qword [rsp + 0x88]
mov r8, qword [rsp + 0xa0]
lea rbp, [rsp + 0x78]
mov qword [rbp], 0
mov rcx, qword [rax]
mov qword [rsp + 0x20], rbp
mov r9, rbx
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x140016a1c
cmp qword [rsp + 0x78], rbx
jne 0x140016a1c
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], r15
lea rdi, [rsp + 0xe0]
mov rcx, rdi
call fcn.140018880
mov rcx, qword [rdi + 8]
lea rax, [rsp + 0x100]
cmp rcx, rax
jne 0x140017417
lea rax, [rsp + 0xb8]
mov rcx, qword [rax - 0x18]
cmp rcx, rax
jne 0x140017422
mov rax, qword [rsp + 0x198]
cmp qword [rax], 0
je 0x14001742d
mov rcx, qword [rsp + 0x120]
xor rcx, rsp
call fcn.140027a90
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 0x140016744
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x140015fca
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x14001625a
add rdx, qword [rcx + 0x40]
mov rcx, qword [rsp + 0x30]
mov r8d, 1
call fcn.140030840
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016ae7
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xf0
cmp al, 0x50
jne 0x140016cfc
add rdx, qword [rcx + 0x40]
mov r13, qword [rsp + 0x30]
mov rcx, r13
mov r8d, 1
call fcn.140030840
mov rsi, qword [rsp + 0x50]
inc dword [rsi]
mov r14, qword [rsp + 0x48]
mov r15d, dword [rsp + 0x3c]
mov r12, qword [rsp + 0x40]
jmp 0x140016264
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016b3e
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x90
je 0x140016b65
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016b5c
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xcc
jne 0x140016b90
inc edx
mov rsi, qword [rsp + 0x50]
mov dword [rsi], edx
mov r15d, dword [rsp + 0x3c]
cmp edx, r15d
mov r13, qword [rsp + 0x30]
mov r14, qword [rsp + 0x48]
mov r12, qword [rsp + 0x40]
jb 0x140015e59
jmp 0x140016744
cmp qword [rsp + 0x70], 0
mov r13, qword [rsp + 0x30]
je 0x140016a56
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 0x140016a56
mov al, 1
mov dword [rsp + 0x6c], eax
cmp edx, 9
ja 0x140016744
jmp 0x140016a56
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x14001630e
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x14001673b
add rdx, qword [rcx + 0x40]
mov rcx, r13
mov r8d, 1
call fcn.140030840
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.1400186b0
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140016c1e
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx], 0x89
mov r13, qword [rsp + 0x30]
mov r14, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r15d, dword [rsp + 0x3c]
mov r12, qword [rsp + 0x40]
jne 0x140016a56
add rdx, qword [rax + 0x40]
mov rcx, r13
mov r8d, 1
call fcn.140030840
inc dword [rbx + 0x10]
mov rcx, rbx
xor edx, edx
call fcn.140018980
test eax, eax
js 0x140016a56
mov edi, eax
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
mov rcx, r13
mov r8d, edi
call fcn.140030840
add dword [rbx + 0x10], edi
jmp 0x140016264
add rdx, qword [rcx + 0x40]
mov rcx, r13
mov r8d, 1
call fcn.140030840
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.1400186b0
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140016cbc
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx], 0x33
mov r13, qword [rsp + 0x30]
mov r14, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r15d, dword [rsp + 0x3c]
mov r12, qword [rsp + 0x40]
jne 0x140016a56
add rdx, qword [rax + 0x40]
mov rcx, r13
mov r8d, 2
call fcn.140030840
add dword [rsi], 2
jmp 0x140016264
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016d11
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xb8
mov r13, qword [rsp + 0x30]
jb 0x140016a56
call fcn.1400186b0
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140016d38
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx], 0xbf
mov r13, qword [rsp + 0x30]
mov r14, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r15d, dword [rsp + 0x3c]
mov r12, qword [rsp + 0x40]
ja 0x140016a56
add rdx, qword [rax + 0x40]
mov rcx, r13
mov r8d, 5
call fcn.140030840
jmp 0x1400165c7
mov dword [r14], ebp
jmp 0x140015fca
inc edx
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016d94
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx + 1]
and al, 0xf8
cmp al, 0xe8
jne 0x140015ff7
mov rax, qword [rcx + 0x40]
add rax, rdx
mov r13, qword [rsp + 0x30]
mov rcx, r13
mov rdx, rax
mov r8d, 6
call fcn.140030840
mov rsi, qword [rsp + 0x50]
add dword [rsi], 6
jmp 0x140016b15
inc edx
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016de6
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx + 1]
and al, 0xf8
cmp al, 0xe8
jne 0x140016019
jmp 0x140016e21
inc edx
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016e10
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx + 1]
and al, 0xf8
cmp al, 0xc0
jne 0x14001603b
mov rax, qword [rcx + 0x40]
add rax, rdx
mov r13, qword [rsp + 0x30]
mov rcx, r13
mov rdx, rax
mov r8d, 3
call fcn.140030840
mov rsi, qword [rsp + 0x50]
add dword [rsi], 3
jmp 0x140016b15
inc edx
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016e62
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx + 1]
and al, 0xf8
cmp al, 0x60
jne 0x14001605d
mov rax, qword [rcx + 0x40]
add rax, rdx
mov r13, qword [rsp + 0x30]
mov rcx, r13
mov rdx, rax
mov r8d, 5
call fcn.140030840
mov rsi, qword [rsp + 0x50]
add dword [rsi], 5
jmp 0x140016b15
inc edx
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016eb4
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0xc0
jb 0x14001607f
mov rax, qword [rcx + 0x40]
add rax, rdx
mov r13, qword [rsp + 0x30]
mov rcx, r13
mov rdx, rax
mov r8d, 2
call fcn.140030840
mov rsi, qword [rsp + 0x50]
add dword [rsi], 2
jmp 0x140016b15
inc edx
call fcn.1400186b0
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140016f03
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx + 1], 0xc0
mov r13, qword [rsp + 0x30]
mov r14, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r15d, dword [rsp + 0x3c]
mov r12, qword [rsp + 0x40]
jae 0x140016ce2
jmp 0x140016a56
mov rcx, rbp
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016f47
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xf8
cmp al, 0xb8
jne 0x140017056
add rdx, qword [rcx + 0x40]
mov r13, qword [rsp + 0x30]
mov rcx, r13
mov r8d, 9
call fcn.140030840
mov rsi, qword [rsp + 0x50]
add dword [rsi], 9
jmp 0x140016b15
mov rcx, rdi
add rcx, 0x18
mov rdx, r12
call fcn.140015630
test al, al
je 0x140016168
mov rax, qword [rdi + 0x18]
mov rcx, qword [rdi + 0x20]
jmp 0x140016144
cmp ebp, 0xfffffffe
jne 0x140017953
add dword [rbx + 0x10], 2
mov rcx, rbx
call fcn.1400307b0
mov dl, byte [rsp + 0x78]
test dl, dl
je 0x1400175e2
mov rcx, qword [rsp + 0x30]
cmp qword [rcx], 0
mov ecx, dword [rcx + 0x20]
je 0x140017ba2
mov rbp, qword [rsp + 0x40]
mov ebp, dword [rbp]
cmp ecx, ebp
jae 0x140017bbf
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 0x140017ba4
mov rdx, qword [rsp + 0x40]
mov ebp, dword [rdx]
jmp 0x140017bc7
mov dword [r14], ecx
jmp 0x14001625a
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x1400163ae
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x140016479
add rdx, qword [rcx + 0x40]
mov rcx, r13
mov r8d, 1
call fcn.140030840
jmp 0x14001673b
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x1400165c7
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001706b
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xc7
jne 0x1400174a9
inc edx
call fcn.1400186b0
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x14001708f
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx + 1], 0x44
mov r13, qword [rsp + 0x30]
mov r14, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r15d, dword [rsp + 0x3c]
mov r12, qword [rsp + 0x40]
jne 0x140016a56
add rdx, qword [rax + 0x40]
mov rcx, r13
mov r8d, 8
call fcn.140030840
add dword [rsi], 8
jmp 0x140016264
mov dword [r14], edx
jmp 0x140015d2c
mov byte [r13 + 0x2c], 0
xor eax, eax
jmp 0x140015d03
mov dword [r14], edx
jmp 0x140015d9e
mov byte [r13 + 0x2c], 0
xor eax, eax
jmp 0x140015d75
int3
mov rax, qword [rcx + 0x40]
add rax, rdx
mov rcx, r13
mov rdx, rax
jmp 0x140016c4b
mov dword [r14], ebp
jmp 0x14001630e
add rdx, qword [rcx + 0x40]
mov rcx, r13
mov r8d, 1
call fcn.140030840
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001714f
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x88
jb 0x140017442
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017171
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x8b
ja 0x140017442
inc edx
call fcn.1400186b0
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140017195
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 0x140017fcb
cmp cl, 0x40
mov r13, qword [rsp + 0x30]
je 0x1400171d9
test cl, cl
jne 0x140016a56
mov ebp, edi
and ebp, 6
cmp ebp, 4
jne 0x140017fcb
cmp ecx, 0x40
mov r13, qword [rsp + 0x30]
jne 0x140016a56
and edi, 7
add rdx, qword [rax + 0x40]
cmp edi, 4
jne 0x14001807d
mov r13, qword [rsp + 0x30]
mov rcx, r13
mov r8d, 4
call fcn.140030840
mov rsi, qword [rsp + 0x50]
add dword [rsi], 4
jmp 0x140016b15
inc edx
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017220
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0x48
mov r13, qword [rsp + 0x30]
jne 0x140016a56
add edx, 2
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001724b
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 2], 0x88
mov r13, qword [rsp + 0x30]
jb 0x140016a56
add edx, 2
call fcn.1400186b0
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140017276
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx + 2], 0x8b
mov r13, qword [rsp + 0x30]
mov r14, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r15d, dword [rsp + 0x3c]
mov r12, qword [rsp + 0x40]
ja 0x140016a56
add rdx, qword [rax + 0x40]
mov rcx, r13
mov r8d, 3
call fcn.140030840
add dword [rbx + 0x10], 3
jmp 0x140016c59
inc edx
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400172cf
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0x3d
je 0x14001808a
mov r13, qword [rsp + 0x30]
mov r14, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r15d, dword [rsp + 0x3c]
mov r12, qword [rsp + 0x40]
jmp 0x14001650c
mov dword [r14], ebp
jmp 0x14001673b
lea r8, [rsp + 0x80]
mov rcx, qword [rsp + 0x70]
mov rdx, r15
mov r9, qword [rsp + 0x190]
call fcn.1400308d0
test al, al
jne 0x140016969
jmp 0x140016a1c
mov edx, 1
mov rcx, r14
call fcn.140015630
test al, al
je 0x14001860e
mov rax, qword [rsp + 0xa8]
mov r13, qword [rsp + 0x30]
jmp 0x1400167ea
mov edx, 1
mov rcx, r14
call fcn.140015630
test al, al
je 0x140018628
mov rax, qword [rsp + 0xa8]
mov r13, qword [rsp + 0x30]
jmp 0x14001681e
mov edx, 8
mov rcx, r14
call fcn.140015630
test al, al
je 0x140018642
mov rax, qword [rsp + 0xa8]
mov r13, qword [rsp + 0x30]
jmp 0x140016856
mov edx, 1
mov rcx, r14
call fcn.140015630
test al, al
je 0x14001865c
mov rax, qword [rsp + 0xa8]
mov r13, qword [rsp + 0x30]
jmp 0x1400168e6
mov edx, 1
mov rcx, r14
call fcn.140015630
test al, al
je 0x140018676
mov rax, qword [rsp + 0xa8]
mov r13, qword [rsp + 0x30]
jmp 0x14001691a
mov edx, 1
mov rcx, r14
call fcn.140015630
test al, al
je 0x140018690
mov rax, qword [rsp + 0xa8]
mov r13, qword [rsp + 0x30]
jmp 0x14001694e
call qword [sym.imp.mozglue.dll_free]
jmp 0x140016a41
call qword [sym.imp.mozglue.dll_free]
jmp 0x140016a56
mov dword [r13 + 0x20], 0
mov rcx, r13
call fcn.140030800
jmp 0x140016a68
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017457
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x44
jne 0x140018590
inc edx
call fcn.1400186b0
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x14001747b
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx + 1], 0x89
jne 0x140018590
add rdx, qword [rax + 0x40]
mov r13, qword [rsp + 0x30]
mov rcx, r13
mov r8d, 2
call fcn.140030840
add dword [rbx + 0x10], 2
jmp 0x14001785c
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400174be
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xff
je 0x140017d0f
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400174e0
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x8d
jne 0x140017dfa
inc edx
call fcn.1400186b0
mov r14, qword [rbx]
mov rax, qword [r14 + 0x10]
test rax, rax
je 0x140017504
mov rax, qword [r14 + 8]
mov ebp, dword [rbx + 0x10]
cmp byte [rax + rbp + 1], 0x3f
ja 0x14001753a
lea edx, [rbp + 1]
mov rcx, r14
call fcn.1400186b0
mov r14, qword [rbx]
mov rax, qword [r14 + 0x10]
test rax, rax
je 0x140017529
mov rax, qword [r14 + 8]
mov ebp, dword [rbx + 0x10]
mov al, byte [rax + rbp + 1]
and al, 7
cmp al, 5
je 0x14001850a
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, [0x1400513a0]
mov qword [rdi], rax
lea rsi, [rdi + 0x10]
mov rcx, rsi
mov rdx, r14
mov r8d, ebp
call fcn.140030700
lea rcx, [rsp + 0x80]
mov qword [rcx], rsi
mov qword [rcx + 8], rdi
mov dword [rcx + 0x10], 0
xor edx, edx
call fcn.140018980
mov ebp, eax
lock dec dword [rdi + 8]
jne 0x1400175be
mov rax, qword [rdi]
mov rax, qword [rax]
mov rcx, rdi
call qword [case.0x14002713e.0]
lock dec dword [rdi + 0xc]
jne 0x1400175be
mov rax, qword [rdi]
mov rax, qword [rax + 8]
mov rcx, rdi
call qword [case.0x14002713e.0]
inc ebp
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
mov r13, qword [rsp + 0x30]
mov rcx, r13
mov r8d, ebp
call fcn.140030840
add dword [rbx + 0x10], ebp
jmp 0x140018595
mov rcx, qword [rsp + 0x30]
cmp qword [rcx], 0
mov ecx, dword [rcx + 0x20]
je 0x14001856e
mov rdx, qword [rsp + 0x40]
mov edx, dword [rdx]
cmp ecx, edx
jae 0x140018578
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 0x140018570
mov rdx, qword [rsp + 0x40]
mov edx, dword [rdx]
jmp 0x140018581
add edx, 0xa
call fcn.1400186b0
mov r12, qword [rbx]
mov rax, qword [r12 + 0x10]
test rax, rax
je 0x140017649
mov rax, qword [r12 + 8]
mov ebp, dword [rbx + 0x10]
cmp byte [rax + rbp + 0xa], 0xff
je 0x140017e28
add ebp, 0xa
mov rcx, r12
mov edx, ebp
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017674
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 0xa], 0x50
mov r13, qword [rsp + 0x30]
mov r14, qword [rsp + 0x48]
jne 0x140015df1
add edx, 0xb
call fcn.1400186b0
mov r12, qword [rbx]
mov rax, qword [r12 + 0x10]
test rax, rax
je 0x1400176a6
mov rax, qword [r12 + 8]
mov ebp, dword [rbx + 0x10]
cmp byte [rax + rbp + 0xb], 0xc3
mov r13, qword [rsp + 0x30]
mov r14, qword [rsp + 0x48]
jne 0x140015df1
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, [0x1400513a0]
mov qword [r13], rax
lea rsi, [r13 + 0x10]
mov rcx, rsi
mov rdx, r12
mov r8d, ebp
call fcn.140030700
mov rcx, rsi
mov edx, 8
call fcn.1400186b0
mov rax, qword [r13 + 0x18]
mov r15, qword [rax]
lock dec dword [r13 + 8]
jne 0x14001773d
mov rax, qword [r13]
mov rax, qword [rax]
mov rcx, r13
call qword [case.0x14002713e.0]
lock dec dword [r13 + 0xc]
jne 0x14001773d
mov rax, qword [r13]
mov rax, qword [rax + 8]
mov rcx, r13
call qword [case.0x14002713e.0]
lea rbp, [rsp + 0x80]
mov rcx, rbx
mov rdx, rbp
mov r8d, 8
mov r9b, 2
call fcn.140018e70
xor esi, esi
cmp qword [rbp + 0x70], 0
je 0x140018108
cmp byte [rsp + 0xd8], 0
je 0x140018108
lea rbp, [rsp + 0x80]
mov rcx, rbp
mov rdx, qword [rsp + 0x190]
call fcn.140030d10
mov rcx, rbp
call fcn.140030c60
test al, al
je 0x140018106
mov rdx, qword [rsp + 0x30]
mov eax, dword [rdx + 0x20]
lea ecx, [rax + 8]
cmp qword [rdx], 0
je 0x1400183ac
mov rdx, qword [rsp + 0x30]
cmp ecx, dword [rdx + 0x28]
jbe 0x1400183c6
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 0x140018108
mov rcx, qword [rsp + 0x30]
cmp qword [rcx + 0x18], 0
je 0x140018108
mov rcx, qword [rsp + 0x30]
cmp dword [rcx + 8], 0
je 0x140018108
test al, al
jne 0x1400183b3
jmp 0x140018108
mov dword [r14], ebp
jmp 0x1400163ae
mov dword [r14], ebp
jmp 0x140016479
mov dword [r14], ebp
jmp 0x1400165c7
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017835
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x10
jne 0x140017c2f
add rdx, qword [rcx + 0x40]
mov r13, qword [rsp + 0x30]
mov rcx, r13
mov r8d, 1
call fcn.140030840
inc dword [rbx + 0x10]
mov rcx, rbx
xor edx, edx
call fcn.140018980
test eax, eax
mov r14, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r15d, dword [rsp + 0x3c]
mov r12, qword [rsp + 0x40]
jns 0x140016c6b
jmp 0x140016a56
add rdx, qword [rcx + 0x40]
jmp 0x140016ce6
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, [0x1400513a0]
mov qword [rbp], rax
lea rsi, [rbp + 0x10]
mov rcx, rsi
mov rdx, rdi
mov r8d, r15d
call fcn.140030700
lea rcx, [rsp + 0x80]
mov qword [rcx], rsi
mov qword [rcx + 8], rbp
mov dword [rcx + 0x10], 0
mov rdx, r14
call fcn.140018980
mov edi, eax
lock dec dword [rbp + 8]
jne 0x140017923
mov rax, qword [rbp]
mov rax, qword [rax]
mov rcx, rbp
call qword [case.0x14002713e.0]
lock dec dword [rbp + 0xc]
jne 0x140017923
mov rax, qword [rbp]
mov rax, qword [rax + 8]
mov rcx, rbp
call qword [case.0x14002713e.0]
test edi, edi
js 0x140017953
cmp byte [rsp + 0x78], 0
jne 0x140017953
add edi, 2
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
mov r13, qword [rsp + 0x30]
mov rcx, r13
mov r8d, edi
call fcn.140030840
add dword [rbx + 0x10], edi
jmp 0x140018595
mov r13, qword [rsp + 0x30]
jmp 0x140016a56
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, [0x1400513a0]
mov qword [rbp], rax
lea rsi, [rbp + 0x10]
mov rcx, rsi
mov rdx, rdi
mov r8d, r14d
call fcn.140030700
lea rcx, [rsp + 0x80]
mov qword [rcx], rsi
mov qword [rcx + 8], rbp
mov dword [rcx + 0x10], 0
xor edx, edx
call fcn.140018980
mov edi, eax
lock dec dword [rbp + 8]
jne 0x1400179e6
mov rax, qword [rbp]
mov rax, qword [rax]
mov rcx, rbp
call qword [case.0x14002713e.0]
lock dec dword [rbp + 0xc]
jne 0x1400179e6
mov rax, qword [rbp]
mov rax, qword [rax + 8]
mov rcx, rbp
call qword [case.0x14002713e.0]
test edi, edi
mov r13, qword [rsp + 0x30]
mov r14, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r15d, dword [rsp + 0x3c]
mov r12, qword [rsp + 0x40]
js 0x140016a56
inc edi
jmp 0x140016c6d
inc edx
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017a25
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0xc0
jae 0x140016ec2
mov r13, qword [rsp + 0x30]
mov r14, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r15d, dword [rsp + 0x3c]
mov r12, qword [rsp + 0x40]
jmp 0x140016684
inc edx
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017a68
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0xc0
jae 0x140016e21
mov r13, qword [rsp + 0x30]
mov r14, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r15d, dword [rsp + 0x3c]
mov r12, qword [rsp + 0x40]
jmp 0x1400166a6
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017aa9
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xcc
je 0x140016af7
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017acb
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xe8
je 0x14001828a
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017aed
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xe9
je 0x14001828a
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017b0f
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x73
jb 0x140017e8c
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017b31
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x75
ja 0x140017e8c
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017b53
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
movzx esi, byte [rax + rdx]
inc edx
call fcn.1400186b0
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140017b71
mov rcx, qword [rax + 8]
lea rdx, [0x1400513c0]
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 r13, qword [rsp + 0x30]
mov rcx, r13
jmp 0x140017ce9
inc ecx
add ecx, 8
inc ecx
inc ecx
inc ecx
mov r14, qword [rsp + 0x48]
mov dword [r14], ecx
mov r13, qword [rsp + 0x30]
jmp 0x14001859a
mov rdx, qword [rsp + 0x58]
mov byte [rdx], 0
lea edx, [rcx + 8]
cmp edx, ebp
jbe 0x140017c07
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
cmp ecx, ebp
jae 0x140017db3
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 0x140017ba9
mov rax, qword [rsp + 0x40]
mov ebp, dword [rax]
jmp 0x140017dbb
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 0x140017ba7
mov rax, qword [rsp + 0x40]
mov ebp, dword [rax]
jmp 0x140017bd6
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017c44
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x11
je 0x140017842
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017c66
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
mov r13, qword [rsp + 0x30]
jb 0x140016a56
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017c8d
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x85
mov r13, qword [rsp + 0x30]
ja 0x140016a56
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017cb4
mov rax, qword [rcx + 8]
mov ecx, dword [rbx + 0x10]
movzx eax, byte [rax + rcx]
lea rdx, [0x1400513c0]
mov edi, dword [rdx + rax*4 - 0x20c]
lea eax, [rcx + 1]
mov dword [rbx + 0x10], eax
mov r13, qword [rsp + 0x30]
dec dword [r13 + 0x20]
mov rcx, rbx
call fcn.1400307b0
mov rcx, r13
mov rdx, rax
mov r8d, edi
call fcn.140018b60
test al, al
mov r14, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r15d, dword [rsp + 0x3c]
mov r12, qword [rsp + 0x40]
jne 0x140016264
jmp 0x140016a56
inc edx
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017d26
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0x3f
mov r13, qword [rsp + 0x30]
ja 0x140016a56
inc edx
call fcn.1400186b0
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140017d50
mov rcx, qword [rax + 8]
mov eax, dword [rbx + 0x10]
mov cl, byte [rcx + rax + 1]
and cl, 7
cmp cl, 5
mov r13, qword [rsp + 0x30]
mov r14, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r15d, dword [rsp + 0x3c]
mov r12, qword [rsp + 0x40]
jne 0x140016a56
add eax, 2
mov dword [rbx + 0x10], eax
dec dword [r13 + 0x20]
mov rcx, rbx
call fcn.140030620
mov rcx, r13
mov rdx, rax
mov r8d, 3
call fcn.140018b60
mov cl, 1
mov qword [rsp + 0x60], rcx
test al, al
jne 0x140016264
jmp 0x140016a56
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
cmp ecx, ebp
jae 0x140017e58
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 0x140017bab
mov dl, byte [rsp + 0x78]
lea eax, [rdx*8]
or al, dl
mov rdx, qword [rsp + 0x40]
mov ebp, dword [rdx]
jmp 0x140017e6d
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017e0f
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x63
mov r13, qword [rsp + 0x30]
jne 0x140016a56
inc edx
jmp 0x140016eee
lea edx, [rbp + 0xb]
mov rcx, r12
call fcn.1400186b0
mov r12, qword [rbx]
mov rax, qword [r12 + 0x10]
test rax, rax
je 0x140017e45
mov rax, qword [r12 + 8]
mov ebp, dword [rbx + 0x10]
cmp byte [rax + rbp + 0xb], 0xe0
jne 0x140017657
jmp 0x1400176be
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 0x140018588
mov r13, qword [rsp + 0x30]
mov rdx, qword [r13 + 0x10]
mov ecx, ecx
mov byte [rdx + rcx], al
inc dword [r13 + 0x20]
jmp 0x140018595
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017ea1
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xff
je 0x140017fdc
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017ec3
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
jne 0x140017ef4
inc edx
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017ee3
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx + 1]
and al, 0xf8
cmp al, 0x60
je 0x140016e73
call fcn.1400186b0
mov r14, qword [rbx]
mov rax, qword [r14 + 0x10]
test rax, rax
je 0x140017f09
mov rax, qword [r14 + 8]
mov edi, dword [rbx + 0x10]
cmp byte [rax + rdi], 0xc6
mov r13, qword [rsp + 0x30]
jne 0x140016a56
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, [0x1400513a0]
mov qword [rbp], rax
lea rsi, [rbp + 0x10]
mov rcx, rsi
mov rdx, r14
mov r8d, edi
call fcn.140030700
lea rcx, [rsp + 0x80]
mov qword [rcx], rsi
mov qword [rcx + 8], rbp
mov dword [rcx + 0x10], 0
xor edx, edx
call fcn.140018980
mov edi, eax
lock dec dword [rbp + 8]
jne 0x140017fa2
mov rax, qword [rbp]
mov rax, qword [rax]
mov rcx, rbp
call qword [case.0x14002713e.0]
lock dec dword [rbp + 0xc]
jne 0x140017fa2
mov rax, qword [rbp]
mov rax, qword [rax + 8]
mov rcx, rbp
call qword [case.0x14002713e.0]
test edi, edi
mov r13, qword [rsp + 0x30]
mov r14, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r15d, dword [rsp + 0x3c]
mov r12, qword [rsp + 0x40]
js 0x140016a56
add edi, 2
jmp 0x140016c6d
add rdx, qword [rax + 0x40]
mov r13, qword [rsp + 0x30]
mov rcx, r13
jmp 0x140016ed4
inc edx
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140017ff3
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov bpl, byte [rax + rdx + 1]
inc edx
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140018012
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov dil, byte [rax + rdx + 1]
shr dil, 3
inc edx
call fcn.1400186b0
mov r14, qword [rbx]
mov rax, qword [r14 + 0x10]
test rax, rax
je 0x140018035
mov rax, qword [r14 + 8]
and dil, 7
mov esi, dword [rbx + 0x10]
mov dl, byte [rax + rsi + 1]
and dl, 7
cmp bpl, 0xc0
jb 0x140018147
cmp dil, 6
ja 0x1400184fd
movzx eax, dil
mov ecx, 0x47
bt ecx, eax
jae 0x1400184fd
add rsi, qword [r14 + 0x40]
mov r13, qword [rsp + 0x30]
mov rcx, r13
mov rdx, rsi
jmp 0x140016ed4
mov r13, qword [rsp + 0x30]
mov rcx, r13
jmp 0x140016e33
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 0x140018250
inc eax
inc eax
mov rcx, qword [rsp + 0x48]
mov dword [rcx], eax
mov rcx, rbx
call fcn.1400307b0
mov rcx, qword [rsp + 0x30]
cmp qword [rcx], 0
mov ecx, dword [rcx + 0x20]
je 0x1400182cf
mov rdx, qword [rsp + 0x40]
mov edx, dword [rdx]
cmp ecx, edx
jae 0x14001834c
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 0x1400182d1
mov rdx, qword [rsp + 0x40]
mov edx, dword [rdx]
jmp 0x140018355
xor esi, esi
lea rbp, [rsp + 0xe0]
mov rcx, rbp
call fcn.140031020
mov rcx, qword [rbp - 0x40]
lea rax, [rsp + 0xb8]
cmp rcx, rax
je 0x14001812f
call qword [sym.imp.mozglue.dll_free]
test sil, sil
mov r13, qword [rsp + 0x30]
mov r14, qword [rsp + 0x48]
je 0x140015df1
jmp 0x140016a56
cmp bpl, 0x40
setb al
cmp dl, 5
sete cl
cmp bpl, 0x3f
ja 0x140018169
cmp dil, 2
jne 0x140018169
cmp dl, 5
je 0x1400185ea
cmp dil, 4
mov r13, qword [rsp + 0x30]
jne 0x140016a56
and al, cl
cmp al, 1
je 0x1400185ba
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, [0x1400513a0]
mov qword [rbp], rax
lea rdi, [rbp + 0x10]
mov rcx, rdi
mov rdx, r14
mov r8d, esi
call fcn.140030700
lea rcx, [rsp + 0x80]
mov qword [rcx], rdi
mov qword [rcx + 8], rbp
mov dword [rcx + 0x10], 0
xor edx, edx
call fcn.140018980
mov edi, eax
lock dec dword [rbp + 8]
jne 0x140018209
mov rax, qword [rbp]
mov rax, qword [rax]
mov rcx, rbp
call qword [case.0x14002713e.0]
lock dec dword [rbp + 0xc]
jne 0x140018209
mov rax, qword [rbp]
mov rax, qword [rax + 8]
mov rcx, rbp
call qword [case.0x14002713e.0]
test edi, edi
mov r13, qword [rsp + 0x30]
mov r14, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r15d, dword [rsp + 0x3c]
mov r12, qword [rsp + 0x40]
js 0x140016a56
inc edi
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
mov rcx, r13
mov r8d, edi
call fcn.140030840
add dword [rbx + 0x10], edi
mov al, 1
mov qword [rsp + 0x60], rax
jmp 0x140016264
mov rcx, qword [rsp + 0x40]
mov ecx, dword [rcx]
cmp eax, ecx
jae 0x140018438
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 0x1400180a8
mov rcx, qword [rsp + 0x40]
mov ecx, dword [rcx]
jmp 0x140018440
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001829f
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.1400307b0
mov r13, qword [rsp + 0x30]
jmp 0x140017ce0
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.140030840
inc dword [rbx + 0x10]
cmp qword [rsi], 0
mov eax, dword [rsi + 0x20]
je 0x14001833b
mov rcx, qword [rsp + 0x40]
mov ecx, dword [rcx]
cmp eax, ecx
jae 0x140018388
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 0x14001833d
mov rcx, qword [rsp + 0x40]
mov ecx, dword [rcx]
jmp 0x140018390
inc eax
inc eax
mov r14, qword [rsp + 0x48]
mov dword [r14], eax
jmp 0x140017bb5
mov rbp, qword [rsp + 0x58]
mov byte [rbp], 0
cmp ecx, edx
jae 0x1400183ee
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 0x1400182d3
mov rdx, qword [rsp + 0x40]
mov edx, dword [rdx]
jmp 0x1400183f7
mov rdx, qword [rsp + 0x58]
mov byte [rdx], 0
cmp eax, ecx
jae 0x140018588
mov r13, qword [rsp + 0x30]
mov rcx, qword [r13 + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x5b
jmp 0x140017e83
mov rax, qword [rsp + 0x48]
mov dword [rax], ecx
mov rax, qword [rsp + 0x198]
mov qword [rax], r15
mov sil, 1
jmp 0x140018108
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rdx + 0x10]
mov qword [rcx + rax], r15
add dword [rdx + 0x20], 8
cmp qword [rdx], 0
je 0x1400183b3
mov rax, qword [rsp + 0x30]
cmp byte [rax + 0x2c], 0
setne al
jmp 0x1400177ca
mov rbp, qword [rsp + 0x58]
mov byte [rbp], 0
lea ebp, [rcx + 8]
cmp ebp, edx
jbe 0x14001845b
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
cmp ecx, edx
jae 0x140018497
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 0x1400182d8
mov rax, qword [rsp + 0x40]
mov edx, dword [rax]
jmp 0x14001849f
mov rdx, qword [rsp + 0x58]
mov byte [rdx], 0
cmp eax, ecx
jae 0x14001848a
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rdx + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x53
inc dword [rdx + 0x20]
jmp 0x1400180b1
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 0x1400182d6
mov rax, qword [rsp + 0x40]
mov edx, dword [rax]
jmp 0x140018406
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x1400180b1
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
cmp ecx, edx
jae 0x1400184cd
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 0x1400182da
mov rax, qword [rsp + 0x40]
mov edx, dword [rax]
jmp 0x1400184d5
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
cmp ecx, edx
jae 0x1400184f0
mov rdx, qword [rsp + 0x30]
mov rax, qword [rdx + 0x10]
mov ecx, ecx
mov byte [rax + rcx], 0x3b
inc dword [rdx + 0x20]
jmp 0x1400182e3
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
jmp 0x1400182e3
cmp dl, 5
sete cl
xor eax, eax
jmp 0x140018169
lea edx, [rbp + 1]
mov rcx, r14
call fcn.1400186b0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140018525
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.1400307b0
mov rcx, qword [rsp + 0x30]
cmp qword [rcx], 0
mov ecx, dword [rcx + 0x20]
je 0x14001856e
mov rdx, qword [rsp + 0x40]
mov edx, dword [rdx]
cmp ecx, edx
jae 0x140018578
shr sil, 3
or sil, 0xb8
mov rbp, qword [rsp + 0x30]
mov rdx, qword [rbp + 0x10]
mov byte [rdx + rcx], sil
jmp 0x140017610
inc ecx
add ecx, 8
jmp 0x140017bad
mov rbp, qword [rsp + 0x58]
mov byte [rbp], 0
lea ebp, [rcx + 8]
cmp ebp, edx
jbe 0x1400185a4
mov rax, qword [rsp + 0x58]
mov byte [rax], 0
mov r13, qword [rsp + 0x30]
mov r14, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
jmp 0x140016b1a
mov r13, qword [rsp + 0x30]
mov rdx, qword [r13 + 0x10]
mov ecx, ecx
mov qword [rdx + rcx], rax
add dword [r13 + 0x20], 8
jmp 0x140018595
add esi, 2
mov dword [rbx + 0x10], esi
mov rcx, rbx
call fcn.140030620
mov r13, qword [rsp + 0x30]
mov rcx, r13
mov rdx, rax
mov r8d, 3
call fcn.140018b60
mov cl, 1
mov qword [rsp + 0x60], rcx
jmp 0x140017cee
add esi, 2
mov dword [rbx + 0x10], esi
mov rcx, rbx
call fcn.140030620
mov r13, qword [rsp + 0x30]
mov rcx, r13
mov rdx, rax
mov r8d, 4
jmp 0x140017ce9
mov byte [rsp + 0xd8], 0
mov rax, qword [rsp + 0xa8]
mov r13, qword [rsp + 0x30]
jmp 0x140016810
mov byte [rsp + 0xd8], 0
mov rax, qword [rsp + 0xa8]
mov r13, qword [rsp + 0x30]
jmp 0x140016844
mov byte [rsp + 0xd8], 0
mov rax, qword [rsp + 0xa8]
mov r13, qword [rsp + 0x30]
jmp 0x1400168d8
mov byte [rsp + 0xd8], 0
mov rax, qword [rsp + 0xa8]
mov r13, qword [rsp + 0x30]
jmp 0x14001690c
mov byte [rsp + 0xd8], 0
mov rax, qword [rsp + 0xa8]
mov r13, qword [rsp + 0x30]
jmp 0x140016940
mov byte [rsp + 0xd8], 0
mov r13, qword [rsp + 0x30]
jmp 0x140016969