Function at 0x140004870
Capabilities:
Check for software breakpoints
Get system information on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x148
mov rsi, r9
mov rdi, r8
mov rbx, rdx
mov r15, rcx
mov rcx, qword [rsp + 0x1b8]
mov rax, qword [0x140062030]
xor rax, rsp
mov qword [rsp + 0x140], rax
mov qword [rcx], 0
cmp qword [r9], 0
je 0x1400048e0
cmp qword [rsi + 0x10], 0
je 0x140006f23
cmp qword [rsi + 0x18], 0
je 0x140006f23
cmp dword [rsi + 8], 0
je 0x140006f23
cmp byte [rsi + 0x34], 0
je 0x140006f23
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_EncodePointer]
lea r8, [rsi + 0x20]
mov ecx, dword [rsi + 0x20]
lea edx, [rcx + 8]
cmp qword [rsi], 0
je 0x140005b78
cmp edx, dword [rsi + 0x30]
ja 0x140005b80
mov rdx, qword [rsi + 0x10]
mov qword [rdx + rcx], rax
add dword [rsi + 0x20], 8
cmp qword [rsi], 0
je 0x140004943
mov al, byte [rsi + 0x34]
cmp qword [rsi + 0x10], 0
je 0x140006f23
cmp qword [rsi + 0x18], 0
je 0x140006f23
cmp dword [rsi + 8], 0
je 0x140006f23
test al, al
je 0x140006f23
mov qword [rsp + 0x20], r8
mov ecx, dword [rbx + 0x10]
add rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_EncodePointer]
mov edx, dword [rsi + 0x20]
lea ecx, [rdx + 8]
cmp qword [rsi], 0
mov qword [rsp + 0x58], rdi
je 0x140005b8b
cmp ecx, dword [rsi + 0x30]
ja 0x140005b98
mov rcx, qword [rsi + 0x10]
mov qword [rcx + rdx], rax
mov ecx, dword [rsi + 0x20]
add ecx, 8
mov dword [rsi + 0x20], ecx
cmp qword [rsi], 0
mov r10, qword [rsp + 0x20]
je 0x1400049ba
mov al, byte [rsi + 0x34]
cmp qword [rsi + 0x10], 0
je 0x140006f15
cmp qword [rsi + 0x18], 0
je 0x140006f15
cmp dword [rsi + 8], 0
je 0x140006f15
test al, al
je 0x140006f15
lea rdi, [rbx + 8]
mov qword [rsp + 0x60], rbx
add rbx, 0x10
mov eax, dword [rbx]
mov rdx, qword [rdi]
cmp byte [rdx + rax], 0x48
jne 0x1400049dd
cmp byte [rdx + rax + 1], 0xb8
je 0x140005db1
mov dword [rsi + 0x24], ecx
mov dword [rsi + 0x28], ecx
cmp byte [r15 + 0x1c], 0
je 0x140005baa
lea r11, [rsi + 0x28]
mov eax, dword [r15 + 0x18]
and eax, 2
mov ecx, eax
shr ecx, 1
mov dword [rsp + 0x54], ecx
xor ecx, ecx
test eax, eax
sete cl
lea r13d, [rcx + rcx*2]
add r13d, 0xa
mov r12d, dword [rbx]
cmp r12d, r13d
mov qword [rsp + 0x28], r11
jae 0x140004ee8
lea r14, [rsi + 0x30]
lea rax, [rsi + 0x10]
mov qword [rsp + 0x48], rax
lea rax, [rsi + 0x34]
mov qword [rsp + 0x40], rax
mov eax, r13d
mov qword [rsp + 0x68], rax
xor ebp, ebp
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x3c], r13d
mov r15, qword [rdi]
mov eax, r12d
mov r12, rax
test bpl, 1
jne 0x140005587
movzx ecx, byte [r15 + rax]
cmp rcx, 0xf
je 0x1400055fc
mov edx, ecx
and dl, 0xfc
cmp dl, 0x88
je 0x140005634
lea edx, [rcx - 0x40]
cmp edx, 2
jb 0x140004d1f
cmp ecx, 0x44
je 0x140005673
cmp ecx, 0x45
je 0x1400056ab
mov edx, ecx
and dl, 0xfa
cmp dl, 0x48
je 0x140004b54
cmp cl, 0x66
je 0x1400056e3
mov edx, ecx
and dl, 0xf0
cmp dl, 0x50
je 0x140004bb6
cmp cl, 0x90
je 0x14000546c
cmp ecx, 0x80
je 0x1400059b3
cmp ecx, 0x65
je 0x140005a06
mov edx, ecx
and dl, 0xf8
cmp dl, 0xb8
je 0x140005a5b
cmp ecx, 0xd0
jle 0x140004caa
lea edx, [rcx - 0xe8]
cmp edx, 2
jae 0x140004e85
xor ebp, ebp
cmp cl, 0xe9
sete bpl
lea rcx, [rax + 1]
mov dword [rbx], ecx
mov r8d, 4
sub r8d, ebp
lea rcx, [r15 + rax]
inc rcx
movsxd rdx, dword [r15 + rax + 1]
add rdx, rcx
add rdx, 4
add eax, 5
mov dword [rbx], eax
mov rcx, rsi
call fcn.140007350
mov r11, qword [rsp + 0x28]
mov r10, qword [rsp + 0x20]
test al, al
jne 0x140004beb
jmp 0x140006f15
mov ecx, dword [r10]
lea edx, [rcx + 1]
cmp ecx, dword [r11]
jne 0x140004b62
mov dword [r11], edx
cmp qword [rsi], 0
je 0x14000571b
cmp edx, dword [r14]
ja 0x140005723
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov al, byte [r15 + rax]
mov byte [rdx + rcx], al
inc dword [r10]
mov ecx, dword [rbx]
lea r12d, [rcx + 1]
mov dword [rbx], r12d
mov r15, qword [rdi]
movzx eax, byte [r15 + r12]
cmp eax, 0x82
jle 0x140004bfc
cmp eax, 0x83
je 0x140004da6
cmp eax, 0x85
jne 0x140004c10
jmp 0x140005aca
mov ecx, dword [r10]
lea edx, [rcx + 1]
cmp ecx, dword [r11]
jne 0x140004bc4
mov dword [r11], edx
cmp qword [rsi], 0
je 0x140005b70
cmp edx, dword [r14]
ja 0x140005943
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov al, byte [r15 + rax]
mov byte [rdx + rcx], al
inc dword [r10]
inc dword [rbx]
mov r12d, dword [rbx]
cmp r12d, r13d
jb 0x140004a4b
jmp 0x140004eea
cmp eax, 0x81
je 0x140004e02
cmp eax, 0x2b
je 0x140005aca
mov edx, eax
and dl, 0xfd
cmp dl, 0x89
jne case.default.0x140004c47
lea edx, [rcx + 2]
movzx r9d, byte [r15 + rdx]
mov eax, 2
mov r14d, 1
mov r8, r9
shr r8, 6
lea r13, [0x14000714c]
sub eax, 0x250d
sub eax, 0x250d
movsxd r8, dword [r13 + r8*4]
add r8, r13
jmp r8
mov ecx, dword [r10]
lea eax, [rcx + r14]
inc eax
cmp ecx, dword [r11]
jne 0x140004c5b
mov dword [r11], eax
inc r14d
cmp qword [rsi], 0
mov r13d, dword [rsp + 0x3c]
je 0x140005b68
mov rdx, qword [rsp + 0x30]
cmp eax, dword [rdx]
ja 0x14000596b
add r15, r12
mov r8d, r14d
mov rax, qword [rsp + 0x48]
add rcx, qword [rax]
mov rdx, r15
call sub.ntdll.dll_memcpy
mov r10, qword [rsp + 0x20]
add dword [r10], r14d
add dword [rbx], r14d
mov r11, qword [rsp + 0x28]
mov r14, qword [rsp + 0x30]
jmp 0x140004beb
cmp ecx, 0x84
jle 0x1400053e1
cmp ecx, 0x85
jne case.default.0x140004ce8
movzx ecx, byte [rax + r15 + 1]
mov edx, 2
mov r14d, 1
mov r8, rcx
shr r8, 6
lea r9, [0x14000713c]
movsxd r8, dword [r9 + r8*4]
add r8, r9
jmp r8
mov ecx, dword [r10]
lea edx, [rcx + r14]
inc edx
cmp ecx, dword [r11]
jne 0x140004cfc
mov dword [r11], edx
inc r14d
cmp qword [rsi], 0
je 0x140006259
mov r8, qword [rsp + 0x30]
cmp edx, dword [r8]
ja 0x14000596b
add r15, rax
jmp 0x140004c7d
mov ecx, dword [r10]
lea edx, [rcx + 1]
cmp ecx, dword [r11]
jne 0x140004d2d
mov dword [r11], edx
cmp qword [rsi], 0
je 0x140005f72
cmp edx, dword [r14]
ja 0x140005f7a
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov al, byte [r15 + rax]
mov byte [rdx + rcx], al
inc dword [r10]
mov ecx, dword [rbx]
inc ecx
mov dword [rbx], ecx
mov rax, qword [rdi]
movzx edx, byte [rax + rcx]
mov r8d, edx
and r8b, 0xf0
cmp r8b, 0x50
jne 0x140005f87
mov edx, dword [r10]
lea r8d, [rdx + 1]
cmp edx, dword [r11]
jne 0x140004d7f
mov dword [r11], r8d
cmp qword [rsi], 0
je 0x140005feb
cmp r8d, dword [r14]
ja 0x140005943
mov r8, qword [rsp + 0x48]
mov r8, qword [r8]
mov al, byte [rax + rcx]
mov byte [r8 + rdx], al
jmp 0x140004be6
movzx eax, byte [r15 + r12 + 1]
and eax, 0xfffffff8
cmp eax, 0xe8
jne 0x14000607c
mov eax, dword [r10]
lea ecx, [rax + 3]
cmp eax, dword [r11]
jne 0x140004dc8
mov dword [r11], ecx
cmp qword [rsi], 0
je 0x1400060d4
cmp ecx, dword [r14]
ja 0x1400060dc
add r15, r12
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
mov dl, byte [r15 + 2]
mov byte [rcx + rax + 2], dl
movzx edx, word [r15]
mov word [rcx + rax], dx
add dword [r10], 3
add dword [rbx], 3
jmp 0x140004beb
mov al, byte [r15 + r12 + 1]
and al, 0xf8
cmp al, 0xe8
jne 0x140006f15
mov eax, dword [r10]
lea ecx, [rax + 6]
cmp eax, dword [r11]
jne 0x140004e1f
mov dword [r11], ecx
cmp qword [rsi], 0
je 0x140006238
cmp ecx, dword [r14]
ja 0x140006240
add r15, r12
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
movzx edx, word [r15 + 4]
mov word [rcx + rax + 4], dx
mov edx, dword [r15]
invalid
mov dword [rcx + rax], edx
add dword [r10], 6
invalid
add dword [rbx], 6
jmp 0x140004beb
and r9b, 7
xor r14d, r14d
cmp r9b, 4
sete r14b
add r14d, eax
jmp case.0x140004c47.3
and cl, 7
xor r14d, r14d
cmp cl, 4
sete r14b
add r14d, edx
jmp case.0x140004ce8.3
cmp ecx, 0xd1
je 0x14000679b
cmp ecx, 0xf6
je 0x1400067e8
lea edx, [rcx - 0x73]
cmp dl, 2
ja 0x1400064ea
lea rdx, [0x140056b68]
mov r8d, dword [rdx + rcx*4 - 0x1cc]
movzx ecx, byte [r15 + rax + 1]
lea edx, [rax + 2]
mov dword [rbx], edx
add rdx, r15
add rdx, rcx
mov rcx, rsi
call fcn.140007350
test al, al
mov r10, qword [rsp + 0x20]
mov r11, qword [rsp + 0x28]
jne 0x140004beb
jmp 0x140006f15
xor ebp, ebp
cmp r12d, 0x64
ja 0x140006f15
test bpl, 1
jne 0x140004f16
mov edx, r12d
add rdx, qword [rdi]
mov rcx, rsi
mov r8d, 3
call fcn.140007350
test al, al
je 0x140006f15
cmp byte [rsi + 0x34], 0
je 0x140006f15
cmp qword [rsi], 0
je 0x140006f15
mov eax, dword [rsi + 0x20]
mov ecx, dword [rsi + 0x24]
mov dword [rsi + 0x2c], eax
add rcx, qword [rsi + 0x18]
mov qword [rsp + 0x48], rcx
je 0x140006f15
mov r14d, dword [rbx]
mov r13, qword [rdi]
lea rdx, [rsp + 0xa0]
mov qword [rdx], 0
mov rcx, r13
xor r8d, r8d
call qword [sym.imp.ntdll.dll_RtlLookupFunctionEntry]
test rax, rax
je 0x140005204
mov rcx, qword [rsp + 0xa0]
mov r15d, dword [rax]
add r15d, ecx
mov eax, dword [rax + 8]
lea rbp, [rcx + rax]
movzx eax, byte [rcx + rax + 2]
lea rdi, [rax + rax]
add rdi, 4
mov rcx, rdi
call qword [sym.imp.mozglue.dll_moz_xmalloc]
mov r12, rax
mov rcx, rax
mov rdx, rbp
mov r8, rdi
call sub.ntdll.dll_memcpy
cmp r13d, r15d
jne 0x1400051fb
movzx eax, byte [r12 + 2]
test eax, eax
mov r11, qword [rsp + 0x28]
je case.default.0x140004fee
movzx edx, byte [r12 + 5]
mov r8d, edx
and r8d, 0xf
cmp r8d, 0xa
ja case.default.0x140004fee
mov r9b, 1
mov cl, 3
lea r10, [0x14000715c]
lea edx, [0x14000715c]
lea edx, [0x14000715c]
movsxd r8, dword [r10 + r8*4]
add r8, r10
jmp r8
mov ecx, dword [r11]
mov r8b, byte [r12 + 1]
cmp ecx, r14d
jae 0x14000500a
movzx edx, r8b
cmp ecx, edx
jb 0x1400051fb
lea rcx, [r12 + 1]
xor edx, edx
lea r10, [0x140007188]
add dword [rcx], esi
ror byte [rbp + rcx*4 + 0x15], cl
jo 0x140005037
add byte [rax], al
movzx r11d, dl
movzx r11d, byte [r12 + r11*2 + 4]
mov dh, 0x5c
pop rsp
add al, 0x45
cmp esi, ebx
mov dh, 0x5c
pop rsp
add al, 0x45
cmp esi, ebx
jae 0x140005075
add dl, r9b
cmp dl, al
jae case.default.0x140005057
movzx r11d, dl
movzx ebp, byte [r12 + r11*2 + 5]
movzx ebp, byte [rsp + rbx*2 + 5]
mov r13d, ebp
and r13d, 0xf
cmp r13d, 0xa
ja case.default.0x140005057
mov dil, 3
movsxd r15, dword [r10 + r13*4]
add r15, r10
jmp r15
mov ebp, eax
sub ebp, r11d
movzx r11d, dil
movzx r9d, r9b
cmp ebp, r11d
cmovge r9d, r11d
jge 0x140005018
jmp case.default.0x140005057
sub al, dl
mov r10b, byte [r12]
test r10b, 0x20
jne 0x1400051fb
mov edi, dword [rsi + 0x20]
mov r9d, dword [rsi + 0x30]
add edi, 3
and edi, 0xfffffffc
cmp edi, r9d
ja 0x14000557e
mov dword [rsi + 0x20], edi
cmp byte [rsi + 0x34], 0
je 0x1400051fb
and r10b, 0xc7
mov byte [r12], r10b
mov byte [r12 + 2], al
movzx r8d, r8b
cmp r14d, r8d
jae 0x1400050c1
mov byte [rcx], r14b
cmp qword [rsi], 0
je 0x140005c02
lea rcx, [rdi + 4]
cmp rcx, r9
ja 0x14000557e
mov rcx, qword [rsi + 0x10]
mov r8d, dword [r12]
mov dword [rcx + rdi], r8d
mov ecx, dword [rsi + 0x20]
add ecx, 4
cmp byte [rsi + 0x34], 0
mov dword [rsi + 0x20], ecx
je 0x1400051fb
movzx r13d, al
add r13, r13
cmp qword [rsi], 0
je 0x140005c0c
mov ecx, ecx
lea rax, [rcx + r13]
mov r8d, dword [rsi + 0x30]
cmp rax, r8
ja 0x14000557e
movzx eax, dl
lea rdx, [r12 + rax*2]
add rdx, 4
add rcx, qword [rsi + 0x10]
mov r8, r13
call sub.ntdll.dll_memcpy
add r13d, dword [rsi + 0x20]
cmp byte [rsi + 0x34], 0
mov dword [rsi + 0x20], r13d
je 0x1400051fb
add r13d, 3
and r13d, 0xfffffffc
mov ecx, dword [rsi + 0x30]
cmp r13d, ecx
ja 0x14000557e
mov dword [rsi + 0x20], r13d
lea eax, [r13 + 4]
cmp qword [rsi], 0
je 0x140005730
cmp eax, ecx
ja 0x14000557e
mov eax, dword [rsi + 0x24]
mov rcx, qword [rsi + 0x10]
mov dword [rcx + r13], eax
mov ecx, dword [rsi + 0x20]
lea eax, [rcx + 4]
cmp byte [rsi + 0x34], 0
mov dword [rsi + 0x20], eax
je 0x1400051fb
cmp qword [rsi], 0
je 0x140005730
add ecx, 8
cmp ecx, dword [rsi + 0x30]
ja 0x14000557e
mov ecx, dword [rsi + 0x2c]
mov rdx, qword [rsi + 0x10]
mov eax, eax
mov dword [rdx + rax], ecx
mov ecx, dword [rsi + 0x20]
lea eax, [rcx + 4]
cmp byte [rsi + 0x34], 0
mov dword [rsi + 0x20], eax
je 0x1400051fb
cmp qword [rsi], 0
je 0x14000573a
add ecx, 8
cmp ecx, dword [rsi + 0x30]
ja 0x14000557e
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov dword [rcx + rax], edi
add dword [rsi + 0x20], 4
cmp byte [rsi + 0x34], 0
je 0x1400051fb
mov r8, qword [rsi + 0x18]
add r13, r8
mov rcx, r13
mov edx, 1
call qword [sym.imp.ntdll.dll_RtlAddFunctionTable]
mov rcx, r12
call qword [sym.imp.mozglue.dll_free]
mov r9d, dword [rbx]
test r9, r9
je 0x140005c1c
mov rax, qword [rsp + 0x60]
mov rdx, qword [rax]
mov r8, qword [rax + 8]
lea r12, [rsp + 0xd8]
mov qword [r12 - 0x38], rdx
mov qword [r12 - 0x30], r8
mov qword [r12 - 0x28], r9
xor ebx, ebx
mov qword [r12 - 0x20], rbx
mov qword [r12 - 0x10], rbx
mov qword [r12 - 8], 0x20
mov qword [r12 - 0x18], r12
mov byte [r12 + 0x20], 1
lea rdi, [rsp + 0x100]
mov rcx, rdi
call fcn.1400071c0
cmp qword [rdi + 0x10], rbx
je 0x140006fd5
cmp byte [rsp + 0xf8], 0
je 0x140006fd5
cmp byte [rsp + 0x54], 0
jne 0x140005c27
lea rdi, [rsp + 0xc0]
mov rax, qword [rdi + 8]
cmp rax, qword [rdi + 0x10]
je 0x140005c53
mov rcx, qword [rsp + 0xc0]
mov byte [rcx + rax], 0x49
mov rax, qword [rsp + 0xc8]
inc rax
mov qword [rsp + 0xc8], rax
inc dword [rsp + 0xb8]
cmp rax, qword [rsp + 0xd0]
je 0x140005c75
mov rcx, qword [rsp + 0xc0]
mov byte [rcx + rax], 0xbb
mov rax, qword [rsp + 0xc8]
inc rax
mov qword [rsp + 0xc8], rax
inc dword [rsp + 0xb8]
lea rcx, [rax + 8]
cmp rcx, qword [rsp + 0xd0]
ja 0x140005c97
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0x1b0]
mov qword [rcx + rax], rdx
mov rax, qword [rsp + 0xc8]
add rax, 8
mov qword [rsp + 0xc8], rax
add dword [rsp + 0xb8], 8
cmp rax, qword [rsp + 0xd0]
je 0x140005cb9
mov rcx, qword [rsp + 0xc0]
mov byte [rcx + rax], 0x41
mov rax, qword [rsp + 0xc8]
inc rax
mov qword [rsp + 0xc8], rax
inc dword [rsp + 0xb8]
cmp rax, qword [rsp + 0xd0]
je 0x140005cdb
mov rcx, qword [rsp + 0xc0]
mov byte [rcx + rax], 0xff
dec dword [rax - 0x75]
test byte [rax + rcx*8], ah
add byte [rax], al
add byte [rax - 1], cl
ror byte [rax - 0x77], 0x84
and al, 0xc8
enter 0, 0
dec dword [rax - 0x75]
test byte [rax + rcx*8], ah
add byte [rax], al
add byte [rax - 1], cl
ror byte [rax - 0x77], 0x84
and al, 0xc8
enter 0, 0
invalid
test byte [rax + rdi*4], ah
enter 0, 0
inc dword [rsp + 0xb8]
add byte [rax], al
add byte [rax + 0x3b], cl
test byte [rax + rdx*8], ah
add byte [rax], al
add byte [rdi], cl
test byte [rdi + 9], cl
add byte [rax], al
cmp rax, qword [rsp + 0xd0]
cmp eax, dword [rsp + 0xd0]
rol byte [rax], 1
add byte [rax], al
je 0x140005cfd
mov rcx, qword [rsp + 0xc0]
mov ecx, dword [rsp + 0xc0]
and al, 0xc0
add byte [rax], al
add dh, al
add al, 1
jrcxz 0x1400053a4
mov byte [rcx + rax], 0xe3
jmp 0x1400070c6
invalid
mov cl, 2
mov r9d, ecx
cmp al, cl
jae case.0x140004fee.0
jmp case.default.0x140004fee
mov dil, 1
jmp case.0x140005057.5
mov dil, 2
jmp case.0x140005057.5
cmp ecx, 0x33
je 0x1400067a7
cmp ecx, 0x83
jne 0x140004e9d
mov cl, byte [r15 + rax + 1]
cmp cl, 0xc0
jb 0x140006510
mov rcx, qword [rsp + 0x20]
mov ecx, dword [rcx]
lea edx, [rcx + 3]
mov r8, qword [rsp + 0x28]
cmp ecx, dword [r8]
jne 0x140005420
mov r8, qword [rsp + 0x28]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x140006957
mov r8, qword [rsp + 0x30]
cmp edx, dword [r8]
ja 0x140006385
add r15, rax
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov dl, byte [r15 + 2]
mov byte [rax + rcx + 2], dl
movzx edx, word [r15]
mov word [rax + rcx], dx
jmp 0x140006554
cmp ecx, 0xc3
je 0x14000546c
cmp ecx, 0xcc
jne 0x140004e9d
mov ecx, dword [r10]
lea edx, [rcx + 1]
cmp ecx, dword [r11]
jne 0x14000547f
mov r8, qword [rsp + 0x28]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x140005f5a
mov r8, qword [rsp + 0x30]
cmp edx, dword [r8]
jbe 0x1400061e8
invalid
add byte [rax], al
or eax, 0x8b480000
and al, 0x40
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x1400061fe
mov r8d, r9d
and r8d, 7
cmp r8d, 5
jne 0x140006beb
shr r9b, 3
lea eax, [rcx + 3]
lea r8, [r15 + rax]
add ecx, 7
mov edx, r9d
mov dword [rbx], eax
movsxd rax, dword [r15 + rax]
add r8, rax
add r8, 4
mov dword [rbx], ecx
and dl, 7
mov r14, qword [rsp + 0x30]
mov r13d, dword [rsp + 0x3c]
jne 0x140006c14
cmp qword [rsi], 0
mov eax, dword [rsi + 0x20]
je 0x140006b1c
mov ecx, dword [r14]
cmp eax, ecx
jae 0x140006c5a
mov rcx, qword [rsi + 0x10]
mov byte [rcx + rax], 0xa1
mov eax, dword [rsi + 0x20]
inc eax
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
je 0x140006b1e
mov ecx, dword [r14]
lea edx, [rax + 8]
cmp edx, ecx
ja 0x140006c67
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
mov eax, eax
mov qword [rcx + rax], r8
add dword [r10], 8
jmp 0x140004beb
mov r8d, ecx
and r8d, 7
cmp r8d, 5
je 0x140006f15
mov edx, 1
cmp r8d, 4
jne case.0x140004ce8.1
mov dl, byte [r15 + rax + 2]
and dl, 7
xor r8d, r8d
cmp dl, 5
sete r8b
lea edx, [r8*4 + 1]
jmp case.0x140004ce8.1
mov byte [rsi + 0x34], 0
jmp 0x1400051fb
movzx ecx, byte [r15 + r12]
cmp ecx, 0xcc
je 0x14000559c
cmp ecx, 0x90
jne 0x1400055c6
inc r12
mov dword [rbx], r12d
cmp r12, qword [rsp + 0x68]
mov r10, qword [rsp + 0x20]
mov r11, qword [rsp + 0x28]
mov r14, qword [rsp + 0x30]
mov r13d, dword [rsp + 0x3c]
jb 0x140004a54
jmp 0x140004eea
cmp qword [rsp + 0x58], 0
je 0x140006f15
mov rcx, qword [rsp + 0x58]
call fcn.140051c10
test al, al
je 0x140006f15
mov r12d, dword [rbx]
mov al, 1
mov dword [rsp + 0x54], eax
cmp r12d, 9
ja 0x140004eea
jmp 0x140006f15
mov ecx, dword [r10]
lea edx, [rcx + 1]
cmp ecx, dword [r11]
jne 0x14000560f
mov r8, qword [rsp + 0x28]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x140005749
mov r8, qword [rsp + 0x30]
cmp edx, dword [r8]
jbe 0x140005950
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x140005750
mov ecx, dword [r10]
lea edx, [rcx + 1]
cmp ecx, dword [r11]
jne 0x140005647
mov r8, qword [rsp + 0x28]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x1400057d1
mov r8, qword [rsp + 0x30]
cmp edx, dword [r8]
ja 0x140005821
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov al, byte [r15 + rax]
mov byte [rdx + rcx], al
jmp 0x140005844
mov ecx, dword [r10]
lea edx, [rcx + 1]
cmp ecx, dword [r11]
jne 0x140005686
mov r8, qword [rsp + 0x28]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x1400057da
mov r8, qword [rsp + 0x30]
cmp edx, dword [r8]
jbe 0x14000597d
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x1400057e1
mov ecx, dword [r10]
lea edx, [rcx + 1]
cmp ecx, dword [r11]
jne 0x1400056be
mov r8, qword [rsp + 0x28]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x1400058e7
mov r8, qword [rsp + 0x30]
cmp edx, dword [r8]
jbe 0x140005998
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x1400058ee
mov ecx, dword [r10]
lea edx, [rcx + 1]
cmp ecx, dword [r11]
jne 0x1400056f6
mov r8, qword [rsp + 0x28]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x140005dd8
mov r8, qword [rsp + 0x30]
cmp edx, dword [r8]
jbe 0x140005ef0
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x140005ddf
mov dword [r10], edx
jmp 0x140004b87
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x140004b87
add eax, 4
mov rcx, qword [rsp + 0x20]
mov dword [rcx], eax
add eax, 4
mov rcx, qword [rsp + 0x20]
mov dword [rcx], eax
jmp 0x1400051e6
mov rax, qword [rsp + 0x20]
mov dword [rax], edx
mov edx, dword [rbx]
lea eax, [rdx + 1]
mov dword [rbx], eax
mov rcx, qword [rdi]
movzx r8d, byte [rcx + rax]
lea r9d, [r8 - 0x10]
cmp r9d, 2
jb 0x1400057bf
cmp r8d, 5
je 0x140005d1f
cmp r8d, 0x1f
jne 0x140005d68
mov rdx, qword [rsp + 0x20]
mov edx, dword [rdx]
lea r8d, [rdx + 1]
mov r9, qword [rsp + 0x28]
cmp edx, dword [r9]
jne 0x14000579a
mov r9, qword [rsp + 0x28]
mov dword [r9], r8d
cmp qword [rsi], 0
je 0x140006334
mov r9, qword [rsp + 0x30]
cmp r8d, dword [r9]
jbe 0x1400064cf
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x14000633c
mov rdx, qword [rsp + 0x20]
mov edx, dword [rdx]
lea r8d, [rdx + 1]
mov r9, qword [rsp + 0x28]
jmp 0x140005804
mov rax, qword [rsp + 0x20]
mov dword [rax], edx
jmp 0x14000584b
mov rax, qword [rsp + 0x20]
mov dword [rax], edx
mov eax, dword [rbx]
inc eax
mov dword [rbx], eax
mov rcx, qword [rdi]
cmp byte [rcx + rax], 0x89
mov rdx, qword [rsp + 0x20]
mov r9, qword [rsp + 0x28]
jne 0x140006f15
mov edx, dword [rdx]
lea r8d, [rdx + 1]
cmp edx, dword [r9]
jne 0x140005811
mov r9, qword [rsp + 0x28]
mov dword [r9], r8d
cmp qword [rsi], 0
je 0x14000582b
mov r9, qword [rsp + 0x30]
cmp r8d, dword [r9]
jbe 0x140005835
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x14000584b
mov rax, qword [rsp + 0x20]
mov dword [rax], r8d
jmp 0x14000584b
mov r8, qword [rsp + 0x48]
mov r8, qword [r8]
mov al, byte [rcx + rax]
mov byte [r8 + rdx], al
mov rax, qword [rsp + 0x20]
inc dword [rax]
mov r12d, dword [rbx]
inc r12d
mov dword [rbx], r12d
mov r14, qword [rdi]
mov rcx, r14
mov edx, r12d
xor r8d, r8d
call fcn.140051c60
mov r15d, eax
test eax, eax
mov rax, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
js 0x140006f15
mov ecx, dword [rax]
lea eax, [rcx + r15]
cmp ecx, dword [rdx]
jne 0x14000588b
mov rdx, qword [rsp + 0x28]
mov dword [rdx], eax
cmp qword [rsi], 0
je 0x1400058a4
mov rdx, qword [rsp + 0x30]
cmp eax, dword [rdx]
jbe 0x1400058c7
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x1400058ab
mov rcx, qword [rsp + 0x20]
mov dword [rcx], eax
add dword [rbx], r15d
mov r10, qword [rsp + 0x20]
mov r11, qword [rsp + 0x28]
mov r14, qword [rsp + 0x30]
mov r13d, dword [rsp + 0x3c]
jmp 0x140004beb
mov edx, r12d
add rdx, r14
mov r8d, r15d
mov rax, qword [rsp + 0x48]
add rcx, qword [rax]
call sub.ntdll.dll_memcpy
mov rax, qword [rsp + 0x20]
add dword [rax], r15d
jmp 0x1400058ab
mov rax, qword [rsp + 0x20]
mov dword [rax], edx
mov eax, dword [rbx]
inc eax
mov dword [rbx], eax
mov rcx, qword [rdi]
cmp byte [rcx + rax], 0x33
mov rdx, qword [rsp + 0x20]
mov r9, qword [rsp + 0x28]
jne 0x140006f15
mov edx, dword [rdx]
lea r8d, [rdx + 2]
cmp edx, dword [r9]
jne 0x14000591e
mov r9, qword [rsp + 0x28]
mov dword [r9], r8d
cmp qword [rsi], 0
je 0x140005f4d
mov r9, qword [rsp + 0x30]
cmp r8d, dword [r9]
jbe 0x140005a93
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x140005aac
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x140004be9
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov al, byte [r15 + rax]
mov byte [rdx + rcx], al
mov rax, qword [rsp + 0x20]
inc dword [rax]
jmp 0x140005750
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
mov r10, qword [rsp + 0x20]
jmp 0x140004c98
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov al, byte [r15 + rax]
mov byte [rdx + rcx], al
mov rax, qword [rsp + 0x20]
inc dword [rax]
jmp 0x1400057e1
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov al, byte [r15 + rax]
mov byte [rdx + rcx], al
mov rax, qword [rsp + 0x20]
inc dword [rax]
jmp 0x1400058ee
cmp byte [r15 + rax + 1], 0x3d
jne 0x140006f15
add eax, 2
mov dword [rbx], eax
cmp qword [rsi], 0
mov eax, dword [rsi + 0x20]
je 0x1400060e9
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx]
cmp eax, ecx
jae 0x140006261
mov rcx, qword [rsi + 0x10]
mov byte [rcx + rax], 0x49
mov eax, dword [rsi + 0x20]
inc eax
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
je 0x1400060eb
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx]
jmp 0x140006269
cmp byte [r15 + rax + 1], 0x48
jne 0x140006f15
mov cl, byte [r15 + rax + 2]
and cl, 0xfc
cmp cl, 0x88
jne 0x140006f15
mov ecx, dword [r10]
lea edx, [rcx + 3]
cmp ecx, dword [r11]
jne 0x140005a36
mov r8, qword [rsp + 0x28]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x1400061d5
mov r8, qword [rsp + 0x30]
cmp edx, dword [r8]
jbe 0x14000630c
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x1400061dc
mov ecx, dword [r10]
lea edx, [rcx + 5]
cmp ecx, dword [r11]
jne 0x140005a6e
mov r8, qword [rsp + 0x28]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x140005f66
mov r8, qword [rsp + 0x30]
cmp edx, dword [r8]
jbe 0x140006205
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x140006226
mov r8, qword [rsp + 0x48]
mov eax, dword [rsp + 0x48]
mov r8, qword [r8]
movzx eax, word [rcx + rax]
mov word [r8 + rdx], ax
mov rax, qword [rsp + 0x20]
add dword [rax], 2
add dword [rbx], 2
jmp 0x1400058ae
cmp dl, 0x1f
ja case.default.0x140004fee
shr dl, 4
add dl, 2
mov ecx, edx
jmp case.0x140004fee.5
cmp byte [r15 + r12 + 1], 0xc0
jb 0x140006f15
mov eax, dword [r10]
lea ecx, [rax + 2]
cmp eax, dword [r11]
jne 0x140005ae8
mov rdx, qword [rsp + 0x28]
mov dword [rdx], ecx
cmp qword [rsi], 0
je 0x14000624d
mov rdx, qword [rsp + 0x30]
cmp ecx, dword [rdx]
ja 0x140005936
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
movzx edx, word [r15 + r12]
mov word [rcx + rax], dx
jmp case.0x140004c47.5
mov edx, eax
and dl, 0xf8
cmp dl, 0xb8
jne 0x140005ff3
mov rax, qword [rsp + 0x20]
mov eax, dword [rax]
lea ecx, [rax + 9]
mov rdx, qword [rsp + 0x28]
cmp eax, dword [rdx]
jne 0x140005b3a
mov rdx, qword [rsp + 0x28]
mov dword [rdx], ecx
cmp qword [rsi], 0
je 0x14000673c
mov rdx, qword [rsp + 0x30]
cmp ecx, dword [rdx]
jbe 0x140006777
or al, 0
invalid
or al, 0
add byte [rax - 0x75], cl
and al, 0x40
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x140006743
mov eax, 5
jmp case.0x140004c47.1
mov dword [r10], eax
jmp 0x140004c98
mov dword [r10], edx
jmp 0x140004be9
mov dword [r8], edx
jmp 0x140004943
mov byte [rsi + 0x34], 0
xor eax, eax
jmp 0x14000491b
mov r10, qword [rsp + 0x20]
mov dword [r10], ecx
jmp 0x1400049ba
out dx, al
invalid
invalid
out dx, al
invalid
mov byte [rsi + 0x34], 0
xor eax, eax
mov ecx, edx
mov r10, qword [rsp + 0x20]
jmp 0x140004992
int3
call fcn.140034412
mov dl, byte [r12]
and dl, 7
mov cl, 2
jmp 0x140005bc7
mov dl, byte [r12]
and dl, 7
cmp dl, 2
je case.0x140004fee.5
mov r9d, dword [r11]
lea rcx, [r12 + 1]
xor edx, edx
mov r8b, byte [r12 + 1]
cmp r9d, r14d
jae case.default.0x140005057
movzx r10d, r8b
cmp r9d, r10d
jb 0x1400051fb
cmp al, dl
ja 0x1400051fb
xor edx, edx
xor eax, eax
jmp 0x140005077
lea ecx, [rdi + 4]
movzx r13d, al
add r13, r13
add r13d, ecx
mov rax, qword [rsp + 0x20]
mov dword [rax], r13d
jmp 0x140005144
int3
lea r8, [rsp + 0xa0]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x48]
mov r9, qword [rsp + 0x1b0]
call fcn.140051d00
test al, al
jne 0x140006f59
jmp 0x140006fd5
mov edx, 1
mov rcx, rdi
call fcn.140014b80
test al, al
je 0x140006eac
mov rax, qword [rsp + 0xc8]
jmp 0x14000529c
mov edx, 1
mov rcx, rdi
call fcn.140014b80
test al, al
je 0x140006ec1
mov rax, qword [rsp + 0xc8]
jmp 0x1400052d0
mov edx, 8
mov rcx, rdi
call fcn.140014b80
test al, al
je 0x140006ed6
mov rax, qword [rsp + 0xc8]
jmp 0x140005308
mov edx, 1
mov rcx, rdi
call fcn.140014b80
test al, al
je 0x140006eeb
mov rax, qword [rsp + 0xc8]
jmp 0x140005346
mov edx, 1
mov rcx, rdi
call fcn.140014b80
test al, al
je 0x140006f00
mov rax, qword [rsp + 0xc8]
jmp 0x14000537a
mov edx, 1
mov rcx, rdi
call fcn.140014b80
test al, al
je 0x140007129
mov rax, qword [rsp + 0xc8]
jmp 0x1400053ae
mov rdx, qword [rsp + 0x20]
mov edx, dword [rdx]
lea r8d, [rdx + 1]
mov r9, qword [rsp + 0x28]
cmp edx, dword [r9]
jne 0x140005d3c
mov r9, qword [rsp + 0x28]
mov dword [r9], r8d
cmp qword [rsi], 0
je 0x140006392
mov r9, qword [rsp + 0x30]
cmp r8d, dword [r9]
ja 0x140005497
mov r8, qword [rsp + 0x48]
mov r8, qword [r8]
mov al, byte [rcx + rax]
mov byte [r8 + rdx], al
jmp 0x1400061f7
lea eax, [r8 + 0x7d]
cmp al, 2
mov r14, qword [rsp + 0x30]
mov r13d, dword [rsp + 0x3c]
ja 0x140006f15
lea rax, [0x140056b68]
mov r8d, dword [rax + r8*4 - 0x20c]
add edx, 2
mov dword [rbx], edx
dec dword [rsi + 0x20]
mov eax, dword [rbx]
mov rcx, qword [rdi]
lea rdx, [rcx + rax]
movsxd rcx, dword [rcx + rax]
add rdx, rcx
add rdx, 4
add eax, 4
jmp 0x140004b33
movzx r8d, byte [rdx + rax + 0xa]
cmp r8d, 0x50
je 0x140006407
cmp r8d, 0xff
jne 0x1400064c5
cmp byte [rdx + rax + 0xb], 0xe0
jmp 0x14000640c
mov rax, qword [rsp + 0x20]
mov dword [rax], edx
mov ecx, dword [rbx]
inc ecx
mov dword [rbx], ecx
mov rax, qword [rdi]
mov dl, byte [rax + rcx]
mov r8d, edx
and r8b, 0xfc
cmp r8b, 0x88
jne 0x140005e9a
movzx edx, byte [rax + rcx + 1]
mov r8d, edx
and r8d, 0xffffffc0
cmp r8b, 0xc0
je 0x140005f0b
cmp r8d, 0x40
mov r9, qword [rsp + 0x20]
mov r10, qword [rsp + 0x28]
je 0x140005e50
test r8d, r8d
jne 0x140006f15
mov r9d, edx
and r9d, 6
cmp r9d, 4
jne 0x140005f0b
cmp r8d, 0x40
mov r9, qword [rsp + 0x20]
mov r10, qword [rsp + 0x28]
jne 0x140006f15
and edx, 7
add rax, rcx
mov ecx, dword [r9]
mov r8d, dword [r10]
cmp edx, 4
jne 0x14000657d
lea edx, [rcx + 4]
cmp ecx, r8d
jne 0x140005e75
mov r8, qword [rsp + 0x28]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x140006977
mov r8, qword [rsp + 0x30]
cmp edx, dword [r8]
jbe 0x140006a3a
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x14000697e
cmp dl, 0x44
jne 0x1400058ae
cmp byte [rax + rcx + 1], 0x89
jne 0x1400058ae
mov rdx, qword [rsp + 0x20]
mov edx, dword [rdx]
lea r8d, [rdx + 2]
mov r9, qword [rsp + 0x28]
cmp edx, dword [r9]
jne 0x140005ecb
mov r9, qword [rsp + 0x28]
mov dword [r9], r8d
cmp qword [rsi], 0
je 0x140006963
mov r9, qword [rsp + 0x30]
cmp r8d, dword [r9]
jbe 0x140006a10
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x14000696b
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov al, byte [r15 + rax]
mov byte [rdx + rcx], al
mov rax, qword [rsp + 0x20]
inc dword [rax]
jmp 0x140005ddf
mov rdx, qword [rsp + 0x20]
mov edx, dword [rdx]
lea r8d, [rdx + 2]
mov r9, qword [rsp + 0x28]
cmp edx, dword [r9]
jne 0x140005f28
mov r9, qword [rsp + 0x28]
mov dword [r9], r8d
cmp qword [rsi], 0
je 0x140005f4d
mov r9, qword [rsp + 0x30]
cmp r8d, dword [r9]
ja 0x140005936
mov r8, qword [rsp + 0x48]
mov r8, qword [r8]
movzx eax, word [rax + rcx]
jmp 0x140005a9f
mov rax, qword [rsp + 0x20]
mov dword [rax], r8d
jmp 0x140005aac
mov rax, qword [rsp + 0x20]
mov dword [rax], edx
jmp 0x1400061fe
mov rax, qword [rsp + 0x20]
mov dword [rax], edx
jmp 0x140006226
mov dword [r10], edx
jmp 0x140004d52
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x140004d52
mov r8d, edx
and r8b, 0xf8
cmp r8b, 0xb8
jne 0x1400065f3
mov rdx, qword [rsp + 0x20]
mov edx, dword [rdx]
lea r8d, [rdx + 5]
mov r9, qword [rsp + 0x28]
cmp edx, dword [r9]
jne 0x140005fb5
mov r9, qword [rsp + 0x28]
mov dword [r9], r8d
cmp qword [rsi], 0
je 0x140006986
mov r9, qword [rsp + 0x30]
cmp r8d, dword [r9]
ja 0x140005a86
add rax, rcx
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
mov r8b, byte [rax + 4]
mov byte [rcx + rdx + 4], r8b
mov eax, dword [rax]
mov dword [rcx + rdx], eax
jmp 0x14000621e
mov dword [r10], r8d
jmp 0x140004be9
cmp eax, 0xc6
jg 0x14000662b
cmp eax, 0x63
je 0x14000686e
cmp eax, 0x8d
jne 0x140006f15
mov r9b, byte [r15 + r12 + 1]
mov eax, r9d
and al, 0xc7
cmp al, 5
jne 0x140006ab4
lea edx, [rcx + 3]
mov dword [rbx], edx
movsxd r8, dword [r15 + rdx]
add ecx, 7
mov dword [rbx], ecx
cmp qword [rsi], 0
mov eax, dword [rsi + 0x20]
je 0x140006b1c
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx]
cmp eax, ecx
jae 0x140006ce3
shr r9b, 3
or r9b, 0xb8
mov rcx, qword [rsi + 0x10]
mov byte [rcx + rax], r9b
mov eax, dword [rsi + 0x20]
inc eax
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
je 0x140006b1e
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx]
jmp 0x140006cec
cmp eax, 0x60
jne 0x1400066af
mov rax, qword [rsp + 0x20]
mov eax, dword [rax]
lea ecx, [rax + 5]
mov rdx, qword [rsp + 0x28]
cmp eax, dword [rdx]
jne 0x14000609f
mov rdx, qword [rsp + 0x28]
mov dword [rdx], ecx
cmp qword [rsi], 0
je 0x140006a2e
mov rdx, qword [rsp + 0x30]
cmp ecx, dword [rdx]
ja 0x140005a86
add r15, r12
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
mov dl, byte [r15 + 4]
mov byte [rcx + rax + 4], dl
mov edx, dword [r15]
mov dword [rcx + rax], edx
jmp 0x14000621e
mov dword [r10], ecx
jmp 0x140004dfa
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x140004dfa
inc eax
inc eax
mov rcx, qword [rsp + 0x20]
mov dword [rcx], eax
mov edx, dword [rbx]
mov r8, qword [rdi]
movsxd r9, dword [r8 + rdx]
lea eax, [rdx + 4]
mov dword [rbx], eax
cmp qword [rsi], 0
mov eax, dword [rsi + 0x20]
je 0x14000613c
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx]
cmp eax, ecx
jae 0x14000628b
mov rcx, qword [rsi + 0x10]
mov byte [rcx + rax], 0x49
mov eax, dword [rsi + 0x20]
inc eax
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
je 0x14000613e
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx]
jmp 0x140006294
inc eax
inc eax
add eax, 8
inc eax
inc eax
inc eax
mov rcx, qword [rsp + 0x20]
mov dword [rcx], eax
mov rcx, qword [rdi]
mov edx, dword [rbx]
lea r8d, [rax + 1]
mov r9, qword [rsp + 0x28]
cmp eax, dword [r9]
jne 0x14000616b
mov r9, qword [rsp + 0x28]
mov dword [r9], r8d
cmp qword [rsi], 0
je 0x140006189
mov r9, qword [rsp + 0x30]
cmp r8d, dword [r9]
jbe 0x1400062c4
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x140006191
mov rax, qword [rsp + 0x20]
mov dword [rax], r8d
inc dword [rbx]
cmp qword [rsi], 0
mov eax, dword [rsi + 0x20]
je 0x140006dae
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx]
cmp eax, ecx
jae 0x1400062e1
mov rcx, qword [rsi + 0x10]
mov byte [rcx + rax], 0x49
mov eax, dword [rsi + 0x20]
inc eax
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
je 0x140006db0
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx]
jmp 0x1400062e9
mov rax, qword [rsp + 0x20]
mov dword [rax], edx
mov r12d, dword [rbx]
add r12d, 3
jmp 0x140005851
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov al, byte [r15 + rax]
mov byte [rdx + rcx], al
mov rax, qword [rsp + 0x20]
inc dword [rax]
inc dword [rbx]
jmp 0x1400058ae
add r15, rax
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov dl, byte [r15 + 4]
mov byte [rax + rcx + 4], dl
mov edx, dword [r15]
mov dword [rax + rcx], edx
mov rax, qword [rsp + 0x20]
add dword [rax], 5
add dword [rbx], 5
jmp 0x1400058ae
mov edx, 5
jmp case.0x140004ce8.1
mov dword [r10], ecx
jmp 0x140004e51
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x140004e51
mov rax, qword [rsp + 0x20]
mov dword [rax], ecx
jmp 0x140005aac
mov dword [r10], edx
jmp 0x140004c98
mov rdx, qword [rsp + 0x40]
mov byte [rdx], 0
cmp eax, ecx
jae 0x1400063ac
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
mov eax, eax
mov byte [rcx + rax], 0x53
mov rax, qword [rsp + 0x20]
inc dword [rax]
jmp 0x1400060f4
mov r10, qword [rsp + 0x40]
mov byte [r10], 0
cmp eax, ecx
jae 0x1400063b9
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov byte [rcx + rax], 0xbb
mov eax, dword [rsi + 0x20]
inc eax
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
je 0x140006140
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx]
jmp 0x1400063c2
mov r8, qword [rsp + 0x48]
mov r8, qword [r8]
mov eax, eax
mov cl, byte [rcx + rdx]
mov byte [r8 + rax], cl
mov rax, qword [rsp + 0x20]
inc dword [rax]
jmp 0x140006191
mov rdx, qword [rsp + 0x40]
mov byte [rdx], 0
cmp eax, ecx
jae 0x140006cf9
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
mov eax, eax
mov byte [rcx + rax], 0x5b
mov r10, qword [rsp + 0x20]
inc dword [r10]
jmp 0x1400058b3
add r15, rax
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov dl, byte [r15 + 2]
mov byte [rax + rcx + 2], dl
movzx edx, word [r15]
mov word [rax + rcx], dx
mov rax, qword [rsp + 0x20]
add dword [rax], 3
jmp 0x1400061dc
mov rax, qword [rsp + 0x20]
mov dword [rax], r8d
mov ecx, dword [rbx]
inc ecx
mov dword [rbx], ecx
mov rax, qword [rdi]
mov dl, byte [rax + rcx]
and dl, 0xc7
cmp dl, 0x44
mov rdx, qword [rsp + 0x20]
mov r9, qword [rsp + 0x28]
jne 0x140006f15
mov edx, dword [rdx]
lea r8d, [rdx + 3]
cmp edx, dword [r9]
jne 0x140006371
mov r9, qword [rsp + 0x28]
mov dword [r9], r8d
cmp qword [rsi], 0
je 0x14000639f
mov r9, qword [rsp + 0x30]
cmp r8d, dword [r9]
jbe 0x140006539
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x14000655c
mov rax, qword [rsp + 0x20]
mov dword [rax], r8d
jmp 0x1400061fe
mov rax, qword [rsp + 0x20]
mov dword [rax], r8d
jmp 0x14000655c
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x1400060f4
mov r10, qword [rsp + 0x40]
mov byte [r10], 0
lea r10d, [rax + 8]
cmp r10d, ecx
jbe 0x1400065bf
mov rdx, qword [rsp + 0x40]
mov byte [rdx], 0
cmp eax, ecx
jae 0x14000670b
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x41
mov eax, dword [rsi + 0x20]
inc eax
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
je 0x140006145
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx]
jmp 0x140006713
cmp byte [rdx + rax + 0xb], 0xc3
mov r10, qword [rsp + 0x20]
jne 0x1400049dd
add eax, 2
mov r14, qword [rdx + rax]
lea r12, [rsp + 0xa0]
mov rcx, qword [rsp + 0x60]
mov rdx, r12
call fcn.140052290
xor ebp, ebp
cmp qword [r12 + 0x70], 0
je 0x140006a56
cmp byte [rsp + 0xf8], 0
je 0x140006a56
lea r12, [rsp + 0xa0]
mov rcx, r12
mov rdx, qword [rsp + 0x1b0]
call fcn.140052380
mov rcx, r12
call fcn.1400523d0
test al, al
je 0x140006a54
mov eax, dword [rsi + 0x20]
lea ecx, [rax + 8]
cmp qword [rsi], 0
je 0x140006c74
cmp ecx, dword [rsi + 0x30]
jbe 0x140006c8e
mov byte [rsi + 0x34], 0
xor eax, eax
xor ebp, ebp
cmp qword [rsi + 0x10], 0
je 0x140006a56
cmp qword [rsi + 0x18], 0
je 0x140006a56
cmp dword [rsi + 8], 0
je 0x140006a56
test al, al
jne 0x140006c7b
jmp 0x140006a56
mov r10, qword [rsp + 0x20]
jmp 0x1400049dd
mov r8, qword [rsp + 0x48]
mov r8, qword [r8]
mov al, byte [rcx + rax]
mov byte [r8 + rdx], al
mov rax, qword [rsp + 0x20]
inc dword [rax]
jmp 0x14000633c
cmp cl, 0xff
je 0x140006993
cmp ecx, 0xc6
je 0x1400069d0
cmp ecx, 0x83
jne 0x140006f15
mov cl, byte [r15 + rax + 1]
and cl, 0xf8
cmp cl, 0x60
mov rcx, qword [rsp + 0x20]
and al, 0x20
and al, 0x20
mov r8, qword [rsp + 0x28]
jne 0x140006f15
mov ecx, dword [rcx]
lea edx, [rcx + 5]
cmp ecx, dword [r8]
je 0x140005a66
jmp 0x140005a6e
add rax, rcx
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
mov r8b, byte [rax + 2]
mov byte [rcx + rdx + 2], r8b
movzx eax, word [rax]
mov word [rcx + rdx], ax
mov rax, qword [rsp + 0x20]
add dword [rax], 3
add dword [rbx], 3
jmp 0x1400058ae
cmp bpl, 0x1f
ja case.default.0x140005057
shr bpl, 4
add bpl, 2
mov edi, ebp
jmp case.0x140005057.5
lea edx, [rcx + 3]
cmp ecx, r8d
jne 0x14000658d
mov r8, qword [rsp + 0x28]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x140006957
mov r8, qword [rsp + 0x30]
cmp edx, dword [r8]
ja 0x140006385
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov r8b, byte [rax + 2]
mov byte [rdx + rcx + 2], r8b
movzx eax, word [rax]
mov word [rdx + rcx], ax
jmp 0x140006554
add r8, rdx
lea rcx, [r9 + r8]
add rcx, 4
mov rdx, qword [rsi + 0x10]
mov eax, eax
mov qword [rdx + rax], rcx
mov eax, dword [rsi + 0x20]
add eax, 8
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
je 0x140006143
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx]
jmp 0x1400063d7
cmp edx, 0xf7
je 0x140006905
cmp edx, 0x8b
mov rdx, qword [rsp + 0x20]
mov r9, qword [rsp + 0x28]
jne 0x140006f15
cmp byte [rax + rcx + 1], 0xc0
jb 0x140006f15
mov edx, dword [rdx]
lea r8d, [rdx + 2]
jmp 0x140005f1b
cmp eax, 0xff
je 0x140006896
cmp eax, 0xc7
mov rax, qword [rsp + 0x20]
and byte [rax - 0x75], cl
push rsp
and al, 0x28
and byte [rax - 0x75], cl
push rsp
and al, 0x28
jne 0x140006f15
cmp byte [r15 + r12 + 1], 0x44
cmp byte [rdi + riz + 1], 0x44
add dword [rdi + rcx - 0x7b], eax
mov esi, 0x8b000008
add byte [rbp + 0x23b0848], cl
cmp eax, dword [rdx]
jne 0x140006f15
mov eax, dword [rax]
lea ecx, [rax + 8]
cmp eax, dword [rdx]
jne 0x140006667
mov rdx, qword [rsp + 0x28]
mov dword [rdx], ecx
cmp qword [rsi], 0
je 0x140006b81
mov rdx, qword [rsp + 0x30]
cmp ecx, dword [rdx]
jbe 0x140006bac
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x140006b88
mov bpl, byte [r12]
and bpl, 7
mov dil, 2
jmp 0x1400066a0
mov bpl, byte [r12]
and bpl, 7
cmp bpl, 2
je case.0x140005057.5
jmp case.default.0x140005057
cmp eax, 0xc0
mov rax, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
jne 0x140006f15
mov eax, dword [rax]
lea ecx, [rax + 3]
cmp eax, dword [rdx]
jne 0x1400066d4
mov rdx, qword [rsp + 0x28]
mov dword [rdx], ecx
cmp qword [rsi], 0
je 0x140006ba0
mov rdx, qword [rsp + 0x30]
cmp ecx, dword [rdx]
ja 0x140006385
add r15, r12
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
mov dl, byte [r15 + 2]
mov byte [rcx + rax + 2], dl
movzx edx, word [r15]
mov word [rcx + rax], dx
jmp 0x140006554
mov rdx, qword [rsp + 0x40]
mov byte [rdx], 0
cmp eax, ecx
jae 0x14000674b
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x80
mov eax, dword [rsi + 0x20]
inc eax
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
je 0x140006147
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx]
jmp 0x140006753
mov rax, qword [rsp + 0x20]
mov dword [rax], ecx
add dword [rbx], 9
jmp 0x1400058ae
mov rdx, qword [rsp + 0x40]
mov byte [rdx], 0
cmp eax, ecx
jae 0x140006861
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
mov eax, eax
mov byte [rcx + rax], 0x3b
mov rcx, qword [rsp + 0x20]
mov eax, dword [rcx]
inc eax
jmp 0x14000614e
add r15, r12
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
mov dl, byte [r15 + 8]
mov byte [rcx + rax + 8], dl
mov rdx, qword [r15]
mov qword [rcx + rax], rdx
mov rax, qword [rsp + 0x20]
add dword [rax], 9
jmp 0x140006743
cmp byte [r15 + rax + 1], 0xc0
jb 0x140006f15
mov ecx, dword [r10]
lea edx, [rcx + 2]
cmp ecx, dword [r11]
jne 0x1400067ba
mov r8, qword [rsp + 0x28]
mov dword [r8], edx
cmp qword [rsi], 0
je 0x140006a04
mov r8, qword [rsp + 0x30]
cmp edx, dword [r8]
ja 0x140005936
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
movzx eax, word [r15 + rax]
mov word [rdx + rcx], ax
jmp case.0x140004c47.5
lea r8, [rsp + 0xa0]
mov byte [r8], 0
lea rcx, [rax + r15]
inc rcx
xor edx, edx
call fcn.140051c60
test eax, eax
js 0x140006f15
cmp byte [rsp + 0xa0], 0
jne 0x140006f15
mov r14d, eax
mov rax, qword [rsp + 0x20]
mov ecx, dword [rax]
lea eax, [rcx + r14]
add eax, 2
mov rdx, qword [rsp + 0x28]
cmp ecx, dword [rdx]
jne 0x140006839
mov rdx, qword [rsp + 0x28]
mov dword [rdx], eax
add r14d, 2
cmp qword [rsi], 0
je 0x140006b0d
mov rdx, qword [rsp + 0x30]
cmp eax, dword [rdx]
jbe 0x140006a94
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x140006b14
mov rcx, qword [rsp + 0x40]
mov byte [rcx], 0
jmp 0x140006150
cmp byte [r15 + r12 + 1], 0xc0
mov rax, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
jb 0x140006f15
mov eax, dword [rax]
lea ecx, [rax + 2]
cmp eax, dword [rdx]
je 0x140005ae1
jmp 0x140005ae8
movzx eax, byte [r15 + r12 + 1]
mov edx, eax
and dl, 0xc7
cmp dl, 5
mov r14, qword [rsp + 0x30]
mov r13d, dword [rsp + 0x3c]
jne 0x140006f15
and eax, 0x38
cmp eax, 0x20
je 0x1400068c5
cmp eax, 0x10
jne 0x140006f15
add ecx, 3
mov dword [rbx], ecx
dec dword [rsi + 0x20]
mov eax, dword [rbx]
mov rcx, qword [rdi]
lea rdx, [rcx + rax]
mov r8b, byte [rcx + rax + 1]
and r8b, 0x38
xor ebp, ebp
cmp r8b, 0x20
sete bpl
mov r8d, 4
sub r8d, ebp
movsxd rcx, dword [rcx + rax]
add eax, 4
mov dword [rbx], eax
mov rdx, qword [rcx + rdx + 4]
jmp 0x140004b35
mov dl, byte [rax + rcx + 1]
and dl, 0xf8
cmp dl, 0xc0
mov rdx, qword [rsp + 0x20]
mov r9, qword [rsp + 0x28]
jne 0x140006f15
mov edx, dword [rdx]
lea r8d, [rdx + 6]
cmp edx, dword [r9]
jne 0x140006932
mov r9, qword [rsp + 0x28]
mov dword [r9], r8d
cmp qword [rsi], 0
je 0x140006b90
mov r9, qword [rsp + 0x30]
cmp r8d, dword [r9]
jbe 0x140006bc6
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x140006b98
mov rax, qword [rsp + 0x20]
mov dword [rax], edx
jmp 0x14000655c
mov rax, qword [rsp + 0x20]
mov dword [rax], r8d
mov r12d, dword [rbx]
add r12d, 2
jmp 0x140005851
mov rax, qword [rsp + 0x20]
mov dword [rax], edx
add dword [rbx], 4
jmp 0x1400058ae
mov rax, qword [rsp + 0x20]
mov dword [rax], r8d
jmp 0x140006226
movzx edx, byte [r15 + rax + 1]
mov ecx, edx
shr ecx, 3
and ecx, 7
cmp dl, 0xc0
jb 0x140006b26
cmp ecx, 3
mov rdx, qword [rsp + 0x20]
mov r8, qword [rsp + 0x28]
jae 0x140006d06
mov ecx, dword [rdx]
lea edx, [rcx + 2]
cmp ecx, dword [r8]
je 0x1400067b2
jmp 0x1400067ba
lea rcx, [rax + r15]
inc rcx
xor edx, edx
xor r8d, r8d
call fcn.140051c60
mov r14d, eax
test eax, eax
mov rax, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
js 0x140006f15
mov ecx, dword [rax]
lea eax, [rcx + r14]
add eax, 2
jmp 0x14000682e
mov rax, qword [rsp + 0x20]
mov dword [rax], edx
jmp 0x140005aac
mov r8, qword [rsp + 0x48]
mov r8, qword [r8]
movzx eax, word [rax + rcx]
mov word [r8 + rdx], ax
mov rax, qword [rsp + 0x20]
add dword [rax], 2
jmp 0x14000696b
mov rax, qword [rsp + 0x20]
mov dword [rax], ecx
jmp 0x140006226
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov eax, dword [rax]
mov dword [rdx + rcx], eax
mov rax, qword [rsp + 0x20]
add dword [rax], 4
jmp 0x14000697e
xor ebp, ebp
lea r12, [rsp + 0x100]
mov rcx, r12
call fcn.140052440
mov rcx, qword [r12 - 0x40]
lea rax, [rsp + 0xd8]
cmp rcx, rax
je 0x140006a7e
call qword [sym.imp.mozglue.dll_free]
test bpl, bpl
mov r10, qword [rsp + 0x20]
jne 0x140006f15
mov ecx, dword [r10]
jmp 0x1400049dd
mov edx, r12d
add rdx, r15
mov r8d, r14d
mov rax, qword [rsp + 0x48]
add rcx, qword [rax]
call sub.ntdll.dll_memcpy
mov rax, qword [rsp + 0x20]
add dword [rax], r14d
jmp 0x140006b14
add ecx, 2
add rcx, r15
xor edx, edx
xor r8d, r8d
call fcn.140051c60
mov r14d, eax
mov rax, qword [rsp + 0x20]
mov ecx, dword [rax]
lea eax, [rcx + r14]
inc eax
mov rdx, qword [rsp + 0x28]
cmp ecx, dword [rdx]
jne 0x140006ae4
mov rdx, qword [rsp + 0x28]
mov dword [rdx], eax
inc r14d
cmp qword [rsi], 0
je 0x140006b0d
mov rdx, qword [rsp + 0x30]
cmp eax, dword [rdx]
ja 0x140006854
add r12, r15
mov r8d, r14d
mov rax, qword [rsp + 0x48]
add rcx, qword [rax]
mov rdx, r12
jmp 0x140006aa5
mov rcx, qword [rsp + 0x20]
mov dword [rcx], eax
add dword [rbx], r14d
jmp 0x1400058ae
inc eax
add eax, 8
jmp 0x140006db2
and dl, 0xc7
cmp dl, 5
jne 0x140006ca8
cmp cl, 2
jne 0x140006ca8
lea ecx, [rax + 2]
mov dword [rbx], ecx
lea rdx, [r15 + rcx]
movsxd rcx, dword [r15 + rcx]
add eax, 6
mov dword [rbx], eax
mov rdx, qword [rcx + rdx + 4]
mov rcx, rsi
mov r8d, 4
call fcn.140007350
test al, al
mov r10, qword [rsp + 0x20]
mov r11, qword [rsp + 0x28]
mov r14, qword [rsp + 0x30]
mov r13d, dword [rsp + 0x3c]
jne 0x140004beb
jmp 0x140006f15
mov rax, qword [rsp + 0x20]
mov dword [rax], ecx
add dword [rbx], 8
jmp 0x1400058ae
mov rax, qword [rsp + 0x20]
mov dword [rax], r8d
add dword [rbx], 6
jmp 0x1400058ae
mov rax, qword [rsp + 0x20]
mov dword [rax], ecx
jmp 0x14000655c
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
mov rdx, qword [r15 + r12]
mov qword [rcx + rax], rdx
mov rax, qword [rsp + 0x20]
add dword [rax], 8
jmp 0x140006b88
add rax, rcx
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
movzx r8d, word [rax + 4]
mov word [rcx + rdx + 4], r8w
mov eax, dword [rax]
mov dword [rcx + rdx], eax
mov rax, qword [rsp + 0x20]
add dword [rax], 6
jmp 0x140006b98
mov eax, 1
cmp r8d, 4
jne case.0x140004c47.1
mov al, byte [r15 + rdx + 1]
and al, 7
xor ecx, ecx
cmp al, 5
sete cl
lea eax, [rcx*4 + 1]
jmp case.0x140004c47.1
cmp qword [rsi], 0
mov eax, dword [rsi + 0x20]
je 0x140006da7
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx]
cmp eax, ecx
jae 0x140006dbf
or r9b, 0xb8
mov rcx, qword [rsi + 0x10]
mov byte [rcx + rax], r9b
mov eax, dword [rsi + 0x20]
inc eax
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
je 0x140006da9
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx]
jmp 0x140006dc8
mov rdx, qword [rsp + 0x40]
mov byte [rdx], 0
jmp 0x14000551d
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x140004beb
mov rax, qword [rsp + 0x20]
mov dword [rax], ecx
mov rax, qword [rsp + 0x1b8]
mov qword [rax], r14
mov bpl, 1
jmp 0x140006a56
mov rcx, qword [rsi + 0x10]
mov qword [rcx + rax], r14
add dword [rsi + 0x20], 8
cmp qword [rsi], 0
je 0x140006c7b
mov al, byte [rsi + 0x34]
jmp 0x140006496
cmp cl, 4
jne 0x140006f15
cmp dl, 5
jne 0x140006d23
lea ecx, [rax + 2]
mov dword [rbx], ecx
lea rdx, [r15 + rcx]
movsxd rcx, dword [r15 + rcx]
add eax, 6
mov dword [rbx], eax
mov rdx, qword [rcx + rdx + 4]
mov rcx, rsi
mov r8d, 3
call fcn.140007350
mov bpl, 1
jmp 0x140006b60
mov r9, qword [rsp + 0x40]
mov byte [r9], 0
lea r9d, [rax + 8]
cmp r9d, ecx
jbe 0x140006d80
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x1400058ae
cmp ecx, 4
je 0x140006d23
cmp ecx, 6
mov rdx, qword [rsp + 0x20]
mov r8, qword [rsp + 0x28]
je 0x1400069bd
jmp 0x140006f15
lea rcx, [rax + r15]
inc rcx
xor edx, edx
xor r8d, r8d
call fcn.140051c60
mov ebp, eax
test eax, eax
mov rax, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
js 0x140006f15
mov ecx, dword [rax]
lea eax, [rcx + rbp]
inc eax
cmp ecx, dword [rdx]
jne 0x140006d5a
mov rdx, qword [rsp + 0x28]
mov dword [rdx], eax
inc ebp
cmp qword [rsi], 0
je 0x140006dff
mov rdx, qword [rsp + 0x30]
cmp eax, dword [rdx]
jbe 0x140006e32
mov rax, qword [rsp + 0x40]
mov byte [rax], 0
jmp 0x140006e06
add r15, rdx
lea rcx, [r8 + r15]
add rcx, 4
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov eax, eax
mov qword [rdx + rax], rcx
mov r10, qword [rsp + 0x20]
add dword [r10], 8
jmp 0x1400058b3
inc eax
add eax, 8
inc eax
inc eax
inc eax
mov r10, qword [rsp + 0x20]
mov dword [r10], eax
jmp 0x1400058b3
mov r9, qword [rsp + 0x40]
mov byte [r9], 0
lea r9d, [rax + 8]
cmp r9d, ecx
jbe 0x140006e10
mov r8, qword [rsp + 0x40]
mov byte [r8], 0
cmp eax, ecx
jae 0x140006e51
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x48
mov eax, dword [rsi + 0x20]
inc eax
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
je 0x140006dae
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx]
jmp 0x140006e5a
mov rcx, qword [rsp + 0x20]
mov dword [rcx], eax
add dword [rbx], ebp
mov bpl, 1
jmp 0x1400058ae
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov qword [rcx + rax], r8
mov eax, dword [rsi + 0x20]
add eax, 8
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
je 0x140006dac
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx]
jmp 0x140006dda
mov edx, r12d
add rdx, r15
mov r8d, ebp
mov rax, qword [rsp + 0x48]
add rcx, qword [rax]
call sub.ntdll.dll_memcpy
mov rax, qword [rsp + 0x20]
add dword [rax], ebp
jmp 0x140006e06
mov r8, qword [rsp + 0x40]
mov byte [r8], 0
cmp eax, ecx
jae 0x140006e83
mov rcx, qword [rsi + 0x10]
mov eax, eax
mov byte [rcx + rax], 0x8b
mov eax, dword [rsi + 0x20]
inc eax
mov dword [rsi + 0x20], eax
cmp qword [rsi], 0
je 0x140006db0
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx]
jmp 0x140006e8c
mov r8, qword [rsp + 0x40]
mov byte [r8], 0
cmp eax, ecx
jae 0x140006cf9
movzx ecx, dl
lea ecx, [rcx + rcx*8]
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov eax, eax
mov byte [rdx + rax], cl
jmp 0x1400062ff
mov byte [rsp + 0xf8], 0
mov rax, qword [rsp + 0xc8]
jmp 0x1400052c2
mov byte [rsp + 0xf8], 0
mov rax, qword [rsp + 0xc8]
jmp 0x1400052f6
mov byte [rsp + 0xf8], 0
mov rax, qword [rsp + 0xc8]
jmp 0x140005338
mov byte [rsp + 0xf8], 0
mov rax, qword [rsp + 0xc8]
jmp 0x14000536c
mov byte [rsp + 0xf8], 0
mov rax, qword [rsp + 0xc8]
jmp 0x1400053a0
mov rax, qword [rsp + 0x1b8]
cmp qword [rax], 0
je 0x140006f48
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.14002fba0
nop
add rsp, 0x148
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov dword [rsi + 0x20], 0
mov rcx, rsi
call fcn.140034990
jmp 0x140006f23
cmp qword [rsp + 0x110], 0
je 0x140006fd5
cmp byte [rsp + 0xf8], 0
je 0x140006fd5
mov r8, qword [rsp + 0xc8]
test r8, r8
je 0x140006fc5
mov rdx, qword [rsp + 0xc0]
mov ecx, dword [rsp + 0xbc]
add rcx, qword [rsp + 0xa8]
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 + 0xc8]
add dword [rsp + 0xbc], eax
mov qword [rsp + 0xc8], 0
mov rax, qword [rsp + 0x1b8]
mov rcx, qword [rsp + 0x48]
mov qword [rax], rcx
mov eax, dword [0x140064af4]
mov ecx, dword [0x1400624b8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14000707a
mov rdi, qword [rsp + 0x108]
mov r15, qword [rsp + 0x110]
test r15, r15
je 0x140007049
shl r15, 4
add r15, rdi
mov ebx, dword [0x140064af0]
lea r14, [rsp + 0x70]
mov r13, qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov r8d, dword [rdi]
mov rcx, qword [rdi + 8]
mov rdx, rbx
mov r9, r14
call r13
add rdi, 0x10
cmp rdi, r15
jne 0x140007028
mov rdi, qword [rsp + 0x108]
lea rax, [rsp + 0x120]
mov qword [rax - 0x10], 0
cmp rdi, rax
jne 0x1400070bb
mov rcx, qword [rsp + 0xc0]
cmp rcx, r12
je 0x140006f15
call qword [sym.imp.mozglue.dll_free]
jmp 0x140006f15
lea rcx, [0x140064af4]
call fcn.14002ea70
cmp dword [0x140064af4], 0xffffffff
jne 0x140006ffa
lea rdi, [rsp + 0x70]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rdi + 4]
mov dword [0x140064af0], eax
lea rcx, [0x140064af4]
call fcn.14002ea10
jmp 0x140006ffa
mov rcx, rdi
call qword [sym.imp.mozglue.dll_free]
jmp 0x14000705e
inc qword [rsp + 0xc8]
mov eax, dword [rsp + 0xb8]
inc eax
mov dword [rsp + 0xb8], eax
mov eax, eax
cmp qword [rsp + 0xb0], rax
jbe 0x140006f59
mov rax, qword [rsp + 0xc8]
cmp rax, qword [rsp + 0xd0]
je 0x14000710e
mov rcx, qword [rsp + 0xc0]
mov byte [rcx + rax], 0x90
jmp 0x1400070c6
mov edx, 1
mov rcx, rdi
call fcn.140014b80
test al, al
je 0x140007129
mov rax, qword [rsp + 0xc8]
jmp 0x140007100
mov byte [rsp + 0xf8], 0
mov eax, dword [rsp + 0xb8]
jmp 0x1400070de