Function at 0x140014500
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 [0x140061018]
xor rax, rsp
mov qword [rsp + 0x120], rax
mov qword [rcx], 0
cmp qword [r9], 0
je 0x140014572
cmp qword [r14 + 0x10], 0
je 0x14001534b
cmp qword [r14 + 0x18], 0
je 0x14001534b
cmp dword [r14 + 8], 0
je 0x14001534b
cmp byte [r14 + 0x34], 0
je 0x14001534b
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 0x140015ad3
cmp edx, dword [r14 + 0x30]
ja 0x140015adb
mov rdx, qword [r14 + 0x10]
mov qword [rdx + rcx], rax
add dword [r14 + 0x20], 8
cmp qword [r14], 0
je 0x1400145da
mov al, byte [r14 + 0x34]
cmp qword [r14 + 0x10], 0
je 0x14001534b
cmp qword [r14 + 0x18], 0
je 0x14001534b
cmp dword [r14 + 8], 0
je 0x14001534b
test al, al
je 0x14001534b
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 0x140015ae7
cmp edx, dword [r14 + 0x30]
ja 0x140015aef
mov rdx, qword [r14 + 0x10]
mov qword [rdx + rcx], rax
add dword [r14 + 0x20], 8
cmp qword [r14], 0
je 0x14001464a
mov al, byte [r14 + 0x34]
cmp qword [r14 + 0x10], 0
je 0x140015339
cmp qword [r14 + 0x18], 0
je 0x140015339
cmp dword [r14 + 8], 0
je 0x140015339
test al, al
je 0x140015339
mov rcx, qword [rbx]
mov edx, dword [rbx + 0x10]
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014665
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 0x14001469d
inc edx
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001468f
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0xb8
je 0x1400160d2
mov eax, dword [r14 + 0x20]
mov dword [r14 + 0x24], eax
mov dword [r14 + 0x28], eax
cmp byte [rdi + 0x34], 0
je 0x140015afb
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 0x140015370
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 0x140015431
mov edx, edi
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014736
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xf
je 0x140014b67
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014758
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x88
jae 0x140014b40
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001477a
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x40
je 0x140015396
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001479c
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x41
je 0x140015396
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400147be
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x44
je 0x1400154fb
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400147e0
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x45
je 0x1400155db
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014802
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xfa
cmp al, 0x48
jne 0x140014d6a
add rdx, qword [rcx + 0x40]
mov r8d, dword [r15]
lea ecx, [r8 + 1]
cmp r8d, dword [rsi]
jne 0x140014824
mov dword [rsi], ecx
mov rax, qword [r14]
test rax, rax
je 0x140015710
mov rbp, qword [rsp + 0x58]
cmp ecx, dword [rbp]
ja 0x14001537c
cmp qword [rax], 0
je 0x14001537c
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 0x14001537c
cmp qword [rsp + 0x80], 1
jne 0x14001537c
inc dword [r15]
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400148ae
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x81
je 0x140015718
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400148d0
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
je 0x140015786
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400148f2
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
je 0x1400157b0
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014914
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
je 0x14001581e
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014936
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x2b
je 0x140015877
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014958
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x85
je 0x1400158cd
call fcn.140017180
mov rbp, qword [rbx]
mov rax, qword [rbp + 0x10]
test rax, rax
je 0x14001497a
mov rax, qword [rbp + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xfd
cmp al, 0x89
jne 0x140015906
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, [0x1400533a0]
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 0x140014a2c
mov r15, qword [rbp + 8]
lea rbp, [r15 + rsi]
add r15, r12
mov r13, rbp
sub r13, r15
cmp r13, 0x21
jae 0x14001596e
xor ecx, ecx
cmp rsi, r12
jle 0x140014a25
add rax, rcx
mov cl, byte [r15]
mov byte [rax], cl
inc r15
inc rax
cmp r15, rbp
jb 0x140014a11
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.140017350
mov ebp, eax
lock dec dword [rdi + 8]
jne 0x140014a86
mov rax, qword [rdi]
mov rax, qword [rax]
mov rcx, rdi
call qword [case.0x14002eb7e.0]
lock dec dword [rdi + 0xc]
jne 0x140014a86
mov rax, qword [rdi]
mov rax, qword [rax + 8]
mov rcx, rdi
call qword [case.0x14002eb7e.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 0x140015992
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 0x140014ac1
mov dword [rsi], ecx
inc ebp
mov rax, qword [r14]
test rax, rax
je 0x140015a03
mov rdi, qword [rsp + 0x58]
cmp ecx, dword [rdi]
ja 0x140015389
cmp qword [rax], 0
je 0x140015389
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 0x140015389
cmp qword [rsp + 0x80], rdi
jne 0x140015389
add dword [r15], ebp
add dword [r13], ebp
mov edi, dword [r13]
cmp edi, r12d
jb 0x14001470f
jmp 0x140015041
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014b55
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x8b
ja 0x140014765
jmp 0x140015b06
add rdx, qword [rcx + 0x40]
mov r8d, dword [r15]
lea ecx, [r8 + 1]
cmp r8d, dword [rsi]
jne 0x140014b79
mov dword [rsi], ecx
mov rax, qword [r14]
test rax, rax
je 0x140015b2d
mov rbp, qword [rsp + 0x58]
cmp ecx, dword [rbp]
ja 0x1400154e1
cmp qword [rax], 0
je 0x1400154e1
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 0x1400154e1
cmp qword [rsp + 0x80], 1
jne 0x1400154e1
inc dword [r15]
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014c03
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x1f
jne 0x140014ec3
add rdx, qword [rcx + 0x40]
mov r8d, dword [r15]
lea ecx, [r8 + 1]
cmp r8d, dword [rsi]
jne 0x140014c22
mov dword [rsi], ecx
mov rax, qword [r14]
test rax, rax
je 0x1400162a4
mov rbp, qword [rsp + 0x58]
cmp ecx, dword [rbp]
ja 0x140015a0b
cmp qword [rax], 0
je 0x140015a0b
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 0x140015a0b
cmp qword [rsp + 0x80], 1
jne 0x140015a0b
inc dword [r15]
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014cac
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xc0
cmp al, 0x40
jne 0x140015339
call fcn.140017180
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140014cd1
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
mov cl, byte [rcx + rdx]
and cl, 7
cmp cl, 4
jne 0x140015339
add rdx, qword [rax + 0x40]
mov r8d, dword [r15]
lea ecx, [r8 + 3]
cmp r8d, dword [rsi]
jne 0x140014cf5
mov dword [rsi], ecx
mov rax, qword [r14]
test rax, rax
je 0x1400162ac
mov rbp, qword [rsp + 0x58]
cmp ecx, dword [rbp]
ja 0x140015a18
cmp qword [rax], 0
je 0x140015a18
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 0x140015a18
cmp qword [rsp + 0x80], 3
jne 0x140015a18
add dword [r15], 3
add dword [r13], 3
jmp 0x140014b2e
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014d7f
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x66
je 0x140015b35
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014da1
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xf0
cmp al, 0x50
je 0x140015a25
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014dc6
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x65
je 0x140015c5c
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014de8
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x80
je 0x140015d17
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014e0a
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x90
je 0x140015a25
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014e2c
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xf8
cmp al, 0xb8
jne 0x140014eea
add rdx, qword [rcx + 0x40]
mov r8d, dword [r15]
lea ecx, [r8 + 5]
cmp r8d, dword [rsi]
jne 0x140014e4e
mov dword [rsi], ecx
mov rax, qword [r14]
test rax, rax
je 0x1400162b4
mov rbp, qword [rsp + 0x58]
cmp ecx, dword [rbp]
ja 0x140015a39
cmp qword [rax], 0
je 0x140015a39
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 0x140015a39
cmp qword [rsp + 0x80], 5
jne 0x140015a39
add dword [r15], 5
add dword [r13], 5
jmp 0x140014b2e
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014ed8
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 5
je 0x140014fbc
jmp 0x1400162bc
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014eff
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x33
je 0x1400162fb
call fcn.140017180
mov rdi, qword [rbx]
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x140014f21
mov rax, qword [rdi + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xf6
je 0x14001630f
mov rcx, rdi
call fcn.140017180
mov rdi, qword [rbx]
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x140014f46
mov rax, qword [rdi + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x85
je 0x1400163dd
mov rcx, rdi
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014f6b
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xd1
je 0x14001648e
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014f8d
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
je 0x1400164d1
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140014faf
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xc3
jne 0x140016514
add rdx, qword [rcx + 0x40]
mov r8d, dword [r15]
lea ecx, [r8 + 1]
cmp r8d, dword [rsi]
jne 0x140014fce
mov dword [rsi], ecx
mov rax, qword [r14]
test rax, rax
je 0x140015d5a
mov rbp, qword [rsp + 0x58]
cmp ecx, dword [rbp]
ja 0x1400154ee
cmp qword [rax], 0
je 0x1400154ee
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 0x1400154ee
cmp qword [rsp + 0x80], 1
jne 0x1400154ee
inc dword [r15]
inc dword [r13]
jmp 0x140014b2e
mov edx, edi
cmp edx, 0x64
ja 0x140015339
test byte [rsp + 0x60], 1
jne 0x140015072
mov rax, qword [rbx]
mov edx, edx
add rdx, qword [rax + 0x40]
mov rcx, r14
mov r8d, 3
call fcn.1400177e0
test al, al
je 0x140015339
cmp byte [r14 + 0x34], 0
je 0x140015339
cmp qword [r14], 0
je 0x140015339
mov eax, dword [r14 + 0x20]
mov edi, dword [r14 + 0x24]
mov dword [r14 + 0x2c], eax
add rdi, qword [r14 + 0x18]
je 0x140015339
mov r9d, dword [r13]
test r9, r9
je 0x140015d62
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.140017630
cmp qword [r12 + 0x10], rsi
je 0x14001530b
cmp byte [rsp + 0xd8], 0
je 0x14001530b
cmp byte [rsp + 0x6c], 0
jne 0x140015d6d
lea rbx, [rsp + 0xa0]
mov rax, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
je 0x140015d97
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 0x140015dbe
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 0x140015de5
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 0x140015e0c
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 0x140015e33
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 0x140015e5a
mov rcx, qword [rsp + 0xa0]
mov byte [rcx + rax], 0xe3
inc qword [rsp + 0xa8]
inc dword [rsp + 0x98]
cmp qword [rsp + 0xf0], 0
je 0x14001530b
cmp byte [rsp + 0xd8], 0
je 0x14001530b
mov rbx, qword [rsp + 0xa8]
test rbx, rbx
je 0x140015300
mov rax, qword [rsp + 0x80]
cmp qword [rax], 0
je 0x14001530b
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 0x14001530b
cmp qword [rsp + 0x78], rbx
jne 0x14001530b
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.140017530
lea rax, [rsp + 0x100]
mov rcx, qword [rax - 0x18]
cmp rcx, rax
jne 0x140015e81
mov rcx, qword [rsp + 0xa0]
cmp rcx, rbp
jne 0x140015e8c
mov rax, qword [rsp + 0x198]
cmp qword [rax], 0
je 0x140015e97
mov rcx, qword [rsp + 0x120]
xor rcx, rsp
call fcn.14002f4d0
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 0x140015043
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x14001488e
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x140014b2a
add rdx, qword [rcx + 0x40]
mov rax, qword [rsp + 0x40]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x28]
cmp eax, dword [rcx]
jne 0x1400153b3
inc eax
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x30]
mov r8d, 1
call fcn.140035c20
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400153e3
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xf0
cmp al, 0x50
jne 0x140015681
add rdx, qword [rcx + 0x40]
mov rax, qword [rsp + 0x40]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x28]
cmp eax, dword [rcx]
jne 0x140015410
inc eax
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov r8d, 1
call fcn.140035c20
mov r13, qword [rsp + 0x48]
inc dword [r13]
jmp 0x14001566d
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015446
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x90
je 0x14001546d
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015464
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xcc
jne 0x14001549a
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 0x140014714
jmp 0x140015043
cmp qword [rsp + 0x70], 0
mov r14, qword [rsp + 0x30]
mov r13, qword [rsp + 0x48]
je 0x140015339
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 0x140015339
mov al, 1
mov dword [rsp + 0x6c], eax
cmp edx, 9
ja 0x140015043
jmp 0x140015339
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x140014be3
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x140015038
add rdx, qword [rcx + 0x40]
mov eax, dword [r15]
cmp eax, dword [rsi]
jne 0x14001550f
inc eax
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x30]
mov r8d, 1
call fcn.140035c20
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.140017180
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x14001553f
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 0x140015339
add rdx, qword [rax + 0x40]
mov eax, dword [rcx]
cmp eax, dword [rbp]
jne 0x14001556f
inc eax
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov r8d, 1
call fcn.140035c20
inc dword [rbx + 0x10]
mov rcx, rbx
xor edx, edx
call fcn.140017350
test eax, eax
mov rcx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x28]
js 0x140015339
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 0x1400155bd
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.140035c20
mov r13, qword [rsp + 0x48]
add dword [r13], edi
jmp 0x14001566d
add rdx, qword [rcx + 0x40]
mov eax, dword [r15]
cmp eax, dword [rsi]
jne 0x1400155ef
inc eax
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x30]
mov r8d, 1
call fcn.140035c20
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.140017180
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x14001561f
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 0x140015339
add rdx, qword [rax + 0x40]
mov eax, dword [rcx]
cmp eax, dword [rbp]
jne 0x140015650
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.140035c20
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 0x140014b2e
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015696
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xb8
mov r14, qword [rsp + 0x30]
jb 0x140015339
call fcn.140017180
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1400156bd
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx], 0xbf
mov r14, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x28]
ja 0x140015339
add rdx, qword [rax + 0x40]
mov eax, dword [rcx]
cmp eax, dword [rbp]
jne 0x1400156ee
add eax, 5
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov r8d, 5
call fcn.140035c20
mov r13, qword [rsp + 0x48]
add dword [r13], 5
jmp 0x14001566d
mov dword [r15], ecx
jmp 0x14001488e
inc edx
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001572f
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx + 1]
and al, 0xf8
cmp al, 0xe8
jne 0x1400148bb
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 0x140015761
add ecx, 6
mov rdx, qword [rsp + 0x28]
mov dword [rdx], ecx
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov rdx, rax
mov r8d, 6
call fcn.140035c20
mov r13, qword [rsp + 0x48]
add dword [r13], 6
jmp 0x14001566d
inc edx
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001579d
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx + 1]
and al, 0xf8
cmp al, 0xe8
jne 0x1400148dd
jmp 0x1400157d8
inc edx
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400157c7
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx + 1]
and al, 0xf8
cmp al, 0xc0
jne 0x1400148ff
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 0x1400157f9
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.140035c20
mov r13, qword [rsp + 0x48]
add dword [r13], 3
jmp 0x14001566d
inc edx
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015835
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx + 1]
and al, 0xf8
cmp al, 0x60
jne 0x140014921
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 0x140015867
add ecx, 5
mov rdx, qword [rsp + 0x28]
mov dword [rdx], ecx
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov rdx, rax
jmp 0x1400156f6
inc edx
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001588e
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0xc0
jb 0x140014943
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 0x1400158bd
add ecx, 2
mov rdx, qword [rsp + 0x28]
mov dword [rdx], ecx
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov rdx, rax
jmp 0x140015658
inc edx
call fcn.140017180
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1400158e4
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 0x14001563b
jmp 0x140015339
mov rcx, rbp
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001591e
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx]
and al, 0xf8
cmp al, 0xb8
jne 0x140015a46
add rdx, qword [rcx + 0x40]
mov rax, qword [rsp + 0x40]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x28]
cmp eax, dword [rcx]
jne 0x14001594c
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.140035c20
mov r13, qword [rsp + 0x48]
add dword [r13], 9
jmp 0x14001566d
mov rcx, rdi
add rcx, 0x18
mov rdx, r13
call fcn.140013ec0
test al, al
je 0x140014a2c
mov rax, qword [rdi + 0x18]
mov rcx, qword [rdi + 0x20]
jmp 0x140014a09
cmp ebp, 0xfffffffe
jne 0x1400163d3
add dword [rbx + 0x10], 2
mov rcx, rbx
call fcn.1400355e0
mov dl, byte [rsp + 0x78]
test dl, dl
je 0x140016085
mov rcx, qword [rsp + 0x30]
cmp qword [rcx], 0
mov ecx, dword [rcx + 0x20]
je 0x140016622
mov rbp, qword [rsp + 0x58]
mov ebp, dword [rbp]
cmp ecx, ebp
jae 0x14001663f
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 0x140016624
mov rdx, qword [rsp + 0x58]
mov ebp, dword [rdx]
jmp 0x140016647
mov dword [r15], ecx
jmp 0x140014b2a
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x140014c8c
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x140014d60
add rdx, qword [rcx + 0x40]
mov eax, dword [r15]
cmp eax, dword [rsi]
je 0x140015407
jmp 0x140015410
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x140014eb9
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015a5b
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xc7
jne 0x140015f2d
inc edx
call fcn.140017180
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140015a7f
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 0x140015339
add rdx, qword [rax + 0x40]
mov eax, dword [rcx]
cmp eax, dword [rbp]
jne 0x140015ab1
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.140035c20
mov r13, qword [rsp + 0x48]
add dword [r13], 8
jmp 0x14001566d
mov dword [r15], edx
jmp 0x1400145da
mov byte [r14 + 0x34], 0
xor eax, eax
jmp 0x1400145b1
mov dword [r15], edx
jmp 0x14001464a
mov byte [r14 + 0x34], 0
xor eax, eax
jmp 0x140014621
int3
mov rax, qword [rcx + 0x40]
add rax, rdx
mov ecx, dword [r15]
cmp ecx, dword [rsi]
jne 0x140015b1d
inc ecx
mov rdx, qword [rsp + 0x28]
mov dword [rdx], ecx
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov rdx, rax
jmp 0x140015577
mov dword [r15], ecx
jmp 0x140014be3
add rdx, qword [rcx + 0x40]
mov eax, dword [r15]
cmp eax, dword [rsi]
jne 0x140015b49
inc eax
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x30]
mov r8d, 1
call fcn.140035c20
mov edx, dword [rbx + 0x10]
inc edx
mov dword [rbx + 0x10], edx
mov rcx, qword [rbx]
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015b79
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x88
jb 0x140015eac
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015b9b
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x8b
ja 0x140015eac
inc edx
call fcn.140017180
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140015bbf
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 0x140016a4b
cmp ecx, 0x40
mov r14, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x28]
je 0x140015c17
test ecx, ecx
jne 0x140015339
mov ebp, edi
and ebp, 6
cmp ebp, 4
jne 0x140016a4b
cmp ecx, 0x40
mov r14, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x28]
jne 0x140015339
add rdx, qword [rax + 0x40]
and edi, 7
mov eax, dword [rbp]
mov ecx, dword [rsi]
cmp edi, 4
jne 0x140016b1c
cmp eax, ecx
jne 0x140015c3a
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.140035c20
mov r13, qword [rsp + 0x48]
add dword [r13], 4
jmp 0x14001566d
inc edx
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015c73
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0x48
mov r14, qword [rsp + 0x30]
jne 0x140015339
add edx, 2
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015c9e
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 2], 0x88
mov r14, qword [rsp + 0x30]
jb 0x140015339
add edx, 2
call fcn.140017180
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140015cc9
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 0x140015339
add rdx, qword [rax + 0x40]
mov eax, dword [rcx]
cmp eax, dword [rbp]
jne 0x140015cfb
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.140035c20
add dword [rbx + 0x10], 3
jmp 0x140015585
inc edx
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015d2e
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0x3d
je 0x140016b37
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 0x140014df5
mov dword [r15], ecx
jmp 0x140015038
int3
lea r8, [rsp + 0x80]
mov rcx, qword [rsp + 0x70]
mov rdx, rdi
mov r9, qword [rsp + 0x190]
call fcn.140035770
test al, al
jne 0x140015259
jmp 0x14001530b
mov edx, 1
mov rcx, rbx
call fcn.140013ec0
test al, al
je 0x1400170e8
mov rax, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x30]
jmp 0x14001512c
mov edx, 1
mov rcx, rbx
call fcn.140013ec0
test al, al
je 0x140017102
mov rax, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x30]
jmp 0x140015160
mov edx, 8
mov rcx, rbx
call fcn.140013ec0
test al, al
je 0x14001711c
mov rax, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x30]
jmp 0x140015198
mov edx, 1
mov rcx, rbx
call fcn.140013ec0
test al, al
je 0x140017136
mov rax, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x30]
jmp 0x1400151d6
mov edx, 1
mov rcx, rbx
call fcn.140013ec0
test al, al
je 0x140017150
mov rax, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x30]
jmp 0x14001520a
mov edx, 1
mov rcx, rbx
call fcn.140013ec0
test al, al
je 0x14001716a
mov rax, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x30]
jmp 0x14001523e
call qword [sym.imp.mozglue.dll_free]
jmp 0x140015328
call qword [sym.imp.mozglue.dll_free]
jmp 0x140015339
mov dword [r14 + 0x20], 0
mov rcx, r14
call fcn.140035630
jmp 0x14001534b
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015ec1
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x44
jne 0x14001706a
inc edx
call fcn.140017180
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x140015ee5
mov rcx, qword [rax + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rcx + rdx + 1], 0x89
jne 0x14001706a
add rdx, qword [rax + 0x40]
mov rax, qword [rsp + 0x40]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x28]
cmp eax, dword [rcx]
jne 0x140015f11
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.140035c20
add dword [rbx + 0x10], 2
jmp 0x140015585
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015f42
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xff
je 0x14001678f
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140015f64
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x8d
jne 0x14001687a
inc edx
call fcn.140017180
mov r14, qword [rbx]
mov rax, qword [r14 + 0x10]
test rax, rax
je 0x140015f88
mov rax, qword [r14 + 8]
mov ebp, dword [rbx + 0x10]
cmp byte [rax + rbp + 1], 0x3f
ja 0x140015fbe
lea edx, [rbp + 1]
mov rcx, r14
call fcn.140017180
mov r14, qword [rbx]
mov rax, qword [r14 + 0x10]
test rax, rax
je 0x140015fad
mov rax, qword [r14 + 8]
mov ebp, dword [rbx + 0x10]
mov al, byte [rax + rbp + 1]
and al, 7
cmp al, 5
je 0x140016fe4
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, [0x1400533a0]
mov qword [rdi], rax
lea rsi, [rdi + 0x10]
mov rcx, rsi
mov rdx, r14
mov r8d, ebp
call fcn.140035530
lea rcx, [rsp + 0x80]
mov qword [rcx], rsi
mov qword [rcx + 8], rdi
mov dword [rcx + 0x10], 0
xor edx, edx
call fcn.140017350
mov ebp, eax
lock dec dword [rdi + 8]
jne 0x140016042
mov rax, qword [rdi]
mov rax, qword [rax]
mov rcx, rdi
call qword [case.0x14002eb7e.0]
lock dec dword [rdi + 0xc]
jne 0x140016042
mov rax, qword [rdi]
mov rax, qword [rax + 8]
mov rcx, rdi
call qword [case.0x14002eb7e.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 0x140016067
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.140035c20
mov r13, qword [rsp + 0x48]
add dword [r13], ebp
jmp 0x14001566d
mov rcx, qword [rsp + 0x30]
cmp qword [rcx], 0
mov ecx, dword [rcx + 0x20]
je 0x140017048
mov rdx, qword [rsp + 0x58]
mov edx, dword [rdx]
cmp ecx, edx
jae 0x140017052
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 0x14001704a
mov rdx, qword [rsp + 0x58]
mov edx, dword [rdx]
jmp 0x14001705b
add edx, 0xa
call fcn.140017180
mov r12, qword [rbx]
mov rax, qword [r12 + 0x10]
test rax, rax
je 0x1400160ec
mov rax, qword [r12 + 8]
mov ebp, dword [rbx + 0x10]
cmp byte [rax + rbp + 0xa], 0xff
je 0x1400168a8
add ebp, 0xa
mov rcx, r12
mov edx, ebp
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016117
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 0x14001469d
add edx, 0xb
call fcn.140017180
mov r12, qword [rbx]
mov rax, qword [r12 + 0x10]
test rax, rax
je 0x140016149
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 0x14001469d
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, [0x1400533a0]
mov qword [r13], rax
lea rsi, [r13 + 0x10]
mov rcx, rsi
mov rdx, r12
mov r8d, ebp
call fcn.140035530
mov rcx, rsi
mov edx, 8
call fcn.140017180
mov rax, qword [r13 + 0x18]
mov r14, qword [rax]
lock dec dword [r13 + 8]
jne 0x1400161e0
mov rax, qword [r13]
mov rax, qword [rax]
mov rcx, r13
call qword [case.0x14002eb7e.0]
lock dec dword [r13 + 0xc]
jne 0x1400161e0
mov rax, qword [r13]
mov rax, qword [rax + 8]
mov rcx, r13
call qword [case.0x14002eb7e.0]
lea rbp, [rsp + 0x80]
mov rcx, rbx
mov rdx, rbp
call fcn.140035670
xor r12d, r12d
cmp qword [rbp + 0x70], 0
je 0x140016bb6
cmp byte [rsp + 0xd8], 0
je 0x140016bb6
lea rbp, [rsp + 0x80]
mov rcx, rbp
mov rdx, qword [rsp + 0x190]
call fcn.140035bd0
mov rcx, rbp
call fcn.140035b20
test al, al
je 0x140016bb3
mov rdx, qword [rsp + 0x30]
mov eax, dword [rdx + 0x20]
lea ecx, [rax + 8]
cmp qword [rdx], 0
je 0x140016e81
mov rdx, qword [rsp + 0x30]
cmp ecx, dword [rdx + 0x30]
jbe 0x140016e9b
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 0x140016bb6
mov rcx, qword [rsp + 0x30]
cmp qword [rcx + 0x18], 0
je 0x140016bb6
mov rcx, qword [rsp + 0x30]
cmp dword [rcx + 8], 0
je 0x140016bb6
test al, al
jne 0x140016e88
jmp 0x140016bb6
mov dword [r15], ecx
jmp 0x140014c8c
mov dword [r15], ecx
jmp 0x140014d60
mov dword [r15], ecx
jmp 0x140014eb9
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400162d1
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x10
jne 0x1400166af
add rdx, qword [rcx + 0x40]
mov rax, qword [rsp + 0x40]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x28]
cmp eax, dword [rcx]
je 0x140015566
jmp 0x14001556f
add rdx, qword [rcx + 0x40]
mov eax, dword [r15]
cmp eax, dword [rsi]
je 0x140015646
jmp 0x140015650
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, [0x1400533a0]
mov qword [rbp], rax
lea rsi, [rbp + 0x10]
mov rcx, rsi
mov rdx, rdi
mov r8d, r15d
call fcn.140035530
lea rcx, [rsp + 0x80]
mov qword [rcx], rsi
mov qword [rcx + 8], rbp
mov dword [rcx + 0x10], 0
mov rdx, r14
call fcn.140017350
mov edi, eax
lock dec dword [rbp + 8]
jne 0x1400163a2
mov rax, qword [rbp]
mov rax, qword [rax]
mov rcx, rbp
call qword [case.0x14002eb7e.0]
lock dec dword [rbp + 0xc]
jne 0x1400163a2
mov rax, qword [rbp]
mov rax, qword [rax + 8]
mov rcx, rbp
call qword [case.0x14002eb7e.0]
test edi, edi
js 0x1400163d3
cmp byte [rsp + 0x78], 0
jne 0x1400163d3
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 0x1400155b4
jmp 0x1400155bd
mov r14, qword [rsp + 0x30]
jmp 0x140015339
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, [0x1400533a0]
mov qword [rbp], rax
lea rsi, [rbp + 0x10]
mov rcx, rsi
mov rdx, rdi
mov r8d, r14d
call fcn.140035530
lea rcx, [rsp + 0x80]
mov qword [rcx], rsi
mov qword [rcx + 8], rbp
mov dword [rcx + 0x10], 0
xor edx, edx
call fcn.140017350
mov edi, eax
lock dec dword [rbp + 8]
jne 0x140016466
mov rax, qword [rbp]
mov rax, qword [rax]
mov rcx, rbp
call qword [case.0x14002eb7e.0]
lock dec dword [rbp + 0xc]
jne 0x140016466
mov rax, qword [rbp]
mov rax, qword [rax + 8]
mov rcx, rbp
call qword [case.0x14002eb7e.0]
test edi, edi
mov r14, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x28]
js 0x140015339
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
inc edi
jmp 0x1400155ad
inc edx
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400164a5
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0xc0
jae 0x14001589c
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 0x140014f78
inc edx
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400164e8
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0xc0
jae 0x1400157d8
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 0x140014f9a
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016529
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xcc
je 0x1400153f3
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001654b
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xe8
je 0x140016d49
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001656d
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xe9
je 0x140016d49
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001658f
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x73
jb 0x14001690c
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400165b1
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x75
ja 0x14001690c
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400165d3
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
movzx esi, byte [rax + rdx]
inc edx
call fcn.140017180
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1400165f1
mov rcx, qword [rax + 8]
lea rdx, [0x1400533c0]
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 0x140016769
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 0x140017074
mov rdx, qword [rsp + 0x50]
mov byte [rdx], 0
lea edx, [rcx + 8]
cmp edx, ebp
jbe 0x140016687
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
cmp ecx, ebp
jae 0x140016833
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 0x140016629
mov rax, qword [rsp + 0x58]
mov ebp, dword [rax]
jmp 0x14001683b
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 0x140016627
mov rax, qword [rsp + 0x58]
mov ebp, dword [rax]
jmp 0x140016656
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400166c4
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x11
je 0x1400162de
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400166e6
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
mov r14, qword [rsp + 0x30]
jb 0x140015339
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001670d
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x85
mov r14, qword [rsp + 0x30]
ja 0x140015339
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016734
mov rax, qword [rcx + 8]
mov ecx, dword [rbx + 0x10]
movzx eax, byte [rax + rcx]
lea rdx, [0x1400533c0]
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.1400355e0
mov rcx, r14
mov rdx, rax
mov r8d, edi
call fcn.1400177e0
test al, al
mov r15, qword [rsp + 0x40]
mov r13, qword [rsp + 0x48]
mov r12d, dword [rsp + 0x3c]
mov rsi, qword [rsp + 0x28]
jne 0x140014b2e
jmp 0x140015339
inc edx
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400167a6
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx + 1], 0x3f
mov r14, qword [rsp + 0x30]
ja 0x140015339
inc edx
call fcn.140017180
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1400167d0
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 0x140015339
add eax, 2
mov dword [rbx + 0x10], eax
dec dword [r14 + 0x20]
mov rcx, rbx
call fcn.140035450
mov rcx, r14
mov rdx, rax
mov r8d, 3
call fcn.1400177e0
mov cl, 1
mov qword [rsp + 0x60], rcx
test al, al
jne 0x140014b2e
jmp 0x140015339
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
cmp ecx, ebp
jae 0x1400168d8
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 0x14001662b
mov dl, byte [rsp + 0x78]
lea eax, [rdx*8]
or al, dl
mov rdx, qword [rsp + 0x58]
mov ebp, dword [rdx]
jmp 0x1400168ed
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14001688f
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x63
mov r14, qword [rsp + 0x30]
jne 0x140015339
inc edx
jmp 0x1400158cf
lea edx, [rbp + 0xb]
mov rcx, r12
call fcn.140017180
mov r12, qword [rbx]
mov rax, qword [r12 + 0x10]
test rax, rax
je 0x1400168c5
mov rax, qword [r12 + 8]
mov ebp, dword [rbx + 0x10]
cmp byte [rax + rbp + 0xb], 0xe0
jne 0x1400160fa
jmp 0x140016161
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 0x140017062
mov r14, qword [rsp + 0x30]
mov rdx, qword [r14 + 0x10]
mov ecx, ecx
mov byte [rdx + rcx], al
inc dword [r14 + 0x20]
jmp 0x14001706f
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016921
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0xff
je 0x140016a68
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016943
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
cmp byte [rax + rdx], 0x83
jne 0x140016974
inc edx
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016963
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov al, byte [rax + rdx + 1]
and al, 0xf8
cmp al, 0x60
je 0x140015846
call fcn.140017180
mov r15, qword [rbx]
mov rax, qword [r15 + 0x10]
test rax, rax
je 0x140016989
mov rax, qword [r15 + 8]
mov edi, dword [rbx + 0x10]
cmp byte [rax + rdi], 0xc6
mov r14, qword [rsp + 0x30]
jne 0x140015339
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, [0x1400533a0]
mov qword [rbp], rax
lea rsi, [rbp + 0x10]
mov rcx, rsi
mov rdx, r15
mov r8d, edi
call fcn.140035530
lea rcx, [rsp + 0x80]
mov qword [rcx], rsi
mov qword [rcx + 8], rbp
mov dword [rcx + 0x10], 0
xor edx, edx
call fcn.140017350
mov edi, eax
lock dec dword [rbp + 8]
jne 0x140016a22
mov rax, qword [rbp]
mov rax, qword [rax]
mov rcx, rbp
call qword [case.0x14002eb7e.0]
lock dec dword [rbp + 0xc]
jne 0x140016a22
mov rax, qword [rbp]
mov rax, qword [rax + 8]
mov rcx, rbp
call qword [case.0x14002eb7e.0]
test edi, edi
mov r14, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x28]
js 0x140015339
mov rax, qword [rbx]
mov edx, dword [rbx + 0x10]
add rdx, qword [rax + 0x40]
add edi, 2
jmp 0x1400155ad
add rdx, qword [rax + 0x40]
mov rax, qword [rsp + 0x40]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x28]
cmp eax, dword [rcx]
je 0x140015646
jmp 0x140015650
inc edx
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016a7f
mov rax, qword [rcx + 8]
mov edx, dword [rbx + 0x10]
mov bpl, byte [rax + rdx + 1]
inc edx
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016a9e
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.140017180
mov r15, qword [rbx]
mov rax, qword [r15 + 0x10]
test rax, rax
je 0x140016ac3
mov rax, qword [r15 + 8]
mov esi, dword [rbx + 0x10]
mov dl, byte [rax + rsi + 1]
and dl, 7
cmp bpl, 0xc0
jb 0x140016bf5
cmp edi, 6
ja 0x140016fd7
mov eax, 0x47
bt eax, edi
jae 0x140016fd7
add rsi, qword [r15 + 0x40]
mov rax, qword [rsp + 0x40]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x28]
cmp eax, dword [rcx]
jne 0x140016b0c
add eax, 2
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov rdx, rsi
jmp 0x140015658
cmp eax, ecx
jne 0x140016b2a
add eax, 3
mov rcx, qword [rsp + 0x28]
mov dword [rcx], eax
mov r14, qword [rsp + 0x30]
mov rcx, r14
jmp 0x140015804
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 0x140016d0f
inc eax
inc eax
mov rcx, qword [rsp + 0x40]
mov dword [rcx], eax
mov rcx, rbx
call fcn.1400355e0
mov rcx, qword [rsp + 0x30]
cmp qword [rcx], 0
mov ecx, dword [rcx + 0x20]
je 0x140016d8e
mov rdx, qword [rsp + 0x58]
mov edx, dword [rdx]
cmp ecx, edx
jae 0x140016e21
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 0x140016d90
mov rdx, qword [rsp + 0x58]
mov edx, dword [rdx]
jmp 0x140016e2a
xor r12d, r12d
lea rbp, [rsp + 0xe0]
mov rcx, rbp
call int.140035ef0
mov rcx, qword [rbp - 0x40]
lea rax, [rsp + 0xb8]
cmp rcx, rax
je 0x140016bdd
call qword [sym.imp.mozglue.dll_free]
test r12b, r12b
mov r14, qword [rsp + 0x30]
mov r15, qword [rsp + 0x40]
je 0x14001469d
jmp 0x140015339
cmp bpl, 0x40
setb al
cmp dl, 5
sete cl
cmp bpl, 0x3f
ja 0x140016c17
cmp dil, 2
jne 0x140016c17
cmp dl, 5
je 0x1400170c4
cmp dil, 4
mov r14, qword [rsp + 0x30]
jne 0x140015339
and al, cl
cmp al, 1
je 0x140017094
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, [0x1400533a0]
mov qword [rbp], rax
lea rdi, [rbp + 0x10]
mov rcx, rdi
mov rdx, r15
mov r8d, esi
call fcn.140035530
lea rcx, [rsp + 0x80]
mov qword [rcx], rdi
mov qword [rcx + 8], rbp
mov dword [rcx + 0x10], 0
xor edx, edx
call fcn.140017350
mov edi, eax
lock dec dword [rbp + 8]
jne 0x140016cb7
mov rax, qword [rbp]
mov rax, qword [rax]
mov rcx, rbp
call qword [case.0x14002eb7e.0]
lock dec dword [rbp + 0xc]
jne 0x140016cb7
mov rax, qword [rbp]
mov rax, qword [rax + 8]
mov rcx, rbp
call qword [case.0x14002eb7e.0]
test edi, edi
mov r14, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x28]
js 0x140015339
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 0x140016cea
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.140035c20
mov r13, qword [rsp + 0x48]
add dword [r13], edi
mov al, 1
mov qword [rsp + 0x60], rax
jmp 0x14001566d
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx]
cmp eax, ecx
jae 0x140016f0d
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 0x140016b55
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx]
jmp 0x140016f15
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016d5e
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.1400355e0
mov r14, qword [rsp + 0x30]
jmp 0x140016760
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 0x140016dbe
inc ecx
mov rax, qword [rsp + 0x28]
mov dword [rax], ecx
mov rsi, qword [rsp + 0x30]
mov rcx, rsi
mov r8d, 1
call fcn.140035c20
mov rax, qword [rsp + 0x48]
inc dword [rax]
cmp qword [rsi], 0
mov eax, dword [rsi + 0x20]
je 0x140016e10
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx]
cmp eax, ecx
jae 0x140016e5d
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 0x140016e12
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx]
jmp 0x140016e65
inc eax
inc eax
mov r15, qword [rsp + 0x40]
mov dword [r15], eax
jmp 0x140016635
mov rbp, qword [rsp + 0x50]
mov byte [rbp], 0
cmp ecx, edx
jae 0x140016ec3
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 0x140016d92
mov rdx, qword [rsp + 0x58]
mov edx, dword [rdx]
jmp 0x140016ecc
mov rdx, qword [rsp + 0x50]
mov byte [rdx], 0
cmp eax, ecx
jae 0x140017062
mov r14, qword [rsp + 0x30]
mov rcx, qword [r14 + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x5b
jmp 0x140016903
mov rax, qword [rsp + 0x40]
mov dword [rax], ecx
mov rax, qword [rsp + 0x198]
mov qword [rax], r14
mov r12b, 1
jmp 0x140016bb6
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 0x140016e88
mov rax, qword [rsp + 0x30]
cmp byte [rax + 0x34], 0
setne al
jmp 0x140016265
mov rbp, qword [rsp + 0x50]
mov byte [rbp], 0
lea ebp, [rcx + 8]
cmp ebp, edx
jbe 0x140016f30
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
cmp ecx, edx
jae 0x140016f6c
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 0x140016d97
mov rax, qword [rsp + 0x58]
mov edx, dword [rax]
jmp 0x140016f74
mov rdx, qword [rsp + 0x50]
mov byte [rdx], 0
cmp eax, ecx
jae 0x140016f5f
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rdx + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x53
inc dword [rdx + 0x20]
jmp 0x140016b5e
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 0x140016d95
mov rax, qword [rsp + 0x58]
mov edx, dword [rax]
jmp 0x140016edb
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x140016b5e
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
cmp ecx, edx
jae 0x140016fa2
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 0x140016d99
mov rax, qword [rsp + 0x58]
mov edx, dword [rax]
jmp 0x140016faa
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
cmp ecx, edx
jae 0x140016fca
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 0x140016da2
mov rax, qword [rsp + 0x50]
mov byte [rax], 0
jmp 0x140016da2
cmp dl, 5
sete cl
xor eax, eax
jmp 0x140016c17
lea edx, [rbp + 1]
mov rcx, r14
call fcn.140017180
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x140016fff
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.1400355e0
mov rcx, qword [rsp + 0x30]
cmp qword [rcx], 0
mov ecx, dword [rcx + 0x20]
je 0x140017048
mov rdx, qword [rsp + 0x58]
mov edx, dword [rdx]
cmp ecx, edx
jae 0x140017052
shr sil, 3
or sil, 0xb8
mov rbp, qword [rsp + 0x30]
mov rdx, qword [rbp + 0x10]
mov byte [rdx + rcx], sil
jmp 0x1400160b3
inc ecx
add ecx, 8
jmp 0x14001662d
mov rbp, qword [rsp + 0x50]
mov byte [rbp], 0
lea ebp, [rcx + 8]
cmp ebp, edx
jbe 0x14001707e
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 0x140015672
mov r14, qword [rsp + 0x30]
mov rdx, qword [r14 + 0x10]
mov ecx, ecx
mov qword [rdx + rcx], rax
add dword [r14 + 0x20], 8
jmp 0x14001706f
add esi, 2
mov dword [rbx + 0x10], esi
mov rcx, rbx
call fcn.140035450
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov rdx, rax
mov r8d, 3
call fcn.1400177e0
mov cl, 1
mov qword [rsp + 0x60], rcx
jmp 0x14001676e
add esi, 2
mov dword [rbx + 0x10], esi
mov rcx, rbx
call fcn.140035450
mov r14, qword [rsp + 0x30]
mov rcx, r14
mov rdx, rax
mov r8d, 4
jmp 0x140016769
mov byte [rsp + 0xd8], 0
mov rax, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x30]
jmp 0x140015152
mov byte [rsp + 0xd8], 0
mov rax, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x30]
jmp 0x140015186
mov byte [rsp + 0xd8], 0
mov rax, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x30]
jmp 0x1400151c8
mov byte [rsp + 0xd8], 0
mov rax, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x30]
jmp 0x1400151fc
mov byte [rsp + 0xd8], 0
mov rax, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x30]
jmp 0x140015230
mov byte [rsp + 0xd8], 0
mov r14, qword [rsp + 0x30]
jmp 0x140015259