Function at 0x140018030
Capabilities:
Check for software breakpoints
Get system information on windows
Parse credit card information

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1d8
mov qword [rsp + 0x38], r9
mov rax, qword [0x140061018]
xor rax, rsp
mov qword [rsp + 0x1d0], rax
cmp byte [rcx + 0x1c], 0
je 0x140019953
mov r14, r8
mov rsi, rdx
mov r13, rcx
mov edi, dword [rcx + 0x18]
test dil, 4
jne 0x140019d58
mov rcx, rsi
mov rdi, rcx
mov qword [rsp + 0x130], r13
mov qword [rsp + 0x138], rcx
mov dword [rsp + 0x140], 0
movzx eax, byte [rcx]
cmp eax, 0x48
jne 0x1400195b0
cmp byte [rdi + 1], 0xff
mov rcx, rdi
je 0x14001958c
cmp rdi, rcx
jne 0x14001807d
cmp rdi, rsi
jne 0x140019d83
mov qword [rsp + 0xe8], r13
mov qword [rsp + 0xf0], rsi
mov dword [rsp + 0xf8], 0
cmp byte [r13 + 0x1c], 0
je 0x140019953
mov edi, dword [r13 + 0x18]
and edi, 1
shl edi, 0x1e
lea rsi, [r13 + 1]
mov eax, dword [0x140061d6c]
mov ecx, dword [0x1400614b0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400194fb
mov r12d, dword [0x140061d68]
mov dword [rsp + 0x20], edi
lea rdx, [rsp + 0x90]
mov rcx, rsi
mov r8d, r12d
mov r9, rdi
call fcn.14001b510
mov eax, dword [0x140063b24]
mov ecx, dword [0x1400614b0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140018c80
lea rcx, [0x140063b28]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov al, byte [rsp + 0xa0]
test al, al
jne 0x140018897
xor r15d, r15d
xor ebx, ebx
mov rsi, qword [0x140063b18]
test rsi, rsi
jne 0x1400181b8
mov ecx, 0x18
call qword [sym.imp.mozglue.dll_moz_xmalloc]
mov rsi, rax
xorps xmm0, xmm0
movups xmmword [rax + 8], xmm0
mov qword [rax], 0x18
mov qword [0x140063b18], rax
mov al, byte [rsp + 0xa0]
test al, al
mov qword [rsp + 0x48], r14
jne 0x1400188bc
cmp qword [rsi + 8], 0
jne 0x140018232
mov ecx, 0x20
call qword [sym.imp.mozglue.dll_moz_xmalloc]
mov rdi, rax
xorps xmm0, xmm0
movups xmmword [rax + 8], xmm0
mov dword [rax + 0x18], 0
mov rax, qword [rsi + 8]
cmp rax, qword [rsi + 0x10]
jne 0x1400181fe
mov rcx, rsi
call fcn.14001b870
mov rax, qword [rsi + 8]
mov rcx, qword [rsi]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], r15
mov qword [rcx + rax*8 + 8], rbx
mov qword [rcx + rax*8 + 0x10], rdi
inc qword [rsi + 8]
mov rsi, qword [0x140063b18]
test rsi, rsi
je 0x140019d78
cmp qword [rsi + 8], 0
je 0x140019d78
mov rbp, qword [rsi]
add rbp, 0x10
mov rdi, qword [rbp]
test rdi, rdi
je 0x14001a1f9
test r12d, r12d
je 0x14001a1f9
cmp qword [rdi + 8], 0
jne 0x140019583
mov eax, dword [0x140061d6c]
mov ecx, dword [0x1400614b0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14001953f
mov ebx, dword [0x140061d68]
mov eax, r12d
xor edx, edx
div ebx
sub ebx, edx
test edx, edx
cmove ebx, edx
add ebx, r12d
lea r14, [rdi + 0x10]
mov dword [rdi + 0x10], ebx
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
cmp byte [rsp + 0xa0], 0
jne 0x1400189a7
mov edx, ebx
xor ecx, ecx
mov r8d, 0x2000
mov r9d, 1
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
je 0x14001a1eb
mov qword [rdi + 8], rax
cmp dword [r14], 0
je 0x14001a1f9
mov qword [rsp + 0xd0], r13
mov qword [rsp + 0xd8], rdi
mov byte [rsp + 0xe0], 1
lea rcx, [0x140063b28]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [0x140063b24]
mov ecx, dword [0x1400614b0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140018cc9
lea rsi, [0x140063b28]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rbp, [rsp + 0x90]
mov rcx, rdi
mov rdx, rbp
call fcn.14001ba50
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [rbp + 0x38], 0
je 0x14001a206
mov rbx, qword [rsp + 0x90]
mov qword [rsp + 0x58], rbx
mov eax, dword [rsp + 0x98]
mov dword [rsp + 0x60], eax
mov rbp, qword [rsp + 0xa0]
mov qword [rsp + 0x68], rbp
mov rdx, qword [rsp + 0xa8]
mov qword [rsp + 0x70], rdx
mov ecx, dword [rsp + 0xb0]
mov dword [rsp + 0x78], ecx
movups xmm0, xmmword [rsp + 0xb4]
movups xmmword [rsp + 0x7c], xmm0
mov cl, byte [rsp + 0xc4]
mov byte [rsp + 0x8c], cl
mov dword [rsp + 0x98], 0
mov byte [rsp + 0xc4], 0
mov rdi, qword [rsp + 0x38]
mov qword [rdi], 0
test rbx, rbx
je 0x1400183fc
test rbp, rbp
je 0x140019445
test rdx, rdx
je 0x140019445
test eax, eax
je 0x140019445
test cl, cl
je 0x140019445
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_EncodePointer]
mov ecx, dword [rsp + 0x78]
lea edx, [rcx + 8]
cmp qword [rsp + 0x58], 0
je 0x140019d96
cmp edx, dword [rsp + 0x88]
ja 0x140019db6
mov rdx, qword [rsp + 0x68]
mov qword [rdx + rcx], rax
add dword [rsp + 0x78], 8
cmp qword [rsp + 0x58], 0
je 0x14001846d
mov al, byte [rsp + 0x8c]
cmp qword [rsp + 0x68], 0
je 0x140019445
cmp qword [rsp + 0x70], 0
je 0x140019445
cmp dword [rsp + 0x60], 0
je 0x140019445
test al, al
je 0x140019445
mov ecx, dword [rsp + 0xf8]
add rcx, qword [rsp + 0xf0]
call qword [sym.imp.KERNEL32.dll_EncodePointer]
mov edx, dword [rsp + 0x78]
lea ecx, [rdx + 8]
cmp qword [rsp + 0x58], 0
je 0x140019dc5
cmp ecx, dword [rsp + 0x88]
ja 0x140019dce
mov rcx, qword [rsp + 0x68]
mov qword [rcx + rdx], rax
mov ecx, dword [rsp + 0x78]
add ecx, 8
mov dword [rsp + 0x78], ecx
cmp qword [rsp + 0x58], 0
je 0x1400184f0
mov al, byte [rsp + 0x8c]
cmp qword [rsp + 0x68], 0
je 0x140019436
cmp qword [rsp + 0x70], 0
je 0x140019436
cmp dword [rsp + 0x60], 0
je 0x140019436
test al, al
je 0x140019436
mov eax, dword [rsp + 0xf8]
mov rdx, qword [rsp + 0xf0]
cmp byte [rdx + rax], 0x48
jne 0x140018510
cmp byte [rdx + rax + 1], 0xb8
je 0x140019f99
mov dword [rsp + 0x7c], ecx
mov dword [rsp + 0x80], ecx
cmp byte [r13 + 0x1c], 0
je 0x140019953
mov eax, dword [r13 + 0x18]
and eax, 2
mov r13d, eax
shr r13d, 1
xor ecx, ecx
test eax, eax
sete cl
lea r15d, [rcx + rcx*2]
add r15d, 0xa
mov r9d, dword [rsp + 0xf8]
cmp r9d, r15d
jae 0x140018d12
mov r12d, r15d
xor r14d, r14d
mov rdx, qword [rsp + 0xf0]
mov eax, r9d
test r14b, 1
jne 0x140019803
movzx ecx, byte [rdx + rax]
cmp rcx, 0xf
je 0x14001983f
mov ebx, ecx
and bl, 0xfc
cmp bl, 0x88
je 0x14001987e
lea ebp, [rcx - 0x40]
cmp ebp, 2
jb 0x1400187e8
cmp ecx, 0x44
je 0x1400198bb
cmp ecx, 0x45
je 0x1400198fa
mov ebx, ecx
and bl, 0xfa
cmp bl, 0x48
jne 0x14001870a
mov ecx, dword [rsp + 0x78]
lea r10d, [rcx + 1]
cmp ecx, dword [rsp + 0x80]
jne 0x1400185cf
mov dword [rsp + 0x80], r10d
cmp qword [rsp + 0x58], 0
je 0x140019939
cmp r10d, dword [rsp + 0x88]
ja 0x140019943
mov rbp, qword [rsp + 0x68]
mov al, byte [rdx + rax]
mov byte [rbp + rcx], al
mov r10d, dword [rsp + 0x78]
inc r10d
mov dword [rsp + 0x78], r10d
mov r9d, dword [rsp + 0xf8]
mov rdx, qword [rsp + 0xf0]
lea eax, [r9 + 1]
mov dword [rsp + 0xf8], eax
movzx ecx, byte [rdx + rax]
cmp ecx, 0x82
jle 0x140018642
cmp ecx, 0x83
je 0x140018779
cmp ecx, 0x85
jne 0x140018657
jmp 0x140019bcb
cmp ecx, 0x81
je 0x140019613
cmp ecx, 0x2b
je 0x140019bcb
mov ebx, ecx
and bl, 0xfd
cmp bl, 0x89
jne 0x14001995e
lea ebx, [r9 + 2]
movzx esi, byte [rdx + rbx]
mov ecx, esi
shr ecx, 6
mov edi, 2
cmp ecx, 1
jne 0x1400186fb
and sil, 7
xor ebp, ebp
cmp sil, 4
sete bpl
add ebp, edi
lea ecx, [r10 + rbp]
inc ecx
cmp r10d, dword [rsp + 0x80]
jne 0x1400186a3
mov dword [rsp + 0x80], ecx
inc ebp
cmp qword [rsp + 0x58], 0
je 0x1400199a7
cmp ecx, dword [rsp + 0x88]
ja 0x1400199b0
add rdx, rax
mov r8d, ebp
mov ecx, r10d
add rcx, qword [rsp + 0x68]
call sub.ntdll.dll_memcpy
add dword [rsp + 0x78], ebp
mov eax, dword [rsp + 0xf8]
add eax, ebp
mov dword [rsp + 0xf8], eax
mov r9d, dword [rsp + 0xf8]
cmp r9d, r15d
jb 0x140018559
jmp 0x140018d15
mov ebp, 1
cmp ecx, 3
je 0x14001868c
jmp 0x140019fe4
cmp cl, 0x66
je 0x14001a167
mov ebx, ecx
and bl, 0xf0
cmp bl, 0x50
jne 0x14001967e
mov ecx, dword [rsp + 0x78]
lea ebp, [rcx + 1]
cmp ecx, dword [rsp + 0x80]
jne 0x140018738
mov dword [rsp + 0x80], ebp
cmp qword [rsp + 0x58], 0
je 0x14001a1a6
cmp ebp, dword [rsp + 0x88]
ja 0x14001a0c5
mov rbp, qword [rsp + 0x68]
mov al, byte [rdx + rax]
mov byte [rbp + rcx], al
inc dword [rsp + 0x78]
mov r9d, dword [rsp + 0xf8]
inc r9d
mov dword [rsp + 0xf8], r9d
jmp 0x1400186e5
movzx ecx, byte [rdx + rax + 1]
and ecx, 0xfffffff8
cmp ecx, 0xe8
jne 0x14001a216
lea ecx, [r10 + 3]
cmp r10d, dword [rsp + 0x80]
jne 0x1400187a2
mov dword [rsp + 0x80], ecx
cmp qword [rsp + 0x58], 0
je 0x14001a20d
cmp ecx, dword [rsp + 0x88]
ja 0x14001a55a
add rdx, rax
mov rax, qword [rsp + 0x68]
mov ecx, r10d
mov bl, byte [rdx + 2]
mov byte [rax + rcx + 2], bl
movzx edx, word [rdx]
mov word [rax + rcx], dx
add dword [rsp + 0x78], 3
mov eax, dword [rsp + 0xf8]
add eax, 3
jmp 0x1400186de
mov ebp, dword [rsp + 0x78]
lea ecx, [rbp + 1]
cmp ebp, dword [rsp + 0x80]
jne 0x1400187ff
mov dword [rsp + 0x80], ecx
cmp qword [rsp + 0x58], 0
je 0x14001a74b
cmp ecx, dword [rsp + 0x88]
ja 0x14001a754
mov rcx, qword [rsp + 0x68]
mov al, byte [rdx + rax]
mov byte [rcx + rbp], al
mov ecx, dword [rsp + 0x78]
inc ecx
mov dword [rsp + 0x78], ecx
mov r9d, dword [rsp + 0xf8]
mov rdx, qword [rsp + 0xf0]
inc r9d
mov dword [rsp + 0xf8], r9d
mov bl, byte [rdx + r9]
mov eax, ebx
and al, 0xf0
cmp al, 0x50
jne 0x14001a76c
lea eax, [rcx + 1]
cmp ecx, dword [rsp + 0x80]
jne 0x14001886b
mov dword [rsp + 0x80], eax
cmp qword [rsp + 0x58], 0
je 0x14001a763
cmp eax, dword [rsp + 0x88]
ja 0x14001a0c5
mov rax, qword [rsp + 0x68]
mov ecx, ecx
mov dl, byte [rdx + r9]
mov byte [rax + rcx], dl
jmp 0x14001875d
mov rcx, qword [rsp + 0x90]
test rcx, rcx
je 0x14001a024
mov r15, qword [rsp + 0x98]
lea rbx, [rcx + r15]
dec rbx
jmp 0x140018182
mov qword [rsp + 0x40], rbx
mov r8, qword [rsi]
mov rbx, qword [rsi + 8]
mov rbp, r8
test rbx, rbx
jle 0x14001890e
mov rbp, r8
mov rcx, rbx
mov rdx, rbx
mov rax, qword [rsp + 0x40]
shr rdx, 1
lea rdi, [rdx + rdx*2]
lea rdi, [rdi*8]
add rdi, rbp
cmp qword [rdi], r15
jae 0x14001a28e
add rdi, 0x18
not rdx
add rdx, rcx
mov rbp, rdi
mov rcx, rdx
test rdx, rdx
jg 0x1400188de
lea rcx, [rbx + rbx*2]
lea rax, [r8 + rcx*8]
cmp rbp, rax
jne 0x14001a2a3
mov ecx, 0x20
call qword [sym.imp.mozglue.dll_moz_xmalloc]
mov rdi, rax
xorps xmm0, xmm0
movups xmmword [rax + 8], xmm0
mov dword [rax + 0x18], 0
mov rax, qword [rsi]
mov r14, qword [rsi + 8]
sub rbp, rax
sar rbp, 3
movabs rbx, 0xaaaaaaaaaaaaaaab
imul rbx, rbp
cmp rbx, r14
jne 0x14001a2c1
mov rcx, rbx
cmp rbx, qword [rsi + 0x10]
jne 0x140018978
mov rcx, rsi
call fcn.14001b870
mov rax, qword [rsi]
mov rcx, qword [rsi + 8]
lea rcx, [rcx + rcx*2]
mov qword [rax + rcx*8], r15
mov rdx, qword [rsp + 0x40]
mov qword [rax + rcx*8 + 8], rdx
mov qword [rax + rcx*8 + 0x10], rdi
inc qword [rsi + 8]
mov rax, qword [rsi]
lea rcx, [rbx + rbx*2]
lea rbp, [rax + rcx*8]
add rbp, 0x10
jmp 0x140018239
mov r15, qword [rsp + 0x90]
test r15, r15
je 0x14001a024
mov r12, rax
mov rsi, qword [rsp + 0x98]
mov eax, dword [0x140063b60]
mov ecx, dword [0x1400614b0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jle 0x140018a5d
lea rcx, [0x140063b60]
call fcn.14002e2bc
cmp dword [0x140063b60], 0xffffffff
jne 0x140018a5d
lea rcx, str.kernelbase.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [0x140063b50], rax
mov qword [0x140063b58], 0
test rax, rax
je 0x140018a51
lea rdx, str.VirtualAlloc2
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140063b58], rax
test rax, rax
jne 0x140018a51
mov rcx, qword [0x140063b50]
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov qword [0x140063b50], 0
lea rcx, [0x140063b60]
call fcn.14002e25c
mov rax, qword [0x140063b58]
mov ebp, ebx
test rax, rax
jne 0x14001a399
lea rbx, [rdi + 1]
add r15, rsi
mov qword [rsp + 0x20], r15
mov rcx, rbx
mov rdx, r12
mov r8, rbp
mov r9, rsi
call fcn.14001bcb0
test rax, rax
je 0x14001a1f1
mov rcx, rax
mov rdx, rbp
mov r8d, 0x2000
mov r9d, 1
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
jne 0x1400182d0
mov qword [rsp + 0x20], r15
mov rcx, rbx
mov rdx, r12
mov r8, rbp
mov r9, rsi
call fcn.14001bcb0
test rax, rax
je 0x14001a1f1
mov rcx, rax
mov rdx, rbp
mov r8d, 0x2000
mov r9d, 1
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
jne 0x1400182d0
mov qword [rsp + 0x20], r15
mov rcx, rbx
mov rdx, r12
mov r8, rbp
mov r9, rsi
call fcn.14001bcb0
test rax, rax
je 0x14001a1f1
mov rcx, rax
mov rdx, rbp
mov r8d, 0x2000
mov r9d, 1
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
jne 0x1400182d0
mov qword [rsp + 0x20], r15
mov rcx, rbx
mov rdx, r12
mov r8, rbp
mov r9, rsi
call fcn.14001bcb0
test rax, rax
je 0x14001a1f1
mov rcx, rax
mov rdx, rbp
mov r8d, 0x2000
mov r9d, 1
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
jne 0x1400182d0
mov qword [rsp + 0x20], r15
mov rcx, rbx
mov rdx, r12
mov r8, rbp
mov r9, rsi
call fcn.14001bcb0
test rax, rax
je 0x14001a1f1
mov rcx, rax
mov rdx, rbp
mov r8d, 0x2000
mov r9d, 1
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
jne 0x1400182d0
mov qword [rsp + 0x20], r15
mov rcx, rbx
mov rdx, r12
mov r8, rbp
mov r9, rsi
call fcn.14001bcb0
test rax, rax
je 0x14001a1f1
mov rcx, rax
mov rdx, rbp
mov r8d, 0x2000
mov r9d, 1
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
jne 0x1400182d0
mov qword [rsp + 0x20], r15
mov rcx, rbx
mov rdx, r12
mov r8, rbp
mov r9, rsi
call fcn.14001bcb0
test rax, rax
je 0x14001a1f1
mov rcx, rax
mov rdx, rbp
mov r8d, 0x2000
mov r9d, 1
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
jne 0x1400182d0
mov qword [rsp + 0x20], r15
mov rcx, rbx
mov rdx, r12
mov r8, rbp
mov r9, rsi
call fcn.14001bcb0
test rax, rax
je 0x14001a1f1
mov rcx, rax
mov rdx, rbp
mov r8d, 0x2000
mov r9d, 1
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
jne 0x1400182d0
xor ecx, ecx
mov rdx, rbp
jmp 0x1400182b5
lea rcx, [0x140063b24]
call fcn.14002e2bc
cmp dword [0x140063b24], 0xffffffff
jne 0x140018161
lea rcx, [0x140063b28]
mov edx, 0xfa0
mov r8d, 0x1000000
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSectionEx]
mov byte [0x140063b20], 1
lea rcx, [0x140063b24]
call fcn.14002e25c
jmp 0x140018161
lea rcx, [0x140063b24]
call fcn.14002e2bc
cmp dword [0x140063b24], 0xffffffff
jne 0x140018328
lea rcx, [0x140063b28]
mov edx, 0xfa0
mov r8d, 0x1000000
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSectionEx]
mov byte [0x140063b20], 1
lea rcx, [0x140063b24]
call fcn.14002e25c
jmp 0x140018328
xor r14d, r14d
cmp r9d, 0x64
ja 0x140019436
test r14b, 1
jne 0x140018e35
mov eax, dword [rsp + 0x78]
cmp qword [rsp + 0x58], 0
je 0x140019e22
mov ecx, r9d
add rcx, qword [rsp + 0xf0]
mov edx, dword [rsp + 0x88]
cmp eax, edx
jae 0x140019e35
mov rdx, qword [rsp + 0x68]
mov byte [rdx + rax], 0xff
mov eax, dword [rsp + 0x78]
inc eax
mov dword [rsp + 0x78], eax
cmp qword [rsp + 0x58], 0
je 0x140019e24
mov edx, dword [rsp + 0x88]
cmp eax, edx
jae 0x140019e42
mov rdx, qword [rsp + 0x68]
mov eax, eax
mov byte [rdx + rax], 0x25
mov eax, dword [rsp + 0x78]
inc eax
mov dword [rsp + 0x78], eax
cmp qword [rsp + 0x58], 0
je 0x140019e26
mov edx, dword [rsp + 0x88]
lea ebp, [rax + 4]
cmp ebp, edx
ja 0x140019e4f
mov rdx, qword [rsp + 0x68]
mov eax, eax
mov dword [rdx + rax], 0
mov eax, dword [rsp + 0x78]
add eax, 4
mov dword [rsp + 0x78], eax
cmp qword [rsp + 0x58], 0
je 0x140019e29
mov edx, dword [rsp + 0x88]
lea ebp, [rax + 8]
cmp ebp, edx
ja 0x140019e5c
mov rdx, qword [rsp + 0x68]
mov eax, eax
mov qword [rdx + rax], rcx
add dword [rsp + 0x78], 8
cmp qword [rsp + 0x58], 0
je 0x140018e35
mov al, byte [rsp + 0x8c]
cmp qword [rsp + 0x68], 0
je 0x140019436
cmp qword [rsp + 0x70], 0
je 0x140019436
cmp dword [rsp + 0x60], 0
je 0x140019436
test al, al
je 0x140019436
cmp byte [rsp + 0x8c], 0
je 0x140019436
cmp qword [rsp + 0x58], 0
je 0x140019436
mov eax, dword [rsp + 0x78]
mov r12d, dword [rsp + 0x7c]
mov dword [rsp + 0x84], eax
add r12, qword [rsp + 0x70]
je 0x140019436
mov r14d, dword [rsp + 0xf8]
mov rsi, qword [rsp + 0xf0]
lea rdx, [rsp + 0x130]
mov qword [rdx], 0
mov rcx, rsi
xor r8d, r8d
call qword [sym.imp.ntdll.dll_RtlLookupFunctionEntry]
test rax, rax
je 0x140019161
mov rcx, qword [rsp + 0x130]
mov edi, dword [rax]
add edi, ecx
mov eax, dword [rax + 8]
lea rbp, [rcx + rax]
movzx eax, byte [rcx + rax + 2]
lea rbx, [rax + rax]
add rbx, 4
mov rcx, rbx
call qword [sym.imp.mozglue.dll_moz_xmalloc]
mov r15, rax
mov rcx, rax
mov rdx, rbp
mov r8, rbx
call sub.ntdll.dll_memcpy
cmp esi, edi
jne 0x140019158
movzx eax, byte [r15 + 2]
test eax, eax
je case.0x1400194e0.4
movzx ebp, byte [r15 + 5]
mov edx, ebp
and edx, 0xf
cmp edx, 4
jne 0x1400194c3
mov cl, 2
mov ebx, ecx
cmp al, cl
jb case.0x1400194e0.4
mov ecx, dword [rsp + 0x80]
mov r10b, byte [r15 + 1]
cmp ecx, r14d
jae 0x140018f28
movzx edx, r10b
cmp ecx, edx
jb 0x140019158
lea r8, [r15 + 1]
xor ebp, ebp
lea r9, [0x14001b4d8]
mov edx, ebp
movzx ecx, bpl
movzx ecx, byte [r15 + rcx*2 + 4]
cmp r14d, ecx
jae 0x140018f94
mov ebp, ebx
add bpl, dl
cmp bpl, al
jae case.0x140018f8e.4
movzx edx, bpl
movzx esi, byte [r15 + rdx*2 + 5]
mov ecx, esi
and ecx, 0xf
cmp ecx, 4
jne 0x140018f7a
mov bl, 2
mov ecx, eax
sub ecx, edx
movzx edx, bl
cmp ecx, edx
jge 0x140018f35
jmp case.0x140018f8e.4
cmp ecx, 0xa
ja case.0x140018f8e.4
mov bl, 3
mov ecx, ecx
movsxd rcx, dword [r9 + rcx*4]
add rcx, r9
jmp rcx
mov bl, 1
jmp case.0x140018f8e.5
sub al, dl
mov cl, byte [r15]
test cl, 0x20
jne 0x140019158
mov ebx, dword [rsp + 0x78]
mov ebp, dword [rsp + 0x88]
add ebx, 3
and ebx, 0xfffffffc
cmp ebx, ebp
ja 0x140019832
mov dword [rsp + 0x78], ebx
cmp byte [rsp + 0x8c], 0
je 0x140019158
and cl, 0xc7
mov byte [r15], cl
mov byte [r15 + 2], al
movzx ecx, r10b
cmp r14d, ecx
jae 0x140018fe3
mov byte [r8], r14b
cmp qword [rsp + 0x58], 0
je 0x140019f85
lea rcx, [rbx + 4]
cmp rcx, rbp
ja 0x140019832
mov rcx, qword [rsp + 0x68]
mov ebp, dword [r15]
mov dword [rcx + rbx], ebp
mov ecx, dword [rsp + 0x78]
add ecx, 4
cmp byte [rsp + 0x8c], 0
mov dword [rsp + 0x78], ecx
je 0x140019158
movzx esi, al
add rsi, rsi
cmp qword [rsp + 0x58], 0
je 0x140019f8e
mov ecx, ecx
lea rax, [rsi + rcx]
mov ebp, dword [rsp + 0x88]
cmp rax, rbp
ja 0x140019832
movzx eax, dl
lea rdx, [r15 + rax*2]
add rdx, 4
add rcx, qword [rsp + 0x68]
mov r8, rsi
call sub.ntdll.dll_memcpy
add esi, dword [rsp + 0x78]
cmp byte [rsp + 0x8c], 0
mov dword [rsp + 0x78], esi
je 0x140019158
add esi, 3
and esi, 0xfffffffc
mov ecx, dword [rsp + 0x88]
cmp esi, ecx
ja 0x140019832
mov dword [rsp + 0x78], esi
lea eax, [rsi + 4]
cmp qword [rsp + 0x58], 0
je 0x1400199bd
cmp eax, ecx
ja 0x140019832
mov eax, dword [rsp + 0x7c]
mov rcx, qword [rsp + 0x68]
mov dword [rcx + rsi], eax
mov ecx, dword [rsp + 0x78]
lea eax, [rcx + 4]
cmp byte [rsp + 0x8c], 0
mov dword [rsp + 0x78], eax
je 0x140019158
cmp qword [rsp + 0x58], 0
je 0x1400199bd
add ecx, 8
cmp ecx, dword [rsp + 0x88]
ja 0x140019832
mov ecx, dword [rsp + 0x84]
mov rdx, qword [rsp + 0x68]
mov eax, eax
mov dword [rdx + rax], ecx
mov ecx, dword [rsp + 0x78]
lea eax, [rcx + 4]
cmp byte [rsp + 0x8c], 0
mov dword [rsp + 0x78], eax
je 0x140019158
cmp qword [rsp + 0x58], 0
je 0x1400199c0
add ecx, 8
cmp ecx, dword [rsp + 0x88]
ja 0x140019832
mov rcx, qword [rsp + 0x68]
mov eax, eax
mov dword [rcx + rax], ebx
add dword [rsp + 0x78], 4
cmp byte [rsp + 0x8c], 0
je 0x140019158
mov r8, qword [rsp + 0x70]
add rsi, r8
mov rcx, rsi
mov edx, 1
call qword [sym.imp.ntdll.dll_RtlAddFunctionTable]
mov rcx, r15
call qword [sym.imp.mozglue.dll_free]
mov r9d, dword [rsp + 0xf8]
test r9, r9
je 0x140019e6b
mov rdx, qword [rsp + 0xe8]
mov r8, qword [rsp + 0xf0]
lea r14, [rsp + 0x168]
mov qword [r14 - 0x38], rdx
mov qword [r14 - 0x30], r8
mov qword [r14 - 0x28], r9
xor edi, edi
mov qword [r14 - 0x20], rdi
mov qword [r14 - 0x10], rdi
mov qword [r14 - 8], 0x20
mov qword [r14 - 0x18], r14
mov byte [r14 + 0x20], 1
lea rsi, [rsp + 0x190]
mov rcx, rsi
call fcn.14001b6e0
cmp qword [rsi + 0x10], rdi
je 0x140019396
cmp byte [rsp + 0x188], 0
je 0x140019396
test r13b, r13b
jne 0x140019e8f
lea rsi, [rsp + 0x150]
mov rax, qword [rsi + 8]
cmp rax, qword [rsi + 0x10]
je 0x140019eb9
mov rcx, qword [rsp + 0x150]
mov byte [rcx + rax], 0x49
mov rax, qword [rsp + 0x158]
inc rax
mov qword [rsp + 0x158], rax
inc dword [rsp + 0x148]
cmp rax, qword [rsp + 0x160]
je 0x140019edb
mov rcx, qword [rsp + 0x150]
mov byte [rcx + rax], 0xbb
mov rax, qword [rsp + 0x158]
inc rax
mov qword [rsp + 0x158], rax
inc dword [rsp + 0x148]
lea rcx, [rax + 8]
cmp rcx, qword [rsp + 0x160]
ja 0x140019efd
mov rcx, qword [rsp + 0x150]
mov rdx, qword [rsp + 0x48]
mov qword [rcx + rax], rdx
mov rax, qword [rsp + 0x158]
add rax, 8
mov qword [rsp + 0x158], rax
add dword [rsp + 0x148], 8
cmp rax, qword [rsp + 0x160]
je 0x140019f1f
mov rcx, qword [rsp + 0x150]
mov byte [rcx + rax], 0x41
mov rax, qword [rsp + 0x158]
inc rax
mov qword [rsp + 0x158], rax
inc dword [rsp + 0x148]
cmp rax, qword [rsp + 0x160]
je 0x140019f41
mov rcx, qword [rsp + 0x150]
mov byte [rcx + rax], 0xff
mov rax, qword [rsp + 0x158]
inc rax
mov qword [rsp + 0x158], rax
inc dword [rsp + 0x148]
cmp rax, qword [rsp + 0x160]
je 0x140019f63
mov rcx, qword [rsp + 0x150]
mov byte [rcx + rax], 0xe3
inc qword [rsp + 0x158]
inc dword [rsp + 0x148]
cmp qword [rsp + 0x1a0], 0
je 0x140019396
cmp byte [rsp + 0x188], 0
je 0x140019396
mov r8, qword [rsp + 0x158]
test r8, r8
je 0x14001938e
mov rdx, qword [rsp + 0x150]
mov ecx, dword [rsp + 0x14c]
add rcx, qword [rsp + 0x138]
call sub.ntdll.dll_memcpy
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
xor edx, edx
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov eax, dword [rsp + 0x158]
add dword [rsp + 0x14c], eax
mov qword [rsp + 0x158], 0
mov rax, qword [rsp + 0x38]
mov qword [rax], r12
mov eax, dword [0x140061d64]
mov ecx, dword [0x1400614b0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400195cf
mov rsi, qword [rsp + 0x198]
mov rbp, qword [rsp + 0x1a0]
test rbp, rbp
je 0x14001940c
shl rbp, 4
add rbp, rsi
mov edi, dword [0x140061d60]
lea r15, [rsp + 0x100]
mov rbx, qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov r8d, dword [rsi]
mov rcx, qword [rsi + 8]
mov rdx, rdi
mov r9, r15
call rbx
add rsi, 0x10
cmp rsi, rbp
jne 0x1400193ec
mov rsi, qword [rsp + 0x198]
lea rax, [rsp + 0x1b0]
mov qword [rax - 0x10], 0
cmp rsi, rax
jne 0x140019e76
mov rcx, qword [rsp + 0x150]
cmp rcx, r14
jne 0x140019e84
mov rax, qword [rsp + 0x38]
cmp qword [rax], 0
je 0x140019ddf
mov rax, qword [rsp + 0x38]
cmp qword [rax], 0
setne sil
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x140019475
mov r8d, dword [rsp + 0x60]
test r8d, r8d
je 0x140019475
lea r9, [rsp + 0x60]
mov edx, dword [r9 + 0x28]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp byte [rsp + 0xc8], 0
je 0x14001949d
mov rcx, qword [rsp + 0xa0]
test rcx, rcx
je 0x14001949d
mov r8d, dword [rsp + 0x98]
test r8d, r8d
jne 0x140019d9f
mov rcx, qword [rsp + 0x1d0]
xor rcx, rsp
call fcn.14002f4d0
mov eax, esi
add rsp, 0x1d8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp edx, 0xa
ja case.0x1400194e0.4
mov bl, 1
mov cl, 3
mov edx, edx
lea rdi, [0x14001b4ac]
movsxd rdx, dword [rdi + rdx*4]
add rdx, rdi
jmp rdx
cmp bpl, 0x1f
ja case.0x1400194e0.4
shr bpl, 4
add bpl, 2
mov ecx, ebp
jmp case.0x1400194e0.5
lea rcx, [0x140061d6c]
call fcn.14002e2bc
cmp dword [0x140061d6c], 0xffffffff
jne 0x14001811b
lea rbp, [rsp + 0x130]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rbp + 0x28]
mov dword [0x140061d68], eax
lea rcx, [0x140061d6c]
call fcn.14002e25c
jmp 0x14001811b
lea rcx, [0x140061d6c]
call fcn.14002e2bc
cmp dword [0x140061d6c], 0xffffffff
jne 0x14001827f
lea rsi, [rsp + 0x130]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rsi + 0x28]
mov dword [0x140061d68], eax
lea rcx, [0x140061d6c]
call fcn.14002e25c
jmp 0x14001827f
lea r14, [rdi + 0x10]
jmp 0x1400182d4
mov eax, 3
cmp byte [rdi + 2], 0x25
mov rcx, rdi
jne 0x1400180b4
lea rcx, [rdi + rax]
movsxd rax, dword [rdi + rax]
mov rcx, qword [rax + rcx + 4]
jmp 0x1400180b4
cmp eax, 0xff
jne 0x14001a8bb
cmp byte [rdi + 1], 0x25
mov rcx, rdi
jne 0x1400180b4
mov eax, 2
jmp 0x14001959e
lea rcx, [0x140061d64]
call fcn.14002e2bc
cmp dword [0x140061d64], 0xffffffff
jne 0x1400193bb
lea rsi, [rsp + 0x100]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rsi + 4]
mov dword [0x140061d60], eax
lea rcx, [0x140061d64]
call fcn.14002e25c
jmp 0x1400193bb
mov cl, byte [rdx + rax + 1]
and cl, 0xf8
cmp cl, 0xe8
jne 0x140019436
lea ecx, [r10 + 6]
cmp r10d, dword [rsp + 0x80]
jne 0x140019638
mov dword [rsp + 0x80], ecx
cmp qword [rsp + 0x58], 0
je 0x14001aa1f
cmp ecx, dword [rsp + 0x88]
ja 0x14001aa28
add rdx, rax
mov rax, qword [rsp + 0x68]
mov ecx, r10d
movzx ebp, word [rdx + 4]
mov word [rax + rcx + 4], bp
mov edx, dword [rdx]
mov dword [rax + rcx], edx
add dword [rsp + 0x78], 6
mov eax, dword [rsp + 0xf8]
add eax, 6
jmp 0x1400186de
cmp cl, 0x90
je 0x140018721
cmp ecx, 0x80
je 0x14001aa35
cmp ecx, 0x65
je 0x14001aa9a
mov ebx, ecx
and bl, 0xf8
cmp bl, 0xb8
je 0x14001ae6a
cmp ecx, 0xcb
jg 0x14001971d
cmp ecx, 0x84
jg 0x140019745
cmp ecx, 0x33
je 0x1400197af
cmp ecx, 0x83
jne 0x140019779
mov cl, byte [rdx + rax + 1]
cmp cl, 0xc0
jb 0x14001ae5e
mov ecx, dword [rsp + 0x78]
lea ebp, [rcx + 3]
cmp ecx, dword [rsp + 0x80]
jne 0x1400196f7
mov dword [rsp + 0x80], ebp
cmp qword [rsp + 0x58], 0
je 0x14001b415
cmp ebp, dword [rsp + 0x88]
ja 0x14001a904
add rdx, rax
mov rax, qword [rsp + 0x68]
jmp 0x14001add2
cmp ecx, 0xe7
jg 0x14001975e
cmp ecx, 0xcc
je 0x140018721
cmp ecx, 0xd1
jne 0x140019779
cmp byte [rdx + rax + 1], 0xc0
jae 0x1400197af
jmp 0x140019436
cmp ecx, 0x85
je 0x14001b1b1
cmp ecx, 0xc3
jne 0x140019779
jmp 0x140018721
lea ebp, [rcx - 0xe8]
cmp ebp, 2
jb 0x14001b1e9
cmp ecx, 0xf6
je 0x14001b231
lea ebp, [rcx - 0x73]
cmp bpl, 2
jbe 0x14001aaf2
cmp cl, 0xff
jne 0x14001ab2e
movzx ebp, byte [rdx + rax + 1]
mov ecx, ebp
shr ecx, 3
and ecx, 7
cmp bpl, 0xc0
jb 0x14001ab91
cmp ecx, 6
jne 0x14001abdc
mov ecx, dword [rsp + 0x78]
lea ebp, [rcx + 2]
cmp ecx, dword [rsp + 0x80]
jne 0x1400197c6
mov dword [rsp + 0x80], ebp
cmp qword [rsp + 0x58], 0
je 0x14001ab25
cmp ebp, dword [rsp + 0x88]
ja 0x140019b0d
mov rbp, qword [rsp + 0x68]
movzx eax, word [rdx + rax]
mov word [rbp + rcx], ax
add dword [rsp + 0x78], 2
mov r9d, dword [rsp + 0xf8]
add r9d, 2
jmp 0x14001876c
movzx ecx, byte [rdx + rax]
cmp ecx, 0xcc
je 0x14001981b
cmp ecx, 0x90
jne 0x14001aefb
inc rax
mov dword [rsp + 0xf8], eax
cmp rax, r12
jb 0x140019803
mov r9d, eax
jmp 0x140018d15
mov byte [rsp + 0x8c], 0
jmp 0x140019158
mov ecx, dword [rsp + 0x78]
lea esi, [rcx + 1]
cmp ecx, dword [rsp + 0x80]
jne 0x140019856
mov dword [rsp + 0x80], esi
cmp qword [rsp + 0x58], 0
je 0x1400199cc
cmp esi, dword [rsp + 0x88]
jbe 0x140019c11
mov byte [rsp + 0x8c], 0
mov esi, ecx
jmp 0x1400199d0
mov ecx, dword [rsp + 0x78]
lea ebp, [rcx + 1]
cmp ecx, dword [rsp + 0x80]
jne 0x140019895
mov dword [rsp + 0x80], ebp
cmp qword [rsp + 0x58], 0
je 0x140019a6d
cmp ebp, dword [rsp + 0x88]
jbe 0x140019c3c
mov byte [rsp + 0x8c], 0
jmp 0x140019c54
mov ecx, dword [rsp + 0x78]
lea ebp, [rcx + 1]
cmp ecx, dword [rsp + 0x80]
jne 0x1400198d2
mov dword [rsp + 0x80], ebp
cmp qword [rsp + 0x58], 0
je 0x140019a76
cmp ebp, dword [rsp + 0x88]
jbe 0x140019cf6
mov byte [rsp + 0x8c], 0
mov ebp, ecx
jmp 0x140019a7a
mov ecx, dword [rsp + 0x78]
lea ebp, [rcx + 1]
cmp ecx, dword [rsp + 0x80]
jne 0x140019911
mov dword [rsp + 0x80], ebp
cmp qword [rsp + 0x58], 0
je 0x140019acb
cmp ebp, dword [rsp + 0x88]
jbe 0x140019d21
mov byte [rsp + 0x8c], 0
mov ebp, ecx
jmp 0x140019acf
mov dword [rsp + 0x78], r10d
jmp 0x140018612
mov byte [rsp + 0x8c], 0
mov r10d, ecx
jmp 0x140018612
int3
mov ebx, ecx
and bl, 0xf8
cmp bl, 0xb8
jne 0x140019b2c
lea ecx, [r10 + 9]
cmp r10d, dword [rsp + 0x80]
jne 0x140019981
mov dword [rsp + 0x80], ecx
cmp qword [rsp + 0x58], 0
je 0x14001a1df
cmp ecx, dword [rsp + 0x88]
jbe 0x14001a264
mov byte [rsp + 0x8c], 0
jmp 0x14001a1e3
mov dword [rsp + 0x78], ecx
jmp 0x1400186dc
mov byte [rsp + 0x8c], 0
jmp 0x1400186dc
add eax, 4
add eax, 4
mov dword [rsp + 0x78], eax
jmp 0x140019142
mov dword [rsp + 0x78], esi
lea eax, [r9 + 1]
mov dword [rsp + 0xf8], eax
movzx ecx, byte [rdx + rax]
lea ebp, [rcx - 0x10]
cmp ebp, 2
jb 0x140019a34
cmp ecx, 5
je 0x14001a02f
cmp ecx, 0x1f
jne 0x14001a068
lea ecx, [rsi + 1]
cmp esi, dword [rsp + 0x80]
jne 0x140019a0c
mov dword [rsp + 0x80], ecx
cmp qword [rsp + 0x58], 0
je 0x14001a516
cmp ecx, dword [rsp + 0x88]
jbe 0x14001a5c8
mov byte [rsp + 0x8c], 0
mov ecx, esi
jmp 0x14001a51a
lea ecx, [rsi + 1]
cmp esi, dword [rsp + 0x80]
jne 0x140019a47
mov dword [rsp + 0x80], ecx
cmp qword [rsp + 0x58], 0
je 0x14001a1af
cmp ecx, dword [rsp + 0x88]
jbe 0x14001a1c5
mov byte [rsp + 0x8c], 0
jmp 0x14001a1b3
mov dword [rsp + 0x78], ebp
jmp 0x140019c54
mov dword [rsp + 0x78], ebp
inc r9d
mov dword [rsp + 0xf8], r9d
cmp byte [rdx + r9], 0x89
jne 0x140019436
lea eax, [rbp + 1]
cmp ebp, dword [rsp + 0x80]
jne 0x140019aa3
mov dword [rsp + 0x80], eax
cmp qword [rsp + 0x58], 0
je 0x140019b23
cmp eax, dword [rsp + 0x88]
ja 0x1400198ae
mov rax, qword [rsp + 0x68]
mov ecx, ebp
mov dl, byte [rdx + r9]
mov byte [rax + rcx], dl
jmp 0x140019c48
mov dword [rsp + 0x78], ebp
inc r9d
mov dword [rsp + 0xf8], r9d
cmp byte [rdx + r9], 0x33
jne 0x140019436
lea eax, [rbp + 2]
cmp ebp, dword [rsp + 0x80]
jne 0x140019af8
mov dword [rsp + 0x80], eax
cmp qword [rsp + 0x58], 0
je 0x140019b1a
cmp eax, dword [rsp + 0x88]
jbe 0x140019ce1
mov byte [rsp + 0x8c], 0
jmp 0x1400197fa
mov dword [rsp + 0x78], eax
jmp 0x1400197fa
mov dword [rsp + 0x78], eax
jmp 0x140019c54
cmp ecx, 0xc6
jg 0x14001a109
cmp ecx, 0x63
je 0x140019bcb
cmp ecx, 0x8d
jne 0x140019436
mov bl, byte [rdx + rax + 1]
mov eax, ebx
and al, 0xc7
cmp al, 5
jne 0x14001a7b1
lea eax, [r9 + 3]
mov dword [rsp + 0xf8], eax
movsxd rcx, dword [rdx + rax]
add r9d, 7
mov dword [rsp + 0xf8], r9d
cmp qword [rsp + 0x58], 0
je 0x14001a9c1
mov ebp, dword [rsp + 0x88]
cmp r10d, ebp
jae 0x14001a9d2
shr bl, 3
or bl, 0xb8
mov rbp, qword [rsp + 0x68]
mov edi, r10d
mov byte [rbp + rdi], bl
mov r10d, dword [rsp + 0x78]
inc r10d
mov dword [rsp + 0x78], r10d
cmp qword [rsp + 0x58], 0
je 0x14001a9c4
mov ebp, dword [rsp + 0x88]
jmp 0x14001a9da
cmp byte [rdx + rax + 1], 0xc0
jb 0x140019436
lea ecx, [r10 + 2]
cmp r10d, dword [rsp + 0x80]
jne 0x140019beb
mov dword [rsp + 0x80], ecx
cmp qword [rsp + 0x58], 0
je 0x140019d4c
cmp ecx, dword [rsp + 0x88]
jbe 0x140019fc3
mov byte [rsp + 0x8c], 0
jmp 0x140019d50
mov rbp, qword [rsp + 0x68]
mov al, byte [rdx + rax]
mov byte [rbp + rcx], al
mov esi, dword [rsp + 0x78]
inc esi
mov dword [rsp + 0x78], esi
mov r9d, dword [rsp + 0xf8]
mov rdx, qword [rsp + 0xf0]
jmp 0x1400199d0
mov rbp, qword [rsp + 0x68]
mov al, byte [rdx + rax]
mov byte [rbp + rcx], al
inc dword [rsp + 0x78]
mov r9d, dword [rsp + 0xf8]
inc r9d
lea rcx, [rsp + 0xe8]
mov dword [rcx + 0x10], r9d
xor edx, edx
call fcn.140051320
test eax, eax
js 0x140019436
mov esi, eax
mov ecx, dword [rsp + 0x78]
lea eax, [rcx + rsi]
cmp ecx, dword [rsp + 0x80]
jne 0x140019c8b
mov dword [rsp + 0x80], eax
mov edx, dword [rsp + 0xf8]
cmp qword [rsp + 0x58], 0
je 0x140019cad
cmp eax, dword [rsp + 0x88]
jbe 0x140019cbf
mov byte [rsp + 0x8c], 0
jmp 0x140019cb1
mov dword [rsp + 0x78], eax
add edx, esi
mov dword [rsp + 0xf8], edx
jmp 0x1400186e5
add rdx, qword [rsp + 0xf0]
mov r8d, esi
add rcx, qword [rsp + 0x68]
call sub.ntdll.dll_memcpy
add dword [rsp + 0x78], esi
mov edx, dword [rsp + 0xf8]
jmp 0x140019cb1
mov rax, qword [rsp + 0x68]
mov ecx, ebp
movzx edx, word [rdx + r9]
mov word [rax + rcx], dx
jmp 0x1400197ed
mov rbp, qword [rsp + 0x68]
mov al, byte [rdx + rax]
mov byte [rbp + rcx], al
mov ebp, dword [rsp + 0x78]
inc ebp
mov dword [rsp + 0x78], ebp
mov r9d, dword [rsp + 0xf8]
mov rdx, qword [rsp + 0xf0]
jmp 0x140019a7a
mov rbp, qword [rsp + 0x68]
mov al, byte [rdx + rax]
mov byte [rbp + rcx], al
mov ebp, dword [rsp + 0x78]
inc ebp
mov dword [rsp + 0x78], ebp
mov r9d, dword [rsp + 0xf8]
mov rdx, qword [rsp + 0xf0]
jmp 0x140019acf
mov dword [rsp + 0x78], ecx
add eax, 2
jmp 0x1400186de
mov qword [rsp + 0xe8], r13
mov qword [rsp + 0xf0], rsi
mov dword [rsp + 0xf8], 0
jmp 0x1400180ec
int3
mov rcx, rdi
call fcn.140051170
test al, al
cmovne rsi, rdi
jmp 0x1400180c2
mov dword [rsp + 0x78], edx
jmp 0x14001846d
lea r9, [rsp + 0x98]
mov edx, dword [r9 + 0x28]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
jmp 0x14001949d
mov byte [rsp + 0x8c], 0
xor eax, eax
jmp 0x140018442
mov dword [rsp + 0x78], ecx
jmp 0x1400184f0
mov byte [rsp + 0x8c], 0
xor eax, eax
mov ecx, edx
jmp 0x1400184c5
mov dword [rsp + 0x78], 0
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_EncodePointer]
mov ecx, dword [rsp + 0x78]
lea edx, [rcx + 8]
cmp qword [rsp + 0x58], 0
je 0x14001b494
cmp edx, dword [rsp + 0x88]
ja 0x14001b49d
mov rdx, qword [rsp + 0x68]
mov qword [rdx + rcx], rax
add dword [rsp + 0x78], 8
jmp 0x140019445
inc eax
inc eax
add eax, 4
add eax, 8
mov dword [rsp + 0x78], eax
jmp 0x140018e35
mov byte [rsp + 0x8c], 0
jmp 0x140018d79
mov byte [rsp + 0x8c], 0
jmp 0x140018da9
mov byte [rsp + 0x8c], 0
jmp 0x140018de0
mov byte [rsp + 0x8c], 0
xor eax, eax
jmp 0x140018e0a
int3
mov rcx, rsi
call qword [sym.imp.mozglue.dll_free]
jmp 0x140019425
call qword [sym.imp.mozglue.dll_free]
jmp 0x140019436
lea rcx, [rsp + 0xd0]
lea r8, [rsp + 0x130]
mov rdx, r12
mov r9, qword [rsp + 0x48]
call fcn.1400517b0
test al, al
jne 0x140019322
jmp 0x140019396
mov edx, 1
mov rcx, rsi
call fcn.140013ec0
test al, al
je 0x14001b41e
mov rax, qword [rsp + 0x158]
jmp 0x1400191f8
mov edx, 1
mov rcx, rsi
call fcn.140013ec0
test al, al
je 0x14001b433
mov rax, qword [rsp + 0x158]
jmp 0x14001922c
mov edx, 8
mov rcx, rsi
call fcn.140013ec0
test al, al
je 0x14001b448
mov rax, qword [rsp + 0x158]
jmp 0x140019264
mov edx, 1
mov rcx, rsi
call fcn.140013ec0
test al, al
je 0x14001b45d
mov rax, qword [rsp + 0x158]
jmp 0x14001929f
mov edx, 1
mov rcx, rsi
call fcn.140013ec0
test al, al
je 0x14001b472
mov rax, qword [rsp + 0x158]
jmp 0x1400192d3
mov edx, 1
mov rcx, rsi
call fcn.140013ec0
test al, al
je 0x14001b487
mov rax, qword [rsp + 0x158]
jmp 0x140019307
lea ecx, [rbx + 4]
movzx esi, al
add rsi, rsi
add esi, ecx
mov dword [rsp + 0x78], esi
jmp 0x140019076
movzx ebp, byte [rdx + rax + 0xa]
cmp ebp, 0x50
je 0x14001a450
cmp ebp, 0xff
jne 0x140018510
cmp byte [rdx + rax + 0xb], 0xe0
jne 0x140018510
jmp 0x14001a45b
mov rcx, qword [rsp + 0x68]
mov ebp, r10d
movzx eax, word [rdx + rax]
mov word [rcx + rbp], ax
add dword [rsp + 0x78], 2
mov eax, dword [rsp + 0xf8]
jmp 0x140019d50
test ecx, ecx
jne 0x14001a25a
mov ecx, esi
and ecx, 7
cmp ecx, 5
je 0x14001a7ff
mov edi, 1
cmp ecx, 4
jne 0x14001867c
mov cl, byte [rdx + rbx + 1]
and cl, 7
xor ebp, ebp
cmp cl, 5
sete bpl
lea edi, [rbp*4 + 1]
jmp 0x14001867c
int3
lea ecx, [rsi + 1]
cmp esi, dword [rsp + 0x80]
jne 0x14001a042
mov dword [rsp + 0x80], ecx
cmp qword [rsp + 0x58], 0
je 0x14001a567
cmp ecx, dword [rsp + 0x88]
jbe 0x14001a5f3
mov byte [rsp + 0x8c], 0
jmp 0x14001a56b
lea eax, [rcx + 0x7d]
cmp al, 2
ja 0x140019436
lea rax, [0x1400533c0]
mov r8d, dword [rax + rcx*4 - 0x20c]
lea eax, [r9 + 2]
mov dword [rsp + 0xf8], eax
dec esi
lea rcx, [rsp + 0x58]
mov dword [rcx + 0x20], esi
lea rbp, [rdx + rax]
movsxd rax, dword [rdx + rax]
lea rdx, [rax + rbp]
add rdx, 4
add r9d, 6
mov dword [rsp + 0xf8], r9d
call fcn.1400513b0
test al, al
jne 0x1400186e5
jmp 0x140019436
mov byte [rsp + 0x8c], 0
jmp 0x140018769
mov cl, byte [r15]
and cl, 7
jmp 0x14001a0fb
cmp sil, 0x1f
ja case.0x140018f8e.4
shr sil, 4
add sil, 2
mov ebx, esi
jmp case.0x140018f8e.5
mov cl, byte [r15]
and cl, 7
mov bl, 2
cmp cl, 2
je case.0x140018f8e.5
jmp case.0x140018f8e.4
cmp ecx, 0xff
je 0x14001a3ff
cmp ecx, 0xc7
jne 0x140019436
cmp byte [rdx + rax + 1], 0x44
jne 0x140019436
lea ecx, [r10 + 8]
cmp r10d, dword [rsp + 0x80]
jne 0x14001a141
mov dword [rsp + 0x80], ecx
cmp qword [rsp + 0x58], 0
je 0x14001a885
cmp ecx, dword [rsp + 0x88]
jbe 0x14001a891
mov byte [rsp + 0x8c], 0
jmp 0x14001a889
mov ecx, dword [rsp + 0x78]
lea ebp, [rcx + 1]
cmp ecx, dword [rsp + 0x80]
jne 0x14001a17e
mov dword [rsp + 0x80], ebp
cmp qword [rsp + 0x58], 0
je 0x14001a610
cmp ebp, dword [rsp + 0x88]
jbe 0x14001a720
mov byte [rsp + 0x8c], 0
mov ebp, ecx
jmp 0x14001a614
mov dword [rsp + 0x78], ebp
jmp 0x140018769
mov dword [rsp + 0x78], ecx
inc eax
lea rcx, [rsp + 0xe8]
mov dword [rcx + 0x10], eax
jmp 0x140019c63
mov rcx, qword [rsp + 0x68]
mov ebp, esi
mov al, byte [rdx + rax]
mov byte [rcx + rbp], al
inc dword [rsp + 0x78]
mov eax, dword [rsp + 0xf8]
jmp 0x14001a1b3
mov dword [rsp + 0x78], ecx
add eax, 9
jmp 0x1400186de
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov qword [rdi + 8], 0
lea rcx, [0x140063b28]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor esi, esi
jmp 0x14001949d
mov dword [rsp + 0x78], ecx
jmp 0x1400187e0
cmp ecx, 0x60
jne 0x14001a70f
lea ecx, [r10 + 5]
cmp r10d, dword [rsp + 0x80]
jne 0x14001a234
mov dword [rsp + 0x80], ecx
cmp qword [rsp + 0x58], 0
je 0x14001a8af
cmp ecx, dword [rsp + 0x88]
jbe 0x14001a94b
mov byte [rsp + 0x8c], 0
jmp 0x14001a8b3
mov edi, 5
jmp 0x14001867c
add rdx, rax
mov rax, qword [rsp + 0x68]
mov ecx, r10d
mov bl, byte [rdx + 8]
mov byte [rax + rcx + 8], bl
mov rdx, qword [rdx]
mov qword [rax + rcx], rdx
add dword [rsp + 0x78], 9
mov eax, dword [rsp + 0xf8]
jmp 0x14001a1e3
jne 0x140018906
cmp qword [rdi + 8], rax
jb 0x1400188f9
jmp 0x140018906
cmp qword [rbp], r15
ja 0x14001891f
mov rax, qword [rsp + 0x40]
cmp qword [rbp + 8], rax
jae 0x140018235
jmp 0x14001891f
lea rbp, [r14 + r14*2]
movups xmm0, xmmword [rax + rbp*8 - 0x18]
movaps xmmword [rsp + 0x130], xmm0
mov rcx, qword [rax + rbp*8 - 8]
mov qword [rsp + 0x50], rcx
mov qword [rax + rbp*8 - 8], 0
mov rax, qword [rsi + 8]
cmp rax, qword [rsi + 0x10]
jne 0x14001a2fb
mov rcx, rsi
call fcn.14001b870
mov rax, qword [rsi + 8]
mov rcx, qword [rsi]
lea rax, [rax + rax*2]
movaps xmm0, xmmword [rsp + 0x130]
movups xmmword [rcx + rax*8], xmm0
mov rdx, qword [rsp + 0x50]
mov qword [rcx + rax*8 + 0x10], rdx
inc qword [rsi + 8]
dec r14
cmp r14, rbx
jbe 0x14001a366
lea rbp, [rbp*8 - 8]
mov rax, qword [rsi]
movups xmm0, xmmword [rax + rbp - 0x28]
movups xmmword [rax + rbp - 0x10], xmm0
mov rdx, qword [rax + rbp - 0x18]
mov qword [rax + rbp - 0x18], 0
mov rcx, qword [rax + rbp]
mov qword [rax + rbp], rdx
test rcx, rcx
je 0x14001a35a
call qword [sym.imp.mozglue.dll_free]
dec r14
add rbp, 0xffffffffffffffe8
cmp r14, rbx
ja 0x14001a32c
mov rax, qword [rsi]
lea rdx, [rbx + rbx*2]
mov qword [rax + rdx*8], r15
mov rcx, qword [rsp + 0x40]
mov qword [rax + rdx*8 + 8], rcx
mov rcx, qword [rax + rdx*8 + 0x10]
mov qword [rax + rdx*8 + 0x10], rdi
test rcx, rcx
je 0x140018993
call qword [sym.imp.mozglue.dll_free]
jmp 0x140018993
lea rcx, [rsi + r15]
dec rcx
lea rdx, [rsp + 0x130]
mov qword [rdx], rsi
mov qword [rdx + 8], rcx
mov qword [rdx + 0x10], 0
lea rcx, [rsp + 0x58]
mov qword [rcx], 1
mov qword [rcx + 8], rdx
mov edx, 1
mov dword [rsp + 0x30], edx
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], edx
mov rcx, r12
xor edx, edx
mov r8, rbp
mov r9d, 0x2000
call qword [case.0x14002eb7e.0]
mov qword [rdi + 8], rax
test rax, rax
jne 0x1400182d4
jmp 0x14001a1f9
mov al, byte [rdx + rax + 1]
and al, 0xc7
cmp al, 5
jne 0x140019436
lea eax, [r9 + 3]
mov dword [rsp + 0xf8], eax
dec r10d
lea rcx, [rsp + 0x58]
mov dword [rcx + 0x20], r10d
lea rbp, [rdx + rax]
movsxd rax, dword [rdx + rax]
add r9d, 7
mov dword [rsp + 0xf8], r9d
mov rdx, qword [rax + rbp + 4]
mov r8d, 3
call fcn.1400513b0
mov r14b, 1
jmp 0x14001a0b8
cmp byte [rdx + rax + 0xb], 0xc3
jne 0x140018510
add eax, 2
mov rdi, qword [rdx + rax]
lea rcx, [rsp + 0xe8]
lea rsi, [rsp + 0x130]
mov rdx, rsi
call fcn.1400516c0
xor ebx, ebx
cmp qword [rsi + 0x70], 0
je 0x14001a913
cmp byte [rsp + 0x188], 0
je 0x14001a913
lea rsi, [rsp + 0x130]
mov rcx, rsi
mov rdx, qword [rsp + 0x48]
call fcn.140035bd0
mov rcx, rsi
call fcn.140051b80
test al, al
je 0x14001a911
mov eax, dword [rsp + 0x78]
lea ecx, [rax + 8]
cmp qword [rsp + 0x58], 0
je 0x14001ad22
cmp ecx, dword [rsp + 0x88]
jbe 0x14001adf2
mov byte [rsp + 0x8c], 0
xor eax, eax
xor ebx, ebx
cmp qword [rsp + 0x68], 0
je 0x14001a913
cmp qword [rsp + 0x70], 0
je 0x14001a913
cmp dword [rsp + 0x60], 0
je 0x14001a913
test al, al
jne 0x14001ad26
jmp 0x14001a913
mov dword [rsp + 0x78], ecx
inc eax
mov dword [rsp + 0xf8], eax
mov bl, byte [rdx + rax]
and bl, 0xc7
cmp bl, 0x44
jne 0x140019436
lea ebp, [rcx + 3]
cmp ecx, dword [rsp + 0x80]
jne 0x14001a545
mov dword [rsp + 0x80], ebp
cmp qword [rsp + 0x58], 0
je 0x14001a5bf
cmp ebp, dword [rsp + 0x88]
jbe 0x14001a700
mov byte [rsp + 0x8c], 0
jmp 0x1400187e0
mov dword [rsp + 0x78], ecx
inc eax
jmp 0x1400186de
mov dl, byte [r15]
and dl, 7
mov cl, 2
jmp 0x14001a582
mov dl, byte [r15]
and dl, 7
cmp dl, 2
je case.0x1400194e0.5
mov ecx, dword [rsp + 0x80]
lea r8, [r15 + 1]
xor ebp, ebp
mov r10b, byte [r15 + 1]
cmp ecx, r14d
jae case.0x140018f8e.4
movzx edx, r10b
cmp ecx, edx
jb 0x140019158
cmp al, bpl
ja 0x140019158
xor edx, edx
xor eax, eax
jmp 0x140018f96
mov dword [rsp + 0x78], ebp
jmp 0x1400187e0
mov rcx, qword [rsp + 0x68]
mov ebp, esi
mov al, byte [rdx + rax]
mov byte [rcx + rbp], al
mov ecx, dword [rsp + 0x78]
inc ecx
mov dword [rsp + 0x78], ecx
mov eax, dword [rsp + 0xf8]
mov rdx, qword [rsp + 0xf0]
jmp 0x14001a51a
mov rcx, qword [rsp + 0x68]
mov ebp, esi
mov al, byte [rdx + rax]
mov byte [rcx + rbp], al
inc dword [rsp + 0x78]
mov eax, dword [rsp + 0xf8]
jmp 0x14001a56b
mov dword [rsp + 0x78], ebp
inc r9d
mov dword [rsp + 0xf8], r9d
mov al, byte [rdx + r9]
mov ecx, eax
and cl, 0xfc
cmp cl, 0x88
jne 0x14001a6b3
movzx ebx, byte [rdx + r9 + 1]
mov ecx, ebx
and ecx, 0xffffffc0
cmp cl, 0xc0
je 0x140019ae5
cmp ecx, 0x40
je 0x14001a669
test ecx, ecx
jne 0x140019436
mov eax, ebx
and eax, 6
cmp eax, 4
jne 0x140019ae5
cmp ecx, 0x40
jne 0x140019436
and ebx, 7
add rdx, r9
mov ecx, dword [rsp + 0x80]
cmp ebx, 4
jne 0x14001a8dd
lea eax, [rbp + 4]
cmp ebp, ecx
jne 0x14001a68d
mov dword [rsp + 0x80], eax
cmp qword [rsp + 0x58], 0
je 0x14001ad08
cmp eax, dword [rsp + 0x88]
jbe 0x14001adad
mov byte [rsp + 0x8c], 0
jmp 0x14001ad0c
cmp al, 0x44
jne 0x1400186e5
cmp byte [rdx + r9 + 1], 0x89
jne 0x1400186e5
lea eax, [rbp + 2]
cmp ebp, dword [rsp + 0x80]
jne 0x14001a6da
mov dword [rsp + 0x80], eax
cmp qword [rsp + 0x58], 0
je 0x14001acfb
cmp eax, dword [rsp + 0x88]
jbe 0x14001ad8b
mov byte [rsp + 0x8c], 0
jmp 0x14001acff
add rdx, rax
mov rax, qword [rsp + 0x68]
mov ecx, ecx
jmp 0x1400187c6
cmp ecx, 0xc0
jne 0x140019436
jmp 0x14001878d
mov rbp, qword [rsp + 0x68]
mov al, byte [rdx + rax]
mov byte [rbp + rcx], al
mov ebp, dword [rsp + 0x78]
inc ebp
mov dword [rsp + 0x78], ebp
mov r9d, dword [rsp + 0xf8]
mov rdx, qword [rsp + 0xf0]
jmp 0x14001a614
mov dword [rsp + 0x78], ecx
jmp 0x14001883d
mov byte [rsp + 0x8c], 0
mov ecx, ebp
jmp 0x14001883d
mov dword [rsp + 0x78], eax
jmp 0x140018769
and bl, 0xf8
cmp bl, 0xb8
jne 0x140019436
lea eax, [rcx + 5]
cmp ecx, dword [rsp + 0x80]
jne 0x14001a78b
mov dword [rsp + 0x80], eax
cmp qword [rsp + 0x58], 0
je 0x14001a973
cmp eax, dword [rsp + 0x88]
jbe 0x14001a9f3
mov byte [rsp + 0x8c], 0
jmp 0x14001aa16
add r9d, 2
mov rax, qword [rsp + 0xe8]
lea rcx, [rsp + 0x130]
mov qword [rcx], rax
add rdx, r9
mov qword [rcx + 8], rdx
mov dword [rcx + 0x10], 0
xor edx, edx
call fcn.140051320
mov esi, eax
mov ecx, dword [rsp + 0x78]
lea eax, [rcx + rsi]
inc eax
cmp ecx, dword [rsp + 0x80]
jne 0x14001a7f8
mov dword [rsp + 0x80], eax
inc esi
jmp 0x140019c8b
shr sil, 3
lea ecx, [r9 + 3]
lea rbp, [rdx + rcx]
add r9d, 7
mov eax, esi
mov dword [rsp + 0xf8], ecx
movsxd rcx, dword [rdx + rcx]
lea rdx, [rcx + rbp]
add rdx, 4
mov dword [rsp + 0xf8], r9d
and al, 7
je 0x14001a97c
cmp qword [rsp + 0x58], 0
je 0x14001ace6
mov ebp, dword [rsp + 0x88]
cmp r10d, ebp
jae 0x14001ad35
or sil, 0xb8
mov rcx, qword [rsp + 0x68]
mov ebp, r10d
mov byte [rcx + rbp], sil
mov r10d, dword [rsp + 0x78]
inc r10d
mov dword [rsp + 0x78], r10d
cmp qword [rsp + 0x58], 0
je 0x14001ace9
mov ebp, dword [rsp + 0x88]
jmp 0x14001ad3d
mov dword [rsp + 0x78], ecx
add eax, 8
jmp 0x1400186de
mov rcx, qword [rsp + 0x68]
mov ebp, r10d
mov rax, qword [rdx + rax]
mov qword [rcx + rbp], rax
add dword [rsp + 0x78], 8
mov eax, dword [rsp + 0xf8]
jmp 0x14001a889
mov dword [rsp + 0x78], ecx
add eax, 5
jmp 0x1400186de
mov rbp, r14
cmp eax, 0xe9
jne 0x14001ac83
movsxd rax, dword [rdi + 1]
lea rcx, [rdi + rax]
add rcx, 5
mov r14, rbp
jmp 0x1400180b4
lea eax, [rbp + 3]
cmp ebp, ecx
jne 0x14001a8eb
mov dword [rsp + 0x80], eax
cmp qword [rsp + 0x58], 0
je 0x14001ad15
cmp eax, dword [rsp + 0x88]
jbe 0x14001adcb
mov byte [rsp + 0x8c], 0
jmp 0x14001ad19
xor ebx, ebx
lea rsi, [rsp + 0x190]
mov rcx, rsi
call fcn.140051d30
mov rcx, qword [rsi - 0x40]
lea rax, [rsp + 0x168]
cmp rcx, rax
je 0x14001a93a
call qword [sym.imp.mozglue.dll_free]
test bl, bl
jne 0x140019436
mov ecx, dword [rsp + 0x78]
jmp 0x140018510
add rdx, rax
mov rax, qword [rsp + 0x68]
mov ecx, r10d
mov bl, byte [rdx + 4]
mov byte [rax + rcx + 4], bl
mov edx, dword [rdx]
mov dword [rax + rcx], edx
add dword [rsp + 0x78], 5
mov eax, dword [rsp + 0xf8]
jmp 0x14001a8b3
mov dword [rsp + 0x78], eax
jmp 0x14001aa16
cmp qword [rsp + 0x58], 0
je 0x14001a9c1
mov eax, dword [rsp + 0x88]
cmp r10d, eax
jae 0x14001af6c
mov rax, qword [rsp + 0x68]
mov ecx, r10d
mov byte [rax + rcx], 0xa1
mov r10d, dword [rsp + 0x78]
inc r10d
mov dword [rsp + 0x78], r10d
cmp qword [rsp + 0x58], 0
je 0x14001a9c4
mov eax, dword [rsp + 0x88]
jmp 0x14001af74
inc r10d
add r10d, 8
mov dword [rsp + 0x78], r10d
jmp 0x1400186e5
mov byte [rsp + 0x8c], 0
lea ebx, [r10 + 8]
cmp ebx, ebp
jbe 0x14001ac62
mov byte [rsp + 0x8c], 0
jmp 0x1400186e5
add rdx, r9
mov rax, qword [rsp + 0x68]
mov ecx, ecx
mov bl, byte [rdx + 4]
mov byte [rax + rcx + 4], bl
mov edx, dword [rdx]
mov dword [rax + rcx], edx
add dword [rsp + 0x78], 5
mov r9d, dword [rsp + 0xf8]
add r9d, 5
jmp 0x14001876c
mov dword [rsp + 0x78], ecx
jmp 0x140019676
mov byte [rsp + 0x8c], 0
jmp 0x140019676
cmp byte [rdx + rax + 1], 0x3d
jne 0x140019436
add r9d, 2
mov dword [rsp + 0xf8], r9d
mov rcx, qword [rsp + 0x58]
mov eax, dword [rsp + 0x78]
test rcx, rcx
je 0x14001af91
mov edx, dword [rsp + 0x88]
cmp eax, edx
jae 0x14001b0d6
mov rcx, qword [rsp + 0x68]
mov byte [rcx + rax], 0x49
mov eax, dword [rsp + 0x78]
inc eax
mov dword [rsp + 0x78], eax
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14001af93
mov edx, dword [rsp + 0x88]
jmp 0x14001b0de
cmp byte [rdx + rax + 1], 0x48
jne 0x140019436
mov cl, byte [rdx + rax + 2]
and cl, 0xfc
cmp cl, 0x88
jne 0x140019436
mov ecx, dword [rsp + 0x78]
lea ebp, [rcx + 3]
cmp ecx, dword [rsp + 0x80]
jne 0x14001aacc
mov dword [rsp + 0x80], ebp
cmp qword [rsp + 0x58], 0
je 0x14001b09e
cmp ebp, dword [rsp + 0x88]
jbe 0x14001b174
mov byte [rsp + 0x8c], 0
jmp 0x14001b0a2
lea rbp, [0x1400533c0]
mov r8d, dword [rbp + rcx*4 - 0x1cc]
movzx eax, byte [rdx + rax + 1]
add r9d, 2
mov dword [rsp + 0xf8], r9d
add r9, rdx
add r9, rax
lea rcx, [rsp + 0x58]
mov rdx, r9
jmp 0x14001a0b3
mov dword [rsp + 0x78], ebp
jmp 0x1400197fa
cmp ecx, 0xc6
jne 0x14001ae4e
mov rbp, qword [rsp + 0xe8]
lea rcx, [rsp + 0x130]
mov qword [rcx], rbp
add rax, rdx
inc rax
mov qword [rcx + 8], rax
mov dword [rcx + 0x10], 0
xor edx, edx
call fcn.140051320
test eax, eax
js 0x140019436
mov esi, eax
mov ecx, dword [rsp + 0x78]
lea eax, [rcx + rsi]
add eax, 2
cmp ecx, dword [rsp + 0x80]
jne 0x14001ab89
mov dword [rsp + 0x80], eax
add esi, 2
jmp 0x140019c8b
and bpl, 0xc7
cmp bpl, 5
jne 0x14001aeac
cmp cl, 2
jne 0x14001aeac
lea eax, [r9 + 2]
mov dword [rsp + 0xf8], eax
lea rcx, [rdx + rax]
movsxd rax, dword [rdx + rax]
add r9d, 6
mov dword [rsp + 0xf8], r9d
mov rdx, qword [rax + rcx + 4]
lea rcx, [rsp + 0x58]
mov r8d, 4
jmp 0x14001a0b3
cmp ecx, 4
jne 0x14001aeed
mov rbp, qword [rsp + 0xe8]
lea rcx, [rsp + 0x130]
mov qword [rcx], rbp
add rax, rdx
inc rax
mov qword [rcx + 8], rax
mov dword [rcx + 0x10], 0
xor edx, edx
call fcn.140051320
test eax, eax
js 0x140019436
mov esi, eax
mov ecx, dword [rsp + 0x78]
lea eax, [rcx + rsi]
inc eax
cmp ecx, dword [rsp + 0x80]
jne 0x14001ac33
mov dword [rsp + 0x80], eax
inc esi
mov edx, dword [rsp + 0xf8]
cmp qword [rsp + 0x58], 0
je 0x14001b19c
cmp eax, dword [rsp + 0x88]
jbe 0x14001b2fb
mov byte [rsp + 0x8c], 0
jmp 0x14001b1a0
add rdx, rax
lea rax, [rcx + rdx]
add rax, 4
mov rcx, qword [rsp + 0x68]
mov edx, r10d
mov qword [rcx + rdx], rax
add dword [rsp + 0x78], 8
jmp 0x1400186e5
mov rcx, rdi
cmp eax, 0xeb
mov r14, rbp
jne 0x1400180b4
movsx rax, byte [rdi + 1]
lea rbx, [rdi + rax]
add rbx, 2
mov eax, ebx
sub eax, edi
shl eax, 0x18
add eax, 0xfe000000
mov edx, eax
sar edx, 0x18
test eax, eax
js 0x14001b359
mov rcx, rdi
mov r14, rbp
je 0x1400180b4
xor eax, eax
lea ecx, [rax + 2]
cmp byte [rdi + rcx], 0x90
jne 0x14001b40d
inc al
movsx eax, al
cmp edx, eax
jg 0x14001acc8
mov rcx, rbx
jmp 0x14001a8d5
inc r10d
add r10d, 8
inc r10d
inc r10d
inc r10d
jmp 0x14001a9c8
mov dword [rsp + 0x78], eax
add r9d, 2
jmp 0x140019c57
mov dword [rsp + 0x78], eax
add r9d, 4
jmp 0x14001876c
mov dword [rsp + 0x78], eax
add r9d, 3
jmp 0x14001876c
mov dword [rsp + 0x78], ecx
mov rax, qword [rsp + 0x38]
mov qword [rax], rdi
mov bl, 1
jmp 0x14001a913
mov byte [rsp + 0x8c], 0
lea ecx, [r10 + 8]
cmp ecx, ebp
jbe 0x14001ae1c
mov byte [rsp + 0x8c], 0
cmp r10d, ebp
jae 0x14001af2a
mov rcx, qword [rsp + 0x68]
mov edx, r10d
mov byte [rcx + rdx], 0x48
mov r10d, dword [rsp + 0x78]
inc r10d
mov dword [rsp + 0x78], r10d
cmp qword [rsp + 0x58], 0
je 0x14001acf0
mov ebp, dword [rsp + 0x88]
jmp 0x14001af32
mov rax, qword [rsp + 0x68]
mov ecx, ebp
movzx edx, word [rdx + r9]
mov word [rax + rcx], dx
add dword [rsp + 0x78], 2
mov r9d, dword [rsp + 0xf8]
jmp 0x14001acff
mov rax, qword [rsp + 0x68]
mov ecx, ebp
mov edx, dword [rdx]
mov dword [rax + rcx], edx
add dword [rsp + 0x78], 4
mov r9d, dword [rsp + 0xf8]
jmp 0x14001ad0c
mov rax, qword [rsp + 0x68]
mov ecx, ebp
mov bl, byte [rdx + 2]
mov byte [rax + rcx + 2], bl
movzx edx, word [rdx]
mov word [rax + rcx], dx
add dword [rsp + 0x78], 3
mov r9d, dword [rsp + 0xf8]
jmp 0x14001ad19
mov rcx, qword [rsp + 0x68]
mov qword [rcx + rax], rdi
add dword [rsp + 0x78], 8
cmp qword [rsp + 0x58], 0
je 0x14001ad26
cmp byte [rsp + 0x8c], 0
setne al
jmp 0x14001a4e4
mov rcx, qword [rsp + 0x68]
mov ebp, r10d
mov qword [rcx + rbp], rdx
mov r10d, dword [rsp + 0x78]
add r10d, 8
mov dword [rsp + 0x78], r10d
cmp qword [rsp + 0x58], 0
je 0x14001aced
mov ebp, dword [rsp + 0x88]
jmp 0x14001ad51
cmp ecx, 0x83
jne 0x140019436
mov cl, byte [rdx + rax + 1]
and cl, 0xf8
cmp cl, 0x60
jne 0x140019436
mov ecx, dword [rsp + 0x78]
lea ebp, [rcx + 5]
cmp ecx, dword [rsp + 0x80]
jne 0x14001ae81
mov dword [rsp + 0x80], ebp
cmp qword [rsp + 0x58], 0
je 0x14001aea3
cmp ebp, dword [rsp + 0x88]
ja 0x14001a7a4
add rdx, rax
mov rax, qword [rsp + 0x68]
jmp 0x14001a9fd
mov dword [rsp + 0x78], ebp
jmp 0x14001aa16
cmp cl, 4
jne 0x140019436
cmp bpl, 5
jne 0x14001abe5
lea eax, [r9 + 2]
mov dword [rsp + 0xf8], eax
lea rcx, [rdx + rax]
movsxd rax, dword [rdx + rax]
add r9d, 6
mov dword [rsp + 0xf8], r9d
mov rdx, qword [rax + rcx + 4]
lea rcx, [rsp + 0x58]
jmp 0x14001a43d
cmp ecx, 2
ja 0x140019436
jmp 0x1400197af
lea rcx, [rsp + 0xd0]
call fcn.1400512d0
test al, al
je 0x140019436
mov r9d, dword [rsp + 0xf8]
mov r13b, 1
cmp r9d, 9
ja 0x140018d15
jmp 0x140019436
mov byte [rsp + 0x8c], 0
cmp r10d, ebp
jae 0x14001b0ab
mov rcx, qword [rsp + 0x68]
mov edx, r10d
mov byte [rcx + rdx], 0x8b
mov r10d, dword [rsp + 0x78]
inc r10d
mov dword [rsp + 0x78], r10d
cmp qword [rsp + 0x58], 0
je 0x14001acf3
mov ebp, dword [rsp + 0x88]
jmp 0x14001b0b3
mov byte [rsp + 0x8c], 0
lea ecx, [r10 + 8]
cmp ecx, eax
ja 0x14001a9e6
mov rax, qword [rsp + 0x68]
mov ecx, r10d
mov qword [rax + rcx], rdx
jmp 0x14001ac79
inc eax
inc eax
mov dword [rsp + 0x78], eax
xor ecx, ecx
mov edx, dword [rsp + 0xf8]
mov rdi, qword [rsp + 0xf0]
movsxd rsi, dword [rdi + rdx]
lea ebp, [rdx + 4]
mov dword [rsp + 0xf8], ebp
test rcx, rcx
je 0x14001aff5
mov ecx, dword [rsp + 0x88]
cmp eax, ecx
jae 0x14001b105
mov rcx, qword [rsp + 0x68]
mov eax, eax
mov byte [rcx + rax], 0x49
mov eax, dword [rsp + 0x78]
inc eax
mov dword [rsp + 0x78], eax
cmp qword [rsp + 0x58], 0
je 0x14001aff7
mov ecx, dword [rsp + 0x88]
jmp 0x14001b10d
inc eax
inc eax
add eax, 8
inc eax
inc eax
inc eax
mov dword [rsp + 0x78], eax
mov rbp, qword [rsp + 0xf0]
mov edx, dword [rsp + 0xf8]
lea ecx, [rax + 1]
cmp eax, dword [rsp + 0x80]
jne 0x14001b028
mov dword [rsp + 0x80], ecx
cmp qword [rsp + 0x58], 0
je 0x14001b086
cmp ecx, dword [rsp + 0x88]
jbe 0x14001b142
mov byte [rsp + 0x8c], 0
inc edx
mov dword [rsp + 0xf8], edx
mov ecx, dword [rsp + 0x88]
cmp eax, ecx
jae 0x14001b282
mov rcx, qword [rsp + 0x68]
mov eax, eax
mov byte [rcx + rax], 0x49
mov eax, dword [rsp + 0x78]
inc eax
mov dword [rsp + 0x78], eax
cmp qword [rsp + 0x58], 0
je 0x14001b093
mov ecx, dword [rsp + 0x88]
jmp 0x14001b28a
inc edx
mov dword [rsp + 0xf8], edx
inc ecx
mov eax, ecx
inc eax
mov dword [rsp + 0x78], eax
jmp 0x1400186e5
mov dword [rsp + 0x78], ebp
add r9d, 3
jmp 0x140019c57
mov byte [rsp + 0x8c], 0
cmp r10d, ebp
jae 0x14001a9e6
movzx eax, al
lea eax, [rax + rax*8]
mov rcx, qword [rsp + 0x68]
mov edx, r10d
mov byte [rcx + rdx], al
inc dword [rsp + 0x78]
jmp 0x1400186e5
mov byte [rsp + 0x8c], 0
cmp eax, edx
jae 0x14001b2a2
mov rcx, qword [rsp + 0x68]
mov eax, eax
mov byte [rcx + rax], 0x53
mov eax, dword [rsp + 0x78]
inc eax
mov dword [rsp + 0x78], eax
mov rcx, qword [rsp + 0x58]
jmp 0x14001af9b
mov byte [rsp + 0x8c], 0
cmp eax, ecx
jae 0x14001b2af
mov rcx, qword [rsp + 0x68]
mov eax, eax
mov byte [rcx + rax], 0xbb
mov eax, dword [rsp + 0x78]
inc eax
mov dword [rsp + 0x78], eax
cmp qword [rsp + 0x58], 0
je 0x14001aff9
mov ecx, dword [rsp + 0x88]
jmp 0x14001b2b7
mov rcx, qword [rsp + 0x68]
mov eax, eax
mov dl, byte [rbp + rdx]
mov byte [rcx + rax], dl
mov ecx, dword [rsp + 0x78]
inc ecx
inc dword [rsp + 0xf8]
mov dword [rsp + 0x78], ecx
cmp qword [rsp + 0x58], 0
mov eax, ecx
jne 0x14001b04e
jmp 0x14001b08f
add rdx, rax
mov rax, qword [rsp + 0x68]
mov bl, byte [rdx + 2]
mov byte [rax + rcx + 2], bl
movzx edx, word [rdx]
mov word [rax + rcx], dx
add dword [rsp + 0x78], 3
mov r9d, dword [rsp + 0xf8]
jmp 0x14001b0a2
mov dword [rsp + 0x78], eax
add edx, esi
mov dword [rsp + 0xf8], edx
mov r14b, 1
jmp 0x1400186e5
mov rbp, qword [rsp + 0xe8]
lea rcx, [rsp + 0x130]
mov qword [rcx], rbp
add rax, rdx
inc rax
mov qword [rcx + 8], rax
mov dword [rcx + 0x10], 0
xor edx, edx
call fcn.140051320
test eax, eax
jns 0x14001a7dd
jmp 0x140019436
xor r14d, r14d
cmp cl, 0xe9
sete r14b
lea rcx, [rax + 1]
mov dword [rsp + 0xf8], ecx
mov r8d, 4
sub r8d, r14d
lea rcx, [rdx + rax]
inc rcx
movsxd rax, dword [rdx + rax + 1]
lea rdx, [rax + rcx]
add rdx, 4
add r9d, 5
mov dword [rsp + 0xf8], r9d
lea rcx, [rsp + 0x58]
jmp 0x14001a0b3
lea rdi, [rsp + 0x100]
mov byte [rdi], 0
mov rbp, qword [rsp + 0xe8]
lea rcx, [rsp + 0x130]
mov qword [rcx], rbp
lea rax, [rax + rdx + 1]
mov qword [rcx + 8], rax
mov dword [rcx + 0x10], 0
mov rdx, rdi
call fcn.140051320
test eax, eax
js 0x140019436
cmp byte [rsp + 0x100], 0
je 0x14001ab6d
jmp 0x140019436
mov byte [rsp + 0x8c], 0
cmp eax, ecx
jae 0x14001a9e6
mov rcx, qword [rsp + 0x68]
mov eax, eax
mov byte [rcx + rax], 0x5b
jmp 0x14001b0cd
mov byte [rsp + 0x8c], 0
jmp 0x14001af9b
mov byte [rsp + 0x8c], 0
lea ebp, [rax + 8]
cmp ebp, ecx
jbe 0x14001b320
mov byte [rsp + 0x8c], 0
cmp eax, ecx
jae 0x14001b3aa
mov rcx, qword [rsp + 0x68]
mov eax, eax
mov byte [rcx + rax], 0x41
mov eax, dword [rsp + 0x78]
inc eax
mov dword [rsp + 0x78], eax
cmp qword [rsp + 0x58], 0
je 0x14001affe
mov ecx, dword [rsp + 0x88]
jmp 0x14001b3b2
add rdx, qword [rsp + 0xf0]
mov r8d, esi
add rcx, qword [rsp + 0x68]
call sub.ntdll.dll_memcpy
add dword [rsp + 0x78], esi
mov edx, dword [rsp + 0xf8]
jmp 0x14001b1a0
add rdi, rdx
lea rcx, [rsi + rdi]
add rcx, 4
mov rdx, qword [rsp + 0x68]
mov eax, eax
mov qword [rdx + rax], rcx
mov eax, dword [rsp + 0x78]
add eax, 8
mov dword [rsp + 0x78], eax
cmp qword [rsp + 0x58], 0
je 0x14001affc
mov ecx, dword [rsp + 0x88]
jmp 0x14001b2c6
add dl, 2
lea rcx, [rsp + 0x130]
call fcn.140051200
mov rcx, rdi
test al, al
mov r14, rbp
je 0x1400180b4
lea rcx, [rsp + 0xe8]
mov qword [rcx], r13
mov qword [rcx + 8], rbx
mov dword [rcx + 0x10], 0
lea rdx, [rsp + 0x90]
call fcn.14002e170
mov rcx, rdi
test al, al
je 0x1400180b4
jmp 0x1400180dd
mov byte [rsp + 0x8c], 0
cmp eax, ecx
jae 0x14001b3e0
mov rcx, qword [rsp + 0x68]
mov eax, eax
mov byte [rcx + rax], 0x80
mov eax, dword [rsp + 0x78]
inc eax
mov dword [rsp + 0x78], eax
cmp qword [rsp + 0x58], 0
je 0x14001b000
mov ecx, dword [rsp + 0x88]
jmp 0x14001b3e8
mov byte [rsp + 0x8c], 0
cmp eax, ecx
jae 0x14001b400
mov rcx, qword [rsp + 0x68]
mov eax, eax
mov byte [rcx + rax], 0x3b
mov eax, dword [rsp + 0x78]
jmp 0x14001b000
mov byte [rsp + 0x8c], 0
jmp 0x14001b006
mov rcx, rdi
jmp 0x14001a8d5
mov dword [rsp + 0x78], ebp
jmp 0x14001ad19
mov byte [rsp + 0x188], 0
mov rax, qword [rsp + 0x158]
jmp 0x14001921e
mov byte [rsp + 0x188], 0
mov rax, qword [rsp + 0x158]
jmp 0x140019252
mov byte [rsp + 0x188], 0
mov rax, qword [rsp + 0x158]
jmp 0x140019291
mov byte [rsp + 0x188], 0
mov rax, qword [rsp + 0x158]
jmp 0x1400192c5
mov byte [rsp + 0x188], 0
mov rax, qword [rsp + 0x158]
jmp 0x1400192f9
mov byte [rsp + 0x188], 0
jmp 0x140019322
mov dword [rsp + 0x78], edx
jmp 0x140019445
mov byte [rsp + 0x8c], 0
jmp 0x140019445