Function at 0x140024e10
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x47]
sub rsp, 0xd0
mov esi, r8d
mov edi, 4
mov rax, qword gs:[0x58]
add rdi, qword [rax]
xor r15d, r15d
mov eax, dword [rdi]
cmp dword [0x1400c6ab8], eax
jle 0x140024f6f
lea rcx, [0x1400c6ab8]
call fcn.14009f2b8
cmp dword [0x1400c6ab8], 0xffffffff
jne 0x140024f6f
mov eax, dword [rdi]
cmp dword [0x1400c6b10], eax
jle 0x140024ea5
lea rcx, [0x1400c6b10]
call fcn.14009f2b8
cmp dword [0x1400c6b10], 0xffffffff
jne 0x140024ea5
call fcn.140027040
mov qword [0x1400c6a18], rax
lea rcx, [0x1400c6b10]
call fcn.14009f24c
mov eax, dword [rdi]
cmp dword [0x1400c6a58], eax
jle 0x140024ee4
lea rcx, [0x1400c6a58]
call fcn.14009f2b8
cmp dword [0x1400c6a58], 0xffffffff
jne 0x140024ee4
lea rcx, str.ntoskrnl.exe
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov qword [0x1400c6ae0], rax
lea rcx, [0x1400c6a58]
call fcn.14009f24c
mov rcx, qword [0x1400c6a18]
test rcx, rcx
je 0x140024f59
mov rdx, qword [0x1400c6ae0]
test rdx, rdx
je 0x140024f59
movsxd rbx, dword [rcx + 3]
sub rbx, rdx
add rbx, 7
add rbx, rcx
mov eax, dword [rdi]
cmp dword [0x1400c6bd8], eax
jle 0x140024f48
lea rcx, [0x1400c6bd8]
call fcn.14009f2b8
cmp dword [0x1400c6bd8], 0xffffffff
jne 0x140024f48
lea rcx, str.ntoskrnl.exe
call fcn.140023fc0
mov qword [0x1400c6ac8], rax
lea rcx, [0x1400c6bd8]
call fcn.14009f24c
mov rax, qword [0x1400c6ac8]
test rax, rax
je 0x140024f59
add rax, rbx
jmp 0x140024f5c
mov rax, r15
mov qword [0x1400c6a40], rax
lea rcx, [0x1400c6ab8]
call fcn.14009f24c
mov eax, dword [rdi]
cmp dword [0x1400c6bd4], eax
jle 0x140025097
lea rcx, [0x1400c6bd4]
call fcn.14009f2b8
cmp dword [0x1400c6bd4], 0xffffffff
jne 0x140025097
mov eax, dword [rdi]
cmp dword [0x1400c6b3c], eax
jle 0x140024fcd
lea rcx, [0x1400c6b3c]
call fcn.14009f2b8
cmp dword [0x1400c6b3c], 0xffffffff
jne 0x140024fcd
call fcn.140027370
mov qword [0x1400c6b88], rax
lea rcx, [0x1400c6b3c]
call fcn.14009f24c
mov eax, dword [rdi]
cmp dword [0x1400c6b70], eax
jle 0x14002500c
lea rcx, [0x1400c6b70]
call fcn.14009f2b8
cmp dword [0x1400c6b70], 0xffffffff
jne 0x14002500c
lea rcx, str.ntoskrnl.exe
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov qword [0x1400c6a08], rax
lea rcx, [0x1400c6b70]
call fcn.14009f24c
mov rdx, qword [0x1400c6b88]
test rdx, rdx
je 0x140025081
mov r8, qword [0x1400c6a08]
test r8, r8
je 0x140025081
movsxd rbx, dword [rdx + 3]
sub rbx, r8
add rbx, 7
add rbx, rdx
mov eax, dword [rdi]
cmp dword [0x1400c69e0], eax
jle 0x140025070
lea rcx, [0x1400c69e0]
call fcn.14009f2b8
cmp dword [0x1400c69e0], 0xffffffff
jne 0x140025070
lea rcx, str.ntoskrnl.exe
call fcn.140023fc0
mov qword [0x1400c6ac0], rax
lea rcx, [0x1400c69e0]
call fcn.14009f24c
mov rax, qword [0x1400c6ac0]
test rax, rax
je 0x140025081
add rax, rbx
jmp 0x140025084
mov rax, r15
mov qword [0x1400c6a20], rax
lea rcx, [0x1400c6bd4]
call fcn.14009f24c
cmp qword [0x1400c6a40], 0
je 0x140025677
cmp qword [0x1400c6a20], 0
je 0x140025677
mov eax, dword [rdi]
cmp dword [0x1400c6b08], eax
jle 0x1400250f4
lea rcx, [0x1400c6b08]
call fcn.14009f2b8
cmp dword [0x1400c6b08], 0xffffffff
jne 0x1400250f4
xor r8d, r8d
lea rdx, str.ExAcquireResourceExclusiveLite
call fcn.140024190
mov qword [0x1400c6b50], rax
lea rcx, [0x1400c6b08]
call fcn.14009f24c
mov eax, dword [rdi]
cmp dword [0x1400c6ad0], eax
jle 0x140025135
lea rcx, [0x1400c6ad0]
call fcn.14009f2b8
cmp dword [0x1400c6ad0], 0xffffffff
jne 0x140025135
xor r8d, r8d
lea rdx, str.RtlLookupElementGenericTableAvl
call fcn.140024190
mov qword [0x1400c6b48], rax
lea rcx, [0x1400c6ad0]
call fcn.14009f24c
mov eax, dword [rdi]
cmp dword [0x1400c6b0c], eax
jle 0x140025176
lea rcx, [0x1400c6b0c]
call fcn.14009f2b8
cmp dword [0x1400c6b0c], 0xffffffff
jne 0x140025176
xor r8d, r8d
lea rdx, str.ExReleaseResourceLite
call fcn.140024190
mov qword [0x1400c6b28], rax
lea rcx, [0x1400c6b0c]
call fcn.14009f24c
mov eax, dword [rdi]
cmp dword [0x1400c69a8], eax
jle 0x1400251b7
lea rcx, [0x1400c69a8]
call fcn.14009f2b8
cmp dword [0x1400c69a8], 0xffffffff
jne 0x1400251b7
xor r8d, r8d
lea rdx, str.RtlDeleteElementGenericTableAvl
call fcn.140024190
mov qword [0x1400c6a38], rax
lea rcx, [0x1400c69a8]
call fcn.14009f24c
cmp qword [0x1400c6b50], 0
je 0x140025677
cmp qword [0x1400c6b48], 0
je 0x140025677
cmp qword [0x1400c6b28], 0
je 0x140025677
lea rdx, [0x1400bf388]
mov r9, qword [0x1400bf398]
cmp qword [0x1400bf3a0], 0xf
jbe 0x140025200
mov rdx, qword [0x1400bf388]
add r9, rdx
xorps xmm0, xmm0
movups xmmword [rbp - 0x69], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x59], xmm1
cmp rdx, r9
jne 0x14002522b
movdqa xmm0, xmmword [0x1400b16b0]
movdqu xmmword [rbp - 0x59], xmm0
mov word [rbp - 0x69], r15w
jmp 0x140025238
sub r9, rdx
lea rcx, [rbp - 0x69]
call fcn.140027990
nop
mov dword [rbp + 0x2f], esi
lea rdx, [rbp - 0x69]
cmp qword [rbp - 0x51], 7
cmova rdx, qword [rbp - 0x69]
lea rcx, [rbp + 0x1f]
call qword [sym.imp.ntdll.dll_RtlInitUnicodeString]
mov rbx, qword [0x1400c6a40]
mov rsi, qword [0x1400c6b50]
mov eax, dword [rdi]
cmp dword [0x1400c6b20], eax
jle 0x1400252b0
lea rcx, [0x1400c6b20]
call fcn.14009f2b8
cmp dword [0x1400c6b20], 0xffffffff
jne 0x1400252b0
lea rcx, [0x1400a2c38]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, str.NtShutdownSystem
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400c6b78], rax
lea rcx, [0x1400c6b20]
call fcn.14009f24c
mov rcx, qword [0x1400c02b0]
mov rdx, rsi
call fcn.140010630
mov rax, qword [0x1400c6b78]
mov dl, 1
mov rcx, rbx
call rax
movzx ebx, al
mov rcx, qword [0x1400c02b0]
call fcn.140010830
test bl, bl
je 0x14002562d
mov rbx, qword [0x1400c6a20]
mov rsi, qword [0x1400c6b48]
mov eax, dword [rdi]
cmp dword [0x1400c6a30], eax
jle 0x140025341
lea rcx, [0x1400c6a30]
call fcn.14009f2b8
cmp dword [0x1400c6a30], 0xffffffff
jne 0x140025341
lea rcx, [0x1400a2c38]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, str.NtShutdownSystem
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400c6a90], rax
lea rcx, [0x1400c6a30]
call fcn.14009f24c
mov rcx, qword [0x1400c02b0]
mov rdx, rsi
call fcn.140010630
mov rax, qword [0x1400c6a90]
lea rdx, [rbp + 0xf]
mov rcx, rbx
call rax
mov r14, rax
mov rcx, qword [0x1400c02b0]
call fcn.140010830
test r14, r14
je 0x1400255ac
mov r9d, 0x38
lea r8, [rbp - 0x29]
mov rdx, r14
call fcn.140026ba0
mov rdx, qword [rbp - 0x29]
test rdx, rdx
jne 0x14002539c
xorps xmm0, xmm0
movups xmmword [rbp - 0x39], xmm0
jmp 0x1400253af
mov r9d, reloc.WS2_32.dll_recv
lea r8, [rbp - 0x39]
call fcn.140026ba0
mov rdx, qword [rbp - 0x29]
mov rax, qword [rbp - 0x21]
test rax, rax
jne 0x1400253be
mov qword [rbp - 0x41], r15
jmp 0x1400253d8
mov r9d, reloc.WS2_32.dll_recv
lea r8, [rbp - 0x49]
mov rdx, rax
call fcn.140026ba0
mov rax, qword [rbp - 0x21]
mov rdx, qword [rbp - 0x29]
mov qword [rbp - 0x49], rdx
mov qword [rbp - 0x31], rax
test rax, rax
je 0x1400253fb
mov r9d, reloc.WS2_32.dll_recv
lea r8, [rbp - 0x49]
mov rdx, rax
call fcn.140026cb0
mov rdx, qword [rbp - 0x29]
test rdx, rdx
je 0x14002540f
mov r9d, reloc.WS2_32.dll_recv
lea r8, [rbp - 0x39]
call fcn.140026cb0
mov rbx, qword [0x1400c6a20]
mov rsi, qword [0x1400c6a38]
mov eax, dword [rdi]
cmp dword [0x1400c6ae8], eax
jle 0x14002546c
lea rcx, [0x1400c6ae8]
call fcn.14009f2b8
cmp dword [0x1400c6ae8], 0xffffffff
jne 0x14002546c
lea rcx, [0x1400a2c38]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, str.NtShutdownSystem
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400c69b0], rax
lea rcx, [0x1400c6ae8]
call fcn.14009f24c
mov rcx, qword [0x1400c02b0]
mov rdx, rsi
call fcn.140010630
mov rdx, r14
mov rcx, rbx
call qword [0x1400c69b0]
mov rcx, qword [0x1400c02b0]
call fcn.140010830
mov rbx, qword [0x1400c6a20]
mov rsi, qword [0x1400c6b48]
mov eax, dword [rdi]
cmp dword [0x1400c6a30], eax
jle 0x1400254f0
lea rcx, [0x1400c6a30]
call fcn.14009f2b8
cmp dword [0x1400c6a30], 0xffffffff
jne 0x1400254f0
lea rcx, [0x1400a2c38]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, str.NtShutdownSystem
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400c6a90], rax
lea rcx, [0x1400c6a30]
call fcn.14009f24c
mov rcx, qword [0x1400c02b0]
mov rdx, rsi
call fcn.140010630
mov rax, qword [0x1400c6a90]
lea rdx, [rbp + 0xf]
mov rcx, rbx
call rax
mov rbx, rax
mov rcx, qword [0x1400c02b0]
call fcn.140010830
mov rsi, qword [0x1400c6a40]
mov r14, qword [0x1400c6b28]
mov r8d, dword [rdi]
cmp dword [0x1400c6bc8], r8d
jle 0x14002557d
lea rcx, [0x1400c6bc8]
call fcn.14009f2b8
cmp dword [0x1400c6bc8], 0xffffffff
jne 0x14002557d
lea rcx, [0x1400a2c38]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, str.NtShutdownSystem
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400c6b18], rax
lea rcx, [0x1400c6bc8]
call fcn.14009f24c
mov rcx, qword [0x1400c02b0]
mov rdx, r14
call fcn.140010630
mov rcx, rsi
call qword [0x1400c6b18]
mov rcx, qword [0x1400c02b0]
call fcn.140010830
test rbx, rbx
sete bl
jmp 0x14002562f
mov rbx, qword [0x1400c6a40]
mov rsi, qword [0x1400c6b28]
mov eax, dword [rdi]
cmp dword [0x1400c6bc8], eax
jle 0x140025609
lea rcx, [0x1400c6bc8]
call fcn.14009f2b8
cmp dword [0x1400c6bc8], 0xffffffff
jne 0x140025609
lea rcx, [0x1400a2c38]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, str.NtShutdownSystem
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400c6b18], rax
lea rcx, [0x1400c6bc8]
call fcn.14009f24c
mov rcx, qword [0x1400c02b0]
mov rdx, rsi
call fcn.140010630
mov rcx, rbx
call qword [0x1400c6b18]
mov rcx, qword [0x1400c02b0]
call fcn.140010830
xor bl, bl
mov rdx, qword [rbp - 0x51]
cmp rdx, 7
jbe 0x140025672
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x69]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002566d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14002566d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14009f1d4
movzx eax, bl
jmp 0x140025679
xor al, al
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret