Function at 0x14009ee40
Capabilities:
Access peb ldr_data
Check os version
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa38
movaps xmmword [rsp + 0xa20], xmm11
movaps xmmword [rsp + 0xa10], xmm10
movaps xmmword [rsp + 0xa00], xmm9
movaps xmmword [rsp + 0x9f0], xmm8
movaps xmmword [rsp + 0x9e0], xmm7
movaps xmmword [rsp + 0x9d0], xmm6
mov r13, rcx
movzx eax, byte [0x140177ea0]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f3650
test rax, rax
je 0x1400a3de7
mov rsi, rax
mov qword [rax], 1
mov qword [rax + 8], 1
call fcn.1400f90c0
mov rcx, rax
shr rcx, 0x20
cmp eax, 2
mov edx, 1
cmovae edx, eax
mov qword [rsp + 0x508], 0x400
mov word [rsp + 0x592], 0
mov qword [rsp + 0x4c0], 0
mov qword [rsp + 0x510], 0x200
mov qword [rsp + 0x4f8], rsi
lea rax, [0x1401638e0]
mov qword [rsp + 0x500], rax
mov qword [rsp + 0x4d0], 0
mov qword [rsp + 0x518], 0
mov qword [rsp + 0x528], 0
mov qword [rsp + 0x538], 0
mov qword [rsp + 0x548], 0
mov qword [rsp + 0x558], 0
mov qword [rsp + 0x568], 0
mov dword [rsp + 0x4f0], 0x3b9aca00
mov dword [rsp + 0x4e0], 0
mov dword [rsp + 0x580], 0x3d
mov qword [rsp + 0x578], 0x100
mov dword [rsp + 0x584], 0
mov dword [rsp + 0x588], ecx
mov dword [rsp + 0x58c], edx
mov byte [rsp + 0x594], 0
add eax, 0x66000000
mov dword [rsp + 0x590], 0xc7480101
sar edi, 0xff
invalid
push qword [rcx]
rol byte [rbp + 0x31], cl
rol byte [rbp + 0x31], 0xc9
call qword [sym.imp.KERNEL32.dll_CreateIoCompletionPort]
test rax, rax
je 0x14009f88e
mov rdi, rax
movzx eax, byte [0x140177ea0]
mov eax, 0xba000d8e
sbb byte [rax], al
add byte [rax], al
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
movzx eax, byte [0x140177ea0]
mov edx, 8
xor ecx, ecx
call fcn.1400f3650
test rax, rax
je 0x1400a3f34
mov rsi, rax
shl rdi, 0x20
or rdi, 2
mov qword [rax], rdi
movzx eax, byte [0x140177ea0]
mov edx, 0x70
xor ecx, ecx
call fcn.1400f3650
test rax, rax
je 0x1400a3d5d
movabs rcx, 0x8000000000000000
mov qword [rax], rcx
mov qword [rax + 0x58], rsi
lea rcx, [0x140157830]
mov qword [rax + 0x60], rcx
mov word [rax + 0x68], 0
mov rcx, qword [r13 + 0x1a0]
mov rdx, rax
call fcn.1400afa30
mov rsi, rdx
cmp rax, 1
jne 0x1400a1899
test rsi, rsi
jne 0x1400a18a3
jmp 0x1400a1911
test rsi, rsi
setne cl
test al, cl
je 0x1400a1911
mov rdi, qword [rsi + 0x58]
test rdi, rdi
je 0x1400a18e1
mov rbx, qword [rsi + 0x60]
mov rax, qword [rbx]
test rax, rax
je 0x1400a18bd
mov rcx, rdi
call rax
cmp qword [rbx + 8], 0
je 0x1400a18e1
cmp qword [rbx + 0x10], 0x11
jb 0x1400a18cf
mov rdi, qword [rdi - 8]
mov rcx, qword [0x140177e28]
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rax, qword [rsi]
shl rax, 1
test rax, rax
je 0x1400a18ff
mov r8, qword [rsi + 8]
mov rcx, qword [0x140177e28]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [0x140177e28]
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
lea rcx, [rsp + 0x4c0]
call fcn.1400a4050
mov rcx, r13
call fcn.1400a4700
mov r14, qword [r13 + 0x198]
cmp byte [r14 + 0x1b8], 0
jne 0x1400a193f
mov byte [r14 + 0x1b8], 1
lock or qword [r14 + 0x1c0], 1
lea rcx, [r14 + 0x180]
call fcn.1400fdb90
lea rsi, [r14 + 0x1a0]
lea rdi, [r14 + 0x80]