Function at 0x140017804
Capabilities:
Check for peb beingdebugged flag

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x40
xor r13d, r13d
shr ecx, 0x18
and ecx, 0xf
mov r14d, r8d
mov qword [rbp - 0x20], r13
mov eax, r9d
mov r12, rdx
mov esi, r13d
mov edi, r13d
sub ecx, 1
je 0x140017b43
sub ecx, 1
je 0x140017aa5
sub ecx, 1
je 0x140017a6c
sub ecx, 1
je 0x140017953
sub ecx, 1
je 0x14001790f
sub ecx, 1
je 0x1400178cc
cmp ecx, 1
je 0x1400178bc
mov rcx, qword gs:[0x60]
mov r8, r14
xor edx, edx
mov r15d, r14d
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
nop dword [rax + rax]
mov rsi, rax
test rax, rax
jne 0x1400178a9
mov edi, 0xc0000017
jmp 0x140017c58
mov r8, r14
mov rdx, r12
mov rcx, rax
call sub.msvcrt.dll_memcpy
jmp 0x140017bfa
test r14b, 7
je 0x140017876
mov edi, 0xc0000024
jmp 0x140017c58
lea eax, [r14 - 1]
cmp eax, 1
ja 0x1400178c2
mov rcx, qword gs:[0x60]
mov r15d, 1
xor edx, edx
mov r8d, r15d
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
nop dword [rax + rax]
mov rsi, rax
test rax, rax
je 0x14001789f
cmp byte [r12], r13b
setne al
mov byte [rsi], al
jmp 0x140017bfa
mov r15d, 8
cmp r14d, r15d
jne 0x1400178c2
mov rcx, qword gs:[0x60]
mov r8d, r15d
xor edx, edx
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
nop dword [rax + rax]
mov rsi, rax
test rax, rax
je 0x14001789f
movsd xmm0, qword [r12]
movsd qword [rax], xmm0
jmp 0x140017bfa
test r14b, 0xf
jne 0x1400178c2
shr r14d, 4
mov r15d, r13d
mov ebx, r13d
test r14d, r14d
je 0x1400179c2
xor edx, edx
lea rcx, [rbp - 0x18]
call qword [sym.imp.ntdll.dll_RtlInitUnicodeString]
nop dword [rax + rax]
mov ecx, ebx
lea rdx, [rbp - 0x18]
shl rcx, 4
add rcx, r12
call qword [sym.imp.ntdll.dll_RtlStringFromGUID]
nop dword [rax + rax]
mov edi, eax
test eax, eax
js 0x140017c58
movzx ecx, word [rbp - 0x18]
add ecx, 2
add r15d, ecx
lea rcx, [rbp - 0x18]
call qword [sym.imp.ntdll.dll_RtlFreeUnicodeString]
nop dword [rax + rax]
inc ebx
cmp ebx, r14d
jb 0x14001796c
mov rcx, qword gs:[0x60]
add r15d, 2
mov r8d, r15d
xor edx, edx
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
nop dword [rax + rax]
mov rsi, rax
test rax, rax
je 0x14001789f
xor ebx, ebx
mov r13, rax
mov dword [rbp + 0x30], ebx
mov eax, ebx
test r14d, r14d
je 0x140017a5f
mov ecx, eax
lea rdx, [rbp - 0x18]
shl rcx, 4
add rcx, r12
call qword [sym.imp.ntdll.dll_RtlStringFromGUID]
nop dword [rax + rax]
mov edi, eax
test eax, eax
js 0x140017c0d
movzx eax, word [rbp - 0x18]
mov rcx, r13
mov rdx, qword [rbp - 0x10]
add eax, 2
mov r8d, eax
mov ebx, eax
call sub.msvcrt.dll_memcpy
lea rcx, [rbp - 0x18]
add r13, rbx
call qword [sym.imp.ntdll.dll_RtlFreeUnicodeString]
nop dword [rax + rax]
mov eax, dword [rbp + 0x30]
mov ebx, 0
inc eax
mov dword [rbp + 0x30], eax
cmp eax, r14d
jb 0x1400179ff
mov word [r13], bx
xor r13d, r13d
jmp 0x140017bf6
cmp r14d, 0x10
jne 0x1400178c2
lea rdx, [rbp - 0x18]
mov rcx, r12
call qword [sym.imp.ntdll.dll_RtlStringFromGUID]
nop dword [rax + rax]
mov edi, eax
test eax, eax
js 0x140017c58
movzx r15d, word [rbp - 0x18]
mov rsi, qword [rbp - 0x10]
add r15d, 2
jmp 0x140017bf6
test r14b, 1
jne 0x1400178c2
mov eax, r14d
or ecx, 0xffffffff
shr eax, 1
mov bl, r13b
je 0x140017ace
cmp word [rdx], r13w
je 0x140017acc
add rdx, 2
add eax, ecx
jne 0x140017abc
jmp 0x140017ace
mov bl, 1
mov r15d, r14d
test bl, bl
jne 0x140017af3
lea eax, [r14 + 2]
cmp eax, r14d
cmovae ecx, eax
sbb edi, edi
and edi, 0xc0000095
mov r15d, ecx
cmp eax, r14d
jb 0x140017bf6
mov rcx, qword gs:[0x60]
xor edx, edx
mov r8d, r15d
mov r13d, r15d
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
nop dword [rax + rax]
mov rsi, rax
test rax, rax
je 0x14001789f
mov r8, r14
mov rdx, r12
mov rcx, rax
call sub.msvcrt.dll_memcpy
xor eax, eax
test bl, bl
jne 0x140017a64
mov word [rsi + r13 - 2], ax
jmp 0x140017a64
cmp dword [rdx], 6
mov rcx, r12
mov edx, r14d
jne 0x140017b59
lea r8, [rbp - 0x20]
call fcn.140017c80
jmp 0x140017b65
lea r9, [rbp - 0x20]
mov r8d, eax
call fcn.14001fab4
mov edi, eax
test eax, eax
js 0x140017c33
mov rbx, qword [rbp - 0x20]
mov eax, dword [rbx + 8]
add eax, 0x10
mov r15d, eax
cmp eax, 0x10
jae 0x140017b8b
mov edi, 0xc000000d
jmp 0x140017c33
mov rcx, qword gs:[0x60]
mov r8, r15
xor edx, edx
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
nop dword [rax + rax]
mov rsi, rax
test rax, rax
jne 0x140017bb8
mov edi, 0xc0000017
jmp 0x140017c33
movups xmm0, xmmword [r12 + 4]
mov rdx, qword [rbp - 0x20]
lea rcx, [rax + 0x10]
movdqu xmmword [rax], xmm0
mov r8d, dword [rbx + 8]
call sub.msvcrt.dll_memcpy
mov rcx, qword gs:[0x60]
xor edx, edx
mov r8, qword [rbp - 0x20]
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
nop dword [rax + rax]
mov qword [rbp - 0x20], r13
test edi, edi
js 0x140017c10
mov rax, qword [rbp + 0x50]
mov edi, r13d
mov qword [rax], rsi
mov rax, qword [rbp + 0x58]
mov dword [rax], r15d
jmp 0x140017c33
xor r13d, r13d
test rsi, rsi
je 0x140017c58
mov rcx, qword gs:[0x60]
mov r8, rsi
xor edx, edx
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
nop dword [rax + rax]
cmp qword [rbp - 0x20], r13
je 0x140017c58
mov rcx, qword gs:[0x60]
xor edx, edx
mov r8, qword [rbp - 0x20]
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
nop dword [rax + rax]
lea r11, [rsp + 0x40]
mov eax, edi
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret