Function at 0x1400143c0
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 [0x140062018]
xor rax, rsp
mov qword [rsp + 0x120], rax
mov qword [rcx], 0
cmp qword [r9], 0
je 0x140014432
cmp qword [r14 + 0x10], 0
je 0x14001520b
cmp qword [r14 + 0x18], 0
je 0x14001520b
cmp dword [r14 + 8], 0
je 0x14001520b
cmp byte [r14 + 0x34], 0
je 0x14001520b
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 0x140015a1b
cmp edx, dword [r14 + 0x30]
ja 0x140015a23
mov rdx, qword [r14 + 0x10]
mov qword [rdx + rcx], rax
add dword [r14 + 0x20], 8
cmp qword [r14], 0
je 0x14001449a
mov al, byte [r14 + 0x34]
cmp qword [r14 + 0x10], 0
je 0x14001520b
cmp qword [r14 + 0x18], 0
je 0x14001520b
cmp dword [r14 + 8], 0
je 0x14001520b
test al, al
je 0x14001520b
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 0x140015a2f
cmp edx, dword [r14 + 0x30]
ja 0x140015a37
mov rdx, qword [r14 + 0x10]
mov qword [rdx + rcx], rax
add dword [r14 + 0x20], 8
cmp qword [r14], 0
je 0x14001450a
mov al, byte [r14 + 0x34]
cmp qword [r14 + 0x10], 0
je 0x1400151f9
cmp qword [r14 + 0x18], 0
je 0x1400151f9
cmp dword [r14 + 8], 0
je 0x1400151f9
test al, al
je 0x1400151f9
mov rcx, qword [rbx]
mov edx, dword [rbx + 0x10]
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014525
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x48
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x40], r15
jne 0x14001455d
inc edx
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001454f
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0xb8
je 0x14001601a
mov eax, dword [r14 + 0x20]
mov dword [r14 + 0x24], eax
mov dword [r14 + 0x28], eax
cmp byte [rdi + 0x34], 0
je 0x140015a43
lea r13, [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 r12d, [rcx + rcx*2]
add r12d, 0xa
mov edx, dword [r13]
cmp edx, r12d
mov dword [rsp + 0x6c], ebp
jae 0x140015230
lea rsi, [r14 + 0x28]
lea rax, [r14 + 0x30]
mov qword [rsp + 0x58], rax
lea rax, [r14 + 0x34]
mov qword [rsp + 0x50], rax
xor eax, eax
mov qword [rsp + 0x60], rax
mov edi, edx
mov qword [rsp + 0x48], r13
mov dword [rsp + 0x3c], r12d
mov qword [rsp + 0x28], rsi
mov rcx, qword [rbx]
mov edx, edi
test byte [rsp + 0x60], 1
jne 0x1400152f1
mov edx, edi
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400145f6
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xf
je 0x140014a27
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014618
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x88
jae 0x140014a00
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001463a
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x40
je 0x140015256
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001465c
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x41
je 0x140015256
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001467e
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x44
je 0x1400153bb
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400146a0
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x45
je 0x14001549b
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400146c2
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xfa
cmp al, 0x48
jne 0x140014c2a
add rdx, qword [rcx + 0x40]
mov r8d, dword [r15]
lea ecx, [r8 + 1]
cmp r8d, dword [rsi]
jne 0x1400146e4
mov dword [rsi], ecx
mov rax, qword [r14]
test rax, rax
je 0x14001565b
mov rbp, qword [rsp + 0x58]
cmp ecx, dword [rbp]
ja 0x14001523c
cmp qword [rax], 0
je 0x14001523c
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 0x14001523c
cmp qword [rsp + 0x80], 1
jne 0x14001523c
inc dword [r15]
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001476e
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x81
je 0x140015663
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014790
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
je 0x1400156b9
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400147b2
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
je 0x1400156e3
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400147d4
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
je 0x140015751
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400147f6
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x2b
je 0x1400157bf
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014818
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x85
je 0x140015815
call fcn.1400170d0
mov rbp, qword [rbx]
mov rax, qword [rbp + 0x10]
test rax, rax
je 0x14001483a
mov rax, qword [rbp + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xfd
cmp al, 0x89
jne 0x14001584e
lea r12d, [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, [0x1400543a0]
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, r12
mov qword [rdi + 0x50], rcx
mov rsi, qword [rbp + 0x10]
cmp rsi, r12
jbe 0x1400148ec
mov r15, qword [rbp + 8]
lea rbp, [r15 + rsi]
add r15, r12
mov r13, rbp
sub r13, r15
cmp r13, 0x21
jae 0x1400158b6
xor ecx, ecx
cmp rsi, r12
jle 0x1400148e5
add rax, rcx
mov cl, byte [r15]
mov byte [rax], cl
inc r15
inc rax
cmp r15, rbp
jb 0x1400148d1
mov rcx, qword [rdi + 0x20]
add rcx, r13
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.1400172a0
mov ebp, eax
lock dec dword [rdi + 8]
jne 0x140014946
mov rax, qword [rdi]
mov rax, qword [rax]
mov rcx, rdi
call qword [case.0x14002f18e.0]
lock dec dword [rdi + 0xc]
jne 0x140014946
mov rax, qword [rdi]
mov rax, qword [rax + 8]
mov rcx, rdi
call qword [case.0x14002f18e.0]
test ebp, ebp
mov r14, qword [rsp + 0x30]
mov r15, qword [rsp + 0x40]
mov r13, qword [rsp + 0x48]
mov r12d, dword [rsp + 0x3c]
mov rsi, qword [rsp + 0x28]
js 0x1400158da
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
mov r8d, dword [r15]
lea ecx, [r8 + rbp]
inc ecx
cmp r8d, dword [rsi]
jne 0x140014981
mov dword [rsi], ecx
inc ebp
mov rax, qword [r14]
test rax, rax
je 0x14001594b
mov rdi, qword [rsp + 0x58]
cmp ecx, dword [rdi]
ja 0x140015249
cmp qword [rax], 0
je 0x140015249
add r8, qword [r14 + 0x10]
mov edi, ebp
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 0x140015249
cmp qword [rsp + 0x80], rdi
jne 0x140015249
add dword [r15], ebp
add dword [r13], ebp
mov edi, dword [r13]
cmp edi, r12d
jb 0x1400145cf
jmp 0x140014f01
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014a15
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x8b
ja 0x140014625
jmp 0x140015a4e
add rdx, qword [rcx + 0x40]
mov r8d, dword [r15]
lea ecx, [r8 + 1]
cmp r8d, dword [rsi]
jne 0x140014a39
mov dword [rsi], ecx
mov rax, qword [r14]
test rax, rax
je 0x140015a75
mov rbp, qword [rsp + 0x58]
cmp ecx, dword [rbp]
ja 0x1400153a1
cmp qword [rax], 0
je 0x1400153a1
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 0x1400153a1
cmp qword [rsp + 0x80], 1
jne 0x1400153a1
inc dword [r15]
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014ac3
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x1f
jne 0x140014d83
add rdx, qword [rcx + 0x40]
mov r8d, dword [r15]
lea ecx, [r8 + 1]
cmp r8d, dword [rsi]
jne 0x140014ae2
mov dword [rsi], ecx
mov rax, qword [r14]
test rax, rax
je 0x1400161ec
mov rbp, qword [rsp + 0x58]
cmp ecx, dword [rbp]
ja 0x140015953
cmp qword [rax], 0
je 0x140015953
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 0x140015953
cmp qword [rsp + 0x80], 1
jne 0x140015953
inc dword [r15]
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014b6c
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xc0
cmp al, 0x40
jne 0x1400151f9
call fcn.1400170d0
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140014b91
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
mov cl, byte [rcx + rdx]
and cl, 7
cmp cl, 4
jne 0x1400151f9
add rdx, qword [rax + 0x40]
mov r8d, dword [r15]
lea ecx, [r8 + 3]
cmp r8d, dword [rsi]
jne 0x140014bb5
mov dword [rsi], ecx
mov rax, qword [r14]
test rax, rax
je 0x1400161f4
mov rbp, qword [rsp + 0x58]
cmp ecx, dword [rbp]
ja 0x140015960
cmp qword [rax], 0
je 0x140015960
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, 3
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x140015960
cmp qword [rsp + 0x80], 3
jne 0x140015960
add dword [r15], 3
add dword [r13], 3
jmp 0x1400149ee
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014c3f
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x66
je 0x140015a7d
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014c61
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xf0
cmp al, 0x50
je 0x14001596d
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014c86
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x65
je 0x140015ba4
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014ca8
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x80
je 0x140015c5f
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014cca
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x90
je 0x14001596d
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014cec
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xf8
cmp al, 0xb8
jne 0x140014daa
add rdx, qword [rcx + 0x40]
mov r8d, dword [r15]
lea ecx, [r8 + 5]
cmp r8d, dword [rsi]
jne 0x140014d0e
mov dword [rsi], ecx
mov rax, qword [r14]
test rax, rax
je 0x1400161fc
mov rbp, qword [rsp + 0x58]
cmp ecx, dword [rbp]
ja 0x140015981
cmp qword [rax], 0
je 0x140015981
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 0x140015981
cmp qword [rsp + 0x80], 5
jne 0x140015981
add dword [r15], 5
add dword [r13], 5
jmp 0x1400149ee
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014d98
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 5
je 0x140014e7c
jmp 0x140016204
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014dbf
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x33
je 0x140016243
call fcn.1400170d0
mov rdi, qword [rbx]
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x140014de1
mov rax, qword [rdi + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xf6
je 0x140016257
mov rcx, rdi
call fcn.1400170d0
mov rdi, qword [rbx]
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x140014e06
mov rax, qword [rdi + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x85
je 0x140016325
mov rcx, rdi
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014e2b
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xd1
je 0x1400163d6
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014e4d
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
je 0x140016419
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014e6f
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xc3
jne 0x14001645c
add rdx, qword [rcx + 0x40]
mov r8d, dword [r15]
lea ecx, [r8 + 1]
cmp r8d, dword [rsi]
jne 0x140014e8e
mov dword [rsi], ecx
mov rax, qword [r14]
test rax, rax
je 0x140015ca2
mov rbp, qword [rsp + 0x58]
cmp ecx, dword [rbp]
ja 0x1400153ae
cmp qword [rax], 0
je 0x1400153ae
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 0x1400153ae
cmp qword [rsp + 0x80], 1
jne 0x1400153ae
inc dword [r15]
inc dword [r13]
jmp 0x1400149ee
mov edx, edi
cmp edx, 0x64
ja 0x1400151f9
test byte [rsp + 0x60], 1
jne 0x140014f32
mov rax, qword [rbx]
mov edx, edx
add rdx, qword [rax + 0x40]
mov rcx, r14
mov r8d, 3
call fcn.140017730
test al, al
je 0x1400151f9
cmp byte [r14 + 0x34], 0
je 0x1400151f9
cmp qword [r14], 0
je 0x1400151f9
mov eax, dword [r14 + 0x20]
mov edi, dword [r14 + 0x24]
mov dword [r14 + 0x2c], eax
add rdi, qword [r14 + 0x18]
je 0x1400151f9
mov r9d, dword [r13]
test r9, r9
je 0x140015caa
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.140017580
cmp qword [r12 + 0x10], rsi
je 0x1400151cb
cmp byte [rsp + 0xd8], 0
je 0x1400151cb
cmp byte [rsp + 0x6c], 0
jne 0x140015cb5
lea rbx, [rsp + 0xa0]
mov rax, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
je 0x140015cdf
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 0x140015d06
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 0x140015d2d
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 0x140015d54
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 0x140015d7b
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 0x140015da2
mov rcx, qword [rsp + 0xa0]
mov byte [rcx + rax], 0xe3
inc qword [rsp + 0xa8]
inc dword [rsp + 0x98]
cmp qword [rsp + 0xf0], 0
je 0x1400151cb
cmp byte [rsp + 0xd8], 0
je 0x1400151cb
mov rbx, qword [rsp + 0xa8]
test rbx, rbx
je 0x1400151c0
mov rax, qword [rsp + 0x80]
cmp qword [rax], 0
je 0x1400151cb
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 0x1400151cb
cmp qword [rsp + 0x78], rbx
jne 0x1400151cb
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.140017480
lea rax, [rsp + 0x100]
mov rcx, qword [rax - 0x18]
cmp rcx, rax
jne 0x140015dc9
mov rcx, qword [rsp + 0xa0]
cmp rcx, rbp
jne 0x140015dd4
mov rax, qword [rsp + 0x198]
cmp qword [rax], 0
je 0x140015ddf
mov rcx, qword [rsp + 0x120]
xor rcx, rsp
call fcn.14002fae0
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 0x140014f03
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x14001474e
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x1400149ea
add rdx, qword [rcx + 0x40]
mov rax, qword [rsp + 0x40]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x28]
cmp eax, dword [rcx]
jne 0x140015273
inc eax
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x30]
mov r8d, 1
call fcn.140036250
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400152a3
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xf0
cmp al, 0x50
jne 0x140015541
add rdx, qword [rcx + 0x40]
mov rax, qword [rsp + 0x40]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x28]
cmp eax, dword [rcx]
jne 0x1400152d0
inc eax
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov r8d, 1
call fcn.140036250
mov r13, qword [rsp + 0x48]
inc dword [r13]
jmp 0x14001552d
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015306
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x90
je 0x14001532d
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015324
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xcc
jne 0x14001535a
inc edx
mov r13, qword [rsp + 0x48]
mov dword [r13], edx
mov r12d, dword [rsp + 0x3c]
cmp edx, r12d
mov r14, qword [rsp + 0x30]
mov r15, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x28]
jb 0x1400145d4
jmp 0x140014f03
cmp qword [rsp + 0x70], 0
mov r14, qword [rsp + 0x30]
mov r13, qword [rsp + 0x48]
je 0x1400151f9
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 0x1400151f9
mov al, 1
mov dword [rsp + 0x6c], eax
cmp edx, 9
ja 0x140014f03
jmp 0x1400151f9
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x140014aa3
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x140014ef8
add rdx, qword [rcx + 0x40]
mov eax, dword [r15]
cmp eax, dword [rsi]
jne 0x1400153cf
inc eax
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x30]
mov r8d, 1
call fcn.140036250
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.1400170d0
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1400153ff
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx], 0x89
mov r14, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x28]
jne 0x1400151f9
add rdx, qword [rax + 0x40]
mov eax, dword [rcx]
cmp eax, dword [rbp]
jne 0x14001542f
inc eax
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov r8d, 1
call fcn.140036250
inc dword [rbx + 0x10]
mov rcx, rbx
xor edx, edx
call fcn.1400172a0
test eax, eax
mov rcx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x28]
js 0x1400151f9
mov edi, eax
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
mov eax, dword [rcx]
cmp eax, dword [rbp]
jne 0x14001547d
add eax, edi
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov r8d, edi
call fcn.140036250
mov r13, qword [rsp + 0x48]
add dword [r13], edi
jmp 0x14001552d
add rdx, qword [rcx + 0x40]
mov eax, dword [r15]
cmp eax, dword [rsi]
jne 0x1400154af
inc eax
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x30]
mov r8d, 1
call fcn.140036250
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.1400170d0
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1400154df
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx], 0x33
mov r14, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x28]
jne 0x1400151f9
add rdx, qword [rax + 0x40]
mov eax, dword [rcx]
cmp eax, dword [rbp]
jne 0x140015510
add eax, 2
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov r8d, 2
call fcn.140036250
mov r13, qword [rsp + 0x48]
add dword [r13], 2
mov r15, qword [rsp + 0x40]
mov r12d, dword [rsp + 0x3c]
mov rsi, qword [rsp + 0x28]
jmp 0x1400149ee
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015556
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xb8
jb 0x140015581
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015574
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xbf
jbe 0x140015779
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015596
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x8b
jne 0x1400155c4
inc edx
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400155b6
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0xc0
jae 0x1400157e4
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400155d9
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xf7
mov r14, qword [rsp + 0x30]
jne 0x1400151f9
inc edx
call fcn.1400170d0
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140015602
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
mov cl, byte [rcx + rdx + 1]
and cl, 0xf8
cmp cl, 0xc0
mov r14, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x28]
jne 0x1400151f9
add rdx, qword [rax + 0x40]
mov eax, dword [rcx]
cmp eax, dword [rbp]
jne 0x140015639
add eax, 6
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov r8d, 6
call fcn.140036250
mov r13, qword [rsp + 0x48]
add dword [r13], 6
jmp 0x14001552d
mov dword [r15], ecx
jmp 0x14001474e
inc edx
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001567a
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx + 1]
and al, 0xf8
cmp al, 0xe8
jne 0x14001477b
mov rax, qword [rcx + 0x40]
add rax, rdx
mov rcx, qword [rsp + 0x40]
mov ecx, dword [rcx]
mov rdx, qword [rsp + 0x28]
cmp ecx, dword [rdx]
jne 0x1400156ac
add ecx, 6
mov rdx, qword [rsp + 0x28]
mov dword [rdx], ecx
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov rdx, rax
jmp 0x140015641
inc edx
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400156d0
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx + 1]
and al, 0xf8
cmp al, 0xe8
jne 0x14001479d
jmp 0x14001570b
inc edx
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400156fa
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx + 1]
and al, 0xf8
cmp al, 0xc0
jne 0x1400147bf
mov rax, qword [rcx + 0x40]
add rax, rdx
mov rcx, qword [rsp + 0x40]
mov ecx, dword [rcx]
mov rdx, qword [rsp + 0x28]
cmp ecx, dword [rdx]
jne 0x14001572c
add ecx, 3
mov rdx, qword [rsp + 0x28]
mov dword [rdx], ecx
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov rdx, rax
mov r8d, 3
call fcn.140036250
mov r13, qword [rsp + 0x48]
add dword [r13], 3
jmp 0x14001552d
inc edx
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015768
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx + 1]
and al, 0xf8
cmp al, 0x60
jne 0x1400147e1
mov rax, qword [rcx + 0x40]
add rax, rdx
mov rcx, qword [rsp + 0x40]
mov ecx, dword [rcx]
mov rdx, qword [rsp + 0x28]
cmp ecx, dword [rdx]
jne 0x14001579a
add ecx, 5
mov rdx, qword [rsp + 0x28]
mov dword [rdx], ecx
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov rdx, rax
mov r8d, 5
call fcn.140036250
mov r13, qword [rsp + 0x48]
add dword [r13], 5
jmp 0x14001552d
inc edx
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400157d6
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0xc0
jb 0x140014803
mov rax, qword [rcx + 0x40]
add rax, rdx
mov rcx, qword [rsp + 0x40]
mov ecx, dword [rcx]
mov rdx, qword [rsp + 0x28]
cmp ecx, dword [rdx]
jne 0x140015805
add ecx, 2
mov rdx, qword [rsp + 0x28]
mov dword [rdx], ecx
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov rdx, rax
jmp 0x140015518
inc edx
call fcn.1400170d0
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x14001582c
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx + 1], 0xc0
mov r14, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x28]
jae 0x1400154fb
jmp 0x1400151f9
mov rcx, rbp
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015866
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xf8
cmp al, 0xb8
jne 0x14001598e
add rdx, qword [rcx + 0x40]
mov rax, qword [rsp + 0x40]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x28]
cmp eax, dword [rcx]
jne 0x140015894
add eax, 9
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov r8d, 9
call fcn.140036250
mov r13, qword [rsp + 0x48]
add dword [r13], 9
jmp 0x14001552d
mov rcx, rdi
add rcx, 0x18
mov rdx, r13
call fcn.140013d80
test al, al
je 0x1400148ec
mov rax, qword [rdi + 0x18]
mov rcx, qword [rdi + 0x20]
jmp 0x1400148c9
cmp ebp, 0xfffffffe
jne 0x14001631b
add dword [rbx + 0x10], 2
mov rcx, rbx
call fcn.140035c10
mov dl, byte [rsp + 0x78]
test dl, dl
je 0x140015fcd
mov rcx, qword [rsp + 0x30]
cmp qword [rcx], 0
mov ecx, dword [rcx + 0x20]
je 0x14001656a
mov rbp, qword [rsp + 0x58]
mov ebp, dword [rbp]
cmp ecx, ebp
jae 0x140016587
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 0x14001656c
mov rdx, qword [rsp + 0x58]
mov ebp, dword [rdx]
jmp 0x14001658f
mov dword [r15], ecx
jmp 0x1400149ea
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x140014b4c
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x140014c20
add rdx, qword [rcx + 0x40]
mov eax, dword [r15]
cmp eax, dword [rsi]
je 0x1400152c7
jmp 0x1400152d0
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x140014d79
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400159a3
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xc7
jne 0x140015e75
inc edx
call fcn.1400170d0
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1400159c7
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx + 1], 0x44
mov r14, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x28]
jne 0x1400151f9
add rdx, qword [rax + 0x40]
mov eax, dword [rcx]
cmp eax, dword [rbp]
jne 0x1400159f9
add eax, 8
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov r8d, 8
call fcn.140036250
mov r13, qword [rsp + 0x48]
add dword [r13], 8
jmp 0x14001552d
mov dword [r15], edx
jmp 0x14001449a
mov byte [r14 + 0x34], 0
xor eax, eax
jmp 0x140014471
mov dword [r15], edx
jmp 0x14001450a
mov byte [r14 + 0x34], 0
xor eax, eax
jmp 0x1400144e1
int3
mov rax, qword [rcx + 0x40]
add rax, rdx
mov ecx, dword [r15]
cmp ecx, dword [rsi]
jne 0x140015a65
inc ecx
mov rdx, qword [rsp + 0x28]
mov dword [rdx], ecx
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov rdx, rax
jmp 0x140015437
mov dword [r15], ecx
jmp 0x140014aa3
add rdx, qword [rcx + 0x40]
mov eax, dword [r15]
cmp eax, dword [rsi]
jne 0x140015a91
inc eax
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x30]
mov r8d, 1
call fcn.140036250
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015ac1
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x88
jb 0x140015df4
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015ae3
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x8b
ja 0x140015df4
inc edx
call fcn.1400170d0
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140015b07
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 0x140016993
cmp ecx, 0x40
mov r14, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x28]
je 0x140015b5f
test ecx, ecx
jne 0x1400151f9
mov ebp, edi
and ebp, 6
cmp ebp, 4
jne 0x140016993
cmp ecx, 0x40
mov r14, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x28]
jne 0x1400151f9
add rdx, qword [rax + 0x40]
and edi, 7
mov eax, dword [rbp]
mov ecx, dword [rsi]
cmp edi, 4
jne 0x140016a64
cmp eax, ecx
jne 0x140015b82
add eax, 4
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov r8d, 4
call fcn.140036250
mov r13, qword [rsp + 0x48]
add dword [r13], 4
jmp 0x14001552d
inc edx
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015bbb
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0x48
mov r14, qword [rsp + 0x30]
jne 0x1400151f9
add edx, 2
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015be6
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 2], 0x88
mov r14, qword [rsp + 0x30]
jb 0x1400151f9
add edx, 2
call fcn.1400170d0
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140015c11
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx + 2], 0x8b
mov r14, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x28]
ja 0x1400151f9
add rdx, qword [rax + 0x40]
mov eax, dword [rcx]
cmp eax, dword [rbp]
jne 0x140015c43
add eax, 3
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov r8d, 3
call fcn.140036250
add dword [rbx + 0x10], 3
jmp 0x140015445
inc edx
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015c76
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0x3d
je 0x140016a7f
mov r14, qword [rsp + 0x30]
mov r15, qword [rsp + 0x40]
mov r13, qword [rsp + 0x48]
mov r12d, dword [rsp + 0x3c]
mov rsi, qword [rsp + 0x28]
jmp 0x140014cb5
mov dword [r15], ecx
jmp 0x140014ef8
int3
lea r8, [rsp + 0x80]
mov rcx, qword [rsp + 0x70]
mov rdx, rdi
mov r9, qword [rsp + 0x190]
call fcn.140035da0
test al, al
jne 0x140015119
jmp 0x1400151cb
mov edx, 1
mov rcx, rbx
call fcn.140013d80
test al, al
je 0x140017030
mov rax, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x30]
jmp 0x140014fec
mov edx, 1
mov rcx, rbx
call fcn.140013d80
test al, al
je 0x14001704a
mov rax, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x30]
jmp 0x140015020
mov edx, 8
mov rcx, rbx
call fcn.140013d80
test al, al
je 0x140017064
mov rax, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x30]
jmp 0x140015058
mov edx, 1
mov rcx, rbx
call fcn.140013d80
test al, al
je 0x14001707e
mov rax, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x30]
jmp 0x140015096
mov edx, 1
mov rcx, rbx
call fcn.140013d80
test al, al
je 0x140017098
mov rax, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x30]
jmp 0x1400150ca
mov edx, 1
mov rcx, rbx
call fcn.140013d80
test al, al
je 0x1400170b2
mov rax, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x30]
jmp 0x1400150fe
call qword [sym.imp.mozglue.dll_free]
jmp 0x1400151e8
call qword [sym.imp.mozglue.dll_free]
jmp 0x1400151f9
mov dword [r14 + 0x20], 0
mov rcx, r14
call fcn.140035c60
jmp 0x14001520b
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015e09
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x44
jne 0x140016fb2
inc edx
call fcn.1400170d0
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140015e2d
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx + 1], 0x89
jne 0x140016fb2
add rdx, qword [rax + 0x40]
mov rax, qword [rsp + 0x40]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x28]
cmp eax, dword [rcx]
jne 0x140015e59
add eax, 2
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov r8d, 2
call fcn.140036250
add dword [rbx + 0x10], 2
jmp 0x140015445
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015e8a
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xff
je 0x1400166d7
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015eac
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x8d
jne 0x1400167c2
inc edx
call fcn.1400170d0
mov r14, qword [rbx]
mov rax, qword [r14 + 0x10]
test rax, rax
je 0x140015ed0
mov rax, qword [r14 + 8]
mov ebp, dword [rbx + 0x10]
cmp byte [rax + rbp + 1], 0x3f
ja 0x140015f06
lea edx, [rbp + 1]
mov rcx, r14
call fcn.1400170d0
mov r14, qword [rbx]
mov rax, qword [r14 + 0x10]
test rax, rax
je 0x140015ef5
mov rax, qword [r14 + 8]
mov ebp, dword [rbx + 0x10]
mov al, byte [rax + rbp + 1]
and al, 7
cmp al, 5
je 0x140016f2c
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, [0x1400543a0]
mov qword [rdi], rax
lea rsi, [rdi + 0x10]
mov rcx, rsi
mov rdx, r14
mov r8d, ebp
call fcn.140035b60
lea rcx, [rsp + 0x80]
mov qword [rcx], rsi
mov qword [rcx + 8], rdi
mov dword [rcx + 0x10], 0
xor edx, edx
call fcn.1400172a0
mov ebp, eax
lock dec dword [rdi + 8]
jne 0x140015f8a
mov rax, qword [rdi]
mov rax, qword [rax]
mov rcx, rdi
call qword [case.0x14002f18e.0]
lock dec dword [rdi + 0xc]
jne 0x140015f8a
mov rax, qword [rdi]
mov rax, qword [rax + 8]
mov rcx, rdi
call qword [case.0x14002f18e.0]
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
inc ebp
mov rax, qword [rsp + 0x40]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x28]
cmp eax, dword [rcx]
jne 0x140015faf
add eax, ebp
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov r8d, ebp
call fcn.140036250
mov r13, qword [rsp + 0x48]
add dword [r13], ebp
jmp 0x14001552d
mov rcx, qword [rsp + 0x30]
cmp qword [rcx], 0
mov ecx, dword [rcx + 0x20]
je 0x140016f90
mov rdx, qword [rsp + 0x58]
mov edx, dword [rdx]
cmp ecx, edx
jae 0x140016f9a
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 0x140016f92
mov rdx, qword [rsp + 0x58]
mov edx, dword [rdx]
jmp 0x140016fa3
add edx, 0xa
call fcn.1400170d0
mov r12, qword [rbx]
mov rax, qword [r12 + 0x10]
test rax, rax
je 0x140016034
mov rax, qword [r12 + 8]
mov ebp, dword [rbx + 0x10]
cmp byte [rax + rbp + 0xa], 0xff
je 0x1400167f0
add ebp, 0xa
mov rcx, r12
mov edx, ebp
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001605f
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 + 0x40]
jne 0x14001455d
add edx, 0xb
call fcn.1400170d0
mov r12, qword [rbx]
mov rax, qword [r12 + 0x10]
test rax, rax
je 0x140016091
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 + 0x40]
jne 0x14001455d
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, [0x1400543a0]
mov qword [r13], rax
lea rsi, [r13 + 0x10]
mov rcx, rsi
mov rdx, r12
mov r8d, ebp
call fcn.140035b60
mov rcx, rsi
mov edx, 8
call fcn.1400170d0
mov rax, qword [r13 + 0x18]
mov r14, qword [rax]
lock dec dword [r13 + 8]
jne 0x140016128
mov rax, qword [r13]
mov rax, qword [rax]
mov rcx, r13
call qword [case.0x14002f18e.0]
lock dec dword [r13 + 0xc]
jne 0x140016128
mov rax, qword [r13]
mov rax, qword [rax + 8]
mov rcx, r13
call qword [case.0x14002f18e.0]
lea rbp, [rsp + 0x80]
mov rcx, rbx
mov rdx, rbp
call fcn.140035ca0
xor r12d, r12d
cmp qword [rbp + 0x70], 0
je 0x140016afe
cmp byte [rsp + 0xd8], 0
je 0x140016afe
lea rbp, [rsp + 0x80]
mov rcx, rbp
mov rdx, qword [rsp + 0x190]
call fcn.140036200
mov rcx, rbp
call fcn.140036150
test al, al
je 0x140016afb
mov rdx, qword [rsp + 0x30]
mov eax, dword [rdx + 0x20]
lea ecx, [rax + 8]
cmp qword [rdx], 0
je 0x140016dc9
mov rdx, qword [rsp + 0x30]
cmp ecx, dword [rdx + 0x30]
jbe 0x140016de3
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x34], 0
xor eax, eax
xor r12d, r12d
mov rcx, qword [rsp + 0x30]
cmp qword [rcx + 0x10], 0
je 0x140016afe
mov rcx, qword [rsp + 0x30]
cmp qword [rcx + 0x18], 0
je 0x140016afe
mov rcx, qword [rsp + 0x30]
cmp dword [rcx + 8], 0
je 0x140016afe
test al, al
jne 0x140016dd0
jmp 0x140016afe
mov dword [r15], ecx
jmp 0x140014b4c
mov dword [r15], ecx
jmp 0x140014c20
mov dword [r15], ecx
jmp 0x140014d79
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016219
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x10
jne 0x1400165f7
add rdx, qword [rcx + 0x40]
mov rax, qword [rsp + 0x40]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x28]
cmp eax, dword [rcx]
je 0x140015426
jmp 0x14001542f
add rdx, qword [rcx + 0x40]
mov eax, dword [r15]
cmp eax, dword [rsi]
je 0x140015506
jmp 0x140015510
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, [0x1400543a0]
mov qword [rbp], rax
lea rsi, [rbp + 0x10]
mov rcx, rsi
mov rdx, rdi
mov r8d, r15d
call fcn.140035b60
lea rcx, [rsp + 0x80]
mov qword [rcx], rsi
mov qword [rcx + 8], rbp
mov dword [rcx + 0x10], 0
mov rdx, r14
call fcn.1400172a0
mov edi, eax
lock dec dword [rbp + 8]
jne 0x1400162ea
mov rax, qword [rbp]
mov rax, qword [rax]
mov rcx, rbp
call qword [case.0x14002f18e.0]
lock dec dword [rbp + 0xc]
jne 0x1400162ea
mov rax, qword [rbp]
mov rax, qword [rax + 8]
mov rcx, rbp
call qword [case.0x14002f18e.0]
test edi, edi
js 0x14001631b
cmp byte [rsp + 0x78], 0
jne 0x14001631b
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
add edi, 2
mov rax, qword [rsp + 0x40]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x28]
cmp eax, dword [rcx]
je 0x140015474
jmp 0x14001547d
mov r14, qword [rsp + 0x30]
jmp 0x1400151f9
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, [0x1400543a0]
mov qword [rbp], rax
lea rsi, [rbp + 0x10]
mov rcx, rsi
mov rdx, rdi
mov r8d, r14d
call fcn.140035b60
lea rcx, [rsp + 0x80]
mov qword [rcx], rsi
mov qword [rcx + 8], rbp
mov dword [rcx + 0x10], 0
xor edx, edx
call fcn.1400172a0
mov edi, eax
lock dec dword [rbp + 8]
jne 0x1400163ae
mov rax, qword [rbp]
mov rax, qword [rax]
mov rcx, rbp
call qword [case.0x14002f18e.0]
lock dec dword [rbp + 0xc]
jne 0x1400163ae
mov rax, qword [rbp]
mov rax, qword [rax + 8]
mov rcx, rbp
call qword [case.0x14002f18e.0]
test edi, edi
mov r14, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x28]
js 0x1400151f9
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
inc edi
jmp 0x14001546d
inc edx
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400163ed
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0xc0
jae 0x1400157e4
mov r14, qword [rsp + 0x30]
mov r15, qword [rsp + 0x40]
mov r13, qword [rsp + 0x48]
mov r12d, dword [rsp + 0x3c]
mov rsi, qword [rsp + 0x28]
jmp 0x140014e38
inc edx
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016430
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0xc0
jae 0x14001570b
mov r14, qword [rsp + 0x30]
mov r15, qword [rsp + 0x40]
mov r13, qword [rsp + 0x48]
mov r12d, dword [rsp + 0x3c]
mov rsi, qword [rsp + 0x28]
jmp 0x140014e5a
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016471
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xcc
je 0x1400152b3
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016493
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xe8
je 0x140016c91
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400164b5
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xe9
je 0x140016c91
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400164d7
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x73
jb 0x140016854
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400164f9
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x75
ja 0x140016854
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001651b
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
movzx esi, byte [rax + rdx]
inc edx
call fcn.1400170d0
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140016539
mov rcx, qword [rax + 8]
lea rdx, [0x1400543c0]
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 0x1400166b1
inc ecx
add ecx, 8
inc ecx
inc ecx
inc ecx
mov r15, qword [rsp + 0x40]
mov dword [r15], ecx
mov r14, qword [rsp + 0x30]
jmp 0x140016fbc
mov rdx, qword [rsp + 0x50]
mov byte [rdx], 0
lea edx, [rcx + 8]
cmp edx, ebp
jbe 0x1400165cf
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
cmp ecx, ebp
jae 0x14001677b
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 0x140016571
mov rax, qword [rsp + 0x58]
mov ebp, dword [rax]
jmp 0x140016783
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 0x14001656f
mov rax, qword [rsp + 0x58]
mov ebp, dword [rax]
jmp 0x14001659e
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001660c
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x11
je 0x140016226
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001662e
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
mov r14, qword [rsp + 0x30]
jb 0x1400151f9
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016655
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x85
mov r14, qword [rsp + 0x30]
ja 0x1400151f9
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001667c
mov rax, qword [rcx + 8]
mov ecx, dword [rbx + 0x10]
movzx eax, byte [rax + rcx]
lea rdx, [0x1400543c0]
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.140035c10
mov rcx, r14
mov rdx, rax
mov r8d, edi
call fcn.140017730
test al, al
mov r15, qword [rsp + 0x40]
mov r13, qword [rsp + 0x48]
mov r12d, dword [rsp + 0x3c]
mov rsi, qword [rsp + 0x28]
jne 0x1400149ee
jmp 0x1400151f9
inc edx
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400166ee
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0x3f
mov r14, qword [rsp + 0x30]
ja 0x1400151f9
inc edx
call fcn.1400170d0
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140016718
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 + 0x40]
mov r13, qword [rsp + 0x48]
mov r12d, dword [rsp + 0x3c]
mov rsi, qword [rsp + 0x28]
jne 0x1400151f9
add eax, 2
mov dword [rbx + 0x10], eax
dec dword [r14 + 0x20]
mov rcx, rbx
call fcn.140035a80
mov rcx, r14
mov rdx, rax
mov r8d, 3
call fcn.140017730
mov cl, 1
mov qword [rsp + 0x60], rcx
test al, al
jne 0x1400149ee
jmp 0x1400151f9
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
cmp ecx, ebp
jae 0x140016820
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 0x140016573
mov dl, byte [rsp + 0x78]
lea eax, [rdx*8]
or al, dl
mov rdx, qword [rsp + 0x58]
mov ebp, dword [rdx]
jmp 0x140016835
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400167d7
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x63
mov r14, qword [rsp + 0x30]
jne 0x1400151f9
inc edx
jmp 0x140015817
lea edx, [rbp + 0xb]
mov rcx, r12
call fcn.1400170d0
mov r12, qword [rbx]
mov rax, qword [r12 + 0x10]
test rax, rax
je 0x14001680d
mov rax, qword [r12 + 8]
mov ebp, dword [rbx + 0x10]
cmp byte [rax + rbp + 0xb], 0xe0
jne 0x140016042
jmp 0x1400160a9
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
mov dl, byte [rsp + 0x78]
lea eax, [rdx*8]
or al, dl
cmp ecx, ebp
jae 0x140016faa
mov r14, qword [rsp + 0x30]
mov rdx, qword [r14 + 0x10]
mov ecx, ecx
mov byte [rdx + rcx], al
inc dword [r14 + 0x20]
jmp 0x140016fb7
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016869
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xff
je 0x1400169b0
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001688b
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
jne 0x1400168bc
inc edx
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400168ab
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx + 1]
and al, 0xf8
cmp al, 0x60
je 0x140015779
call fcn.1400170d0
mov r15, qword [rbx]
mov rax, qword [r15 + 0x10]
test rax, rax
je 0x1400168d1
mov rax, qword [r15 + 8]
mov edi, dword [rbx + 0x10]
cmp byte [rax + rdi], 0xc6
mov r14, qword [rsp + 0x30]
jne 0x1400151f9
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, [0x1400543a0]
mov qword [rbp], rax
lea rsi, [rbp + 0x10]
mov rcx, rsi
mov rdx, r15
mov r8d, edi
call fcn.140035b60
lea rcx, [rsp + 0x80]
mov qword [rcx], rsi
mov qword [rcx + 8], rbp
mov dword [rcx + 0x10], 0
xor edx, edx
call fcn.1400172a0
mov edi, eax
lock dec dword [rbp + 8]
jne 0x14001696a
mov rax, qword [rbp]
mov rax, qword [rax]
mov rcx, rbp
call qword [case.0x14002f18e.0]
lock dec dword [rbp + 0xc]
jne 0x14001696a
mov rax, qword [rbp]
mov rax, qword [rax + 8]
mov rcx, rbp
call qword [case.0x14002f18e.0]
test edi, edi
mov r14, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x28]
js 0x1400151f9
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
add edi, 2
jmp 0x14001546d
add rdx, qword [rax + 0x40]
mov rax, qword [rsp + 0x40]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x28]
cmp eax, dword [rcx]
je 0x140015506
jmp 0x140015510
inc edx
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400169c7
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov bpl, byte [rax + rdx + 1]
inc edx
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400169e6
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.1400170d0
mov r15, qword [rbx]
mov rax, qword [r15 + 0x10]
test rax, rax
je 0x140016a0b
mov rax, qword [r15 + 8]
mov esi, dword [rbx + 0x10]
mov dl, byte [rax + rsi + 1]
and dl, 7
cmp bpl, 0xc0
jb 0x140016b3d
cmp edi, 6
ja 0x140016f1f
mov eax, 0x47
bt eax, edi
jae 0x140016f1f
add rsi, qword [r15 + 0x40]
mov rax, qword [rsp + 0x40]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x28]
cmp eax, dword [rcx]
jne 0x140016a54
add eax, 2
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov rdx, rsi
jmp 0x140015518
cmp eax, ecx
jne 0x140016a72
add eax, 3
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov r14, qword [rsp + 0x30]
mov rcx, r14
jmp 0x140015737
lea eax, [rdx + 2]
mov rcx, qword [rsp + 0x48]
mov dword [rcx], eax
mov rax, qword [rsp + 0x30]
cmp qword [rax], 0
mov eax, dword [rax + 0x20]
jne 0x140016c57
inc eax
inc eax
mov rcx, qword [rsp + 0x40]
mov dword [rcx], eax
mov rcx, rbx
call fcn.140035c10
mov rcx, qword [rsp + 0x30]
cmp qword [rcx], 0
mov ecx, dword [rcx + 0x20]
je 0x140016cd6
mov rdx, qword [rsp + 0x58]
mov edx, dword [rdx]
cmp ecx, edx
jae 0x140016d69
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 0x140016cd8
mov rdx, qword [rsp + 0x58]
mov edx, dword [rdx]
jmp 0x140016d72
xor r12d, r12d
lea rbp, [rsp + 0xe0]
mov rcx, rbp
call fcn.140036520
mov rcx, qword [rbp - 0x40]
lea rax, [rsp + 0xb8]
cmp rcx, rax
je 0x140016b25
call qword [sym.imp.mozglue.dll_free]
test r12b, r12b
mov r14, qword [rsp + 0x30]
mov r15, qword [rsp + 0x40]
je 0x14001455d
jmp 0x1400151f9
cmp bpl, 0x40
setb al
cmp dl, 5
sete cl
cmp bpl, 0x3f
ja 0x140016b5f
cmp dil, 2
jne 0x140016b5f
cmp dl, 5
je 0x14001700c
cmp dil, 4
mov r14, qword [rsp + 0x30]
jne 0x1400151f9
and al, cl
cmp al, 1
je 0x140016fdc
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, [0x1400543a0]
mov qword [rbp], rax
lea rdi, [rbp + 0x10]
mov rcx, rdi
mov rdx, r15
mov r8d, esi
call fcn.140035b60
lea rcx, [rsp + 0x80]
mov qword [rcx], rdi
mov qword [rcx + 8], rbp
mov dword [rcx + 0x10], 0
xor edx, edx
call fcn.1400172a0
mov edi, eax
lock dec dword [rbp + 8]
jne 0x140016bff
mov rax, qword [rbp]
mov rax, qword [rax]
mov rcx, rbp
call qword [case.0x14002f18e.0]
lock dec dword [rbp + 0xc]
jne 0x140016bff
mov rax, qword [rbp]
mov rax, qword [rax + 8]
mov rcx, rbp
call qword [case.0x14002f18e.0]
test edi, edi
mov r14, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x28]
js 0x1400151f9
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
inc edi
mov eax, dword [rcx]
cmp eax, dword [rbp]
jne 0x140016c32
add eax, edi
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov r8d, edi
call fcn.140036250
mov r13, qword [rsp + 0x48]
add dword [r13], edi
mov al, 1
mov qword [rsp + 0x60], rax
jmp 0x14001552d
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx]
cmp eax, ecx
jae 0x140016e55
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 0x140016a9d
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx]
jmp 0x140016e5d
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016ca6
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.140035c10
mov r14, qword [rsp + 0x30]
jmp 0x1400166a8
inc ecx
inc ecx
add ecx, 8
inc ecx
inc ecx
inc ecx
mov rax, qword [rsp + 0x40]
mov dword [rax], ecx
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
mov rax, qword [rsp + 0x28]
cmp ecx, dword [rax]
jne 0x140016d06
inc ecx
mov rax, qword [rsp + 0x28]
mov dword [rax], ecx
mov rsi, qword [rsp + 0x30]
mov rcx, rsi
mov r8d, 1
call fcn.140036250
mov rax, qword [rsp + 0x48]
inc dword [rax]
cmp qword [rsi], 0
mov eax, dword [rsi + 0x20]
je 0x140016d58
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx]
cmp eax, ecx
jae 0x140016da5
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 0x140016d5a
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx]
jmp 0x140016dad
inc eax
inc eax
mov r15, qword [rsp + 0x40]
mov dword [r15], eax
jmp 0x14001657d
mov rbp, qword [rsp + 0x50]
mov byte [rbp], 0
cmp ecx, edx
jae 0x140016e0b
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 0x140016cda
mov rdx, qword [rsp + 0x58]
mov edx, dword [rdx]
jmp 0x140016e14
mov rdx, qword [rsp + 0x50]
mov byte [rdx], 0
cmp eax, ecx
jae 0x140016faa
mov r14, qword [rsp + 0x30]
mov rcx, qword [r14 + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x5b
jmp 0x14001684b
mov rax, qword [rsp + 0x40]
mov dword [rax], ecx
mov rax, qword [rsp + 0x198]
mov qword [rax], r14
mov r12b, 1
jmp 0x140016afe
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 0x140016dd0
mov rax, qword [rsp + 0x30]
cmp byte [rax + 0x34], 0
setne al
jmp 0x1400161ad
mov rbp, qword [rsp + 0x50]
mov byte [rbp], 0
lea ebp, [rcx + 8]
cmp ebp, edx
jbe 0x140016e78
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
cmp ecx, edx
jae 0x140016eb4
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 0x140016cdf
mov rax, qword [rsp + 0x58]
mov edx, dword [rax]
jmp 0x140016ebc
mov rdx, qword [rsp + 0x50]
mov byte [rdx], 0
cmp eax, ecx
jae 0x140016ea7
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rdx + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x53
inc dword [rdx + 0x20]
jmp 0x140016aa6
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 0x140016cdd
mov rax, qword [rsp + 0x58]
mov edx, dword [rax]
jmp 0x140016e23
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x140016aa6
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
cmp ecx, edx
jae 0x140016eea
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 0x140016ce1
mov rax, qword [rsp + 0x58]
mov edx, dword [rax]
jmp 0x140016ef2
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
cmp ecx, edx
jae 0x140016f12
mov rdx, qword [rsp + 0x30]
mov rax, qword [rdx + 0x10]
mov ecx, ecx
mov byte [rax + rcx], 0x3b
mov ecx, dword [rdx + 0x20]
inc ecx
mov dword [rdx + 0x20], ecx
jmp 0x140016cea
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x140016cea
cmp dl, 5
sete cl
xor eax, eax
jmp 0x140016b5f
lea edx, [rbp + 1]
mov rcx, r14
call fcn.1400170d0
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016f47
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.140035c10
mov rcx, qword [rsp + 0x30]
cmp qword [rcx], 0
mov ecx, dword [rcx + 0x20]
je 0x140016f90
mov rdx, qword [rsp + 0x58]
mov edx, dword [rdx]
cmp ecx, edx
jae 0x140016f9a
shr sil, 3
or sil, 0xb8
mov rbp, qword [rsp + 0x30]
mov rdx, qword [rbp + 0x10]
mov byte [rdx + rcx], sil
jmp 0x140015ffb
inc ecx
add ecx, 8
jmp 0x140016575
mov rbp, qword [rsp + 0x50]
mov byte [rbp], 0
lea ebp, [rcx + 8]
cmp ebp, edx
jbe 0x140016fc6
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
mov r14, qword [rsp + 0x30]
mov r15, qword [rsp + 0x40]
mov r13, qword [rsp + 0x48]
jmp 0x140015532
mov r14, qword [rsp + 0x30]
mov rdx, qword [r14 + 0x10]
mov ecx, ecx
mov qword [rdx + rcx], rax
add dword [r14 + 0x20], 8
jmp 0x140016fb7
add esi, 2
mov dword [rbx + 0x10], esi
mov rcx, rbx
call fcn.140035a80
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov rdx, rax
mov r8d, 3
call fcn.140017730
mov cl, 1
mov qword [rsp + 0x60], rcx
jmp 0x1400166b6
add esi, 2
mov dword [rbx + 0x10], esi
mov rcx, rbx
call fcn.140035a80
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov rdx, rax
mov r8d, 4
jmp 0x1400166b1
mov byte [rsp + 0xd8], 0
mov rax, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x30]
jmp 0x140015012
mov byte [rsp + 0xd8], 0
mov rax, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x30]
jmp 0x140015046
mov byte [rsp + 0xd8], 0
mov rax, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x30]
jmp 0x140015088
mov byte [rsp + 0xd8], 0
mov rax, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x30]
jmp 0x1400150bc
mov byte [rsp + 0xd8], 0
mov rax, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x30]
jmp 0x1400150f0
mov byte [rsp + 0xd8], 0
mov r14, qword [rsp + 0x30]
jmp 0x140015119