Function at 0x140010140
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x80]
sub rsp, 0x180
mov rax, qword [0x14005c060]
xor rax, rsp
mov qword [rbp + 0x70], rax
mov r15d, r8d
mov r14, rdx
mov r12, rcx
mov edi, 4
mov rax, qword gs:[0x58]
add rdi, qword [rax]
mov eax, dword [rdi]
cmp dword [0x14005f4a8], eax
jle 0x1400101bd
lea rcx, [0x14005f4a8]
call fcn.1400139f0
cmp dword [0x14005f4a8], 0xffffffff
jne 0x1400101bd
call fcn.14000dda0
mov qword [0x14005f490], rax
lea rcx, [0x14005f4a8]
call fcn.140013990
mov eax, dword [rdi]
cmp dword [0x14005f4bc], eax
jle 0x1400101f4
lea rcx, [0x14005f4bc]
call fcn.1400139f0
cmp dword [0x14005f4bc], 0xffffffff
jne 0x1400101f4
call fcn.14000e310
mov qword [0x14005f480], rax
lea rcx, [0x14005f4bc]
call fcn.140013990
cmp qword [0x14005f490], 0
je 0x140010bec
cmp qword [0x14005f480], 0
je 0x140010bec
mov eax, dword [rdi]
cmp dword [0x14005f190], eax
jle 0x14001024e
lea rcx, [0x14005f190]
call fcn.1400139f0
cmp dword [0x14005f190], 0xffffffff
jne 0x14001024e
lea rdx, str.ExAcquireResourceExclusiveLite
call fcn.14000d900
mov qword [0x14005f388], rax
lea rcx, [0x14005f190]
call fcn.140013990
mov eax, dword [rdi]
cmp dword [0x14005f194], eax
jle 0x14001028c
lea rcx, [0x14005f194]
call fcn.1400139f0
cmp dword [0x14005f194], 0xffffffff
jne 0x14001028c
lea rdx, str.RtlLookupElementGenericTableAvl
call fcn.14000d900
mov qword [0x14005f310], rax
lea rcx, [0x14005f194]
call fcn.140013990
mov eax, dword [rdi]
cmp dword [0x14005f1a4], eax
jle 0x1400102ca
lea rcx, [0x14005f1a4]
call fcn.1400139f0
cmp dword [0x14005f1a4], 0xffffffff
jne 0x1400102ca
lea rdx, str.ExReleaseResourceLite
call fcn.14000d900
mov qword [0x14005f460], rax
lea rcx, [0x14005f1a4]
call fcn.140013990
mov eax, dword [rdi]
cmp dword [0x14005f458], eax
jle 0x140010308
lea rcx, [0x14005f458]
call fcn.1400139f0
cmp dword [0x14005f458], 0xffffffff
jne 0x140010308
lea rdx, str.RtlDeleteElementGenericTableAvl
call fcn.14000d900
mov qword [0x14005f1b0], rax
lea rcx, [0x14005f458]
call fcn.140013990
cmp qword [0x14005f388], 0
je 0x140010bec
cmp qword [0x14005f310], 0
je 0x140010bec
cmp qword [0x14005f460], 0
je 0x140010bec
mov rsi, qword [r14 + 0x10]
cmp qword [r14 + 0x18], 0x10
jb 0x140010345
mov rbx, qword [r14]
add rsi, rbx
jmp 0x14001034b
add rsi, r14
mov rbx, r14
xor r14d, r14d
mov qword [rbp + 0x18], r14
mov ecx, r14d
mov qword [rbp + 0x28], rcx
mov r8d, 7
mov qword [rbp + 0x30], r8
mov word [rbp + 0x18], r14w
mov rdx, rsi
sub rdx, rbx
cmp rdx, 8
jb 0x140010388
lea rcx, [rbp + 0x18]
call fcn.140010ee0
mov ecx, r14d
mov qword [rbp + 0x28], rcx
mov r8, qword [rbp + 0x30]
lea rax, [rbp + 0x18]
mov qword [rsp + 0x30], rax
cmp rbx, rsi
je 0x1400103dc
movsx r9d, byte [rbx]
cmp rcx, r8
jae 0x1400103c1
lea rax, [rcx + 1]
mov qword [rbp + 0x28], rax
lea rax, [rbp + 0x18]
cmp r8, 8
cmovae rax, qword [rbp + 0x18]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r14w
jmp 0x1400103ca
lea rcx, [rbp + 0x18]
call fcn.140011050
inc rbx
mov r8, qword [rbp + 0x30]
cmp rbx, rsi
je 0x1400103dc
mov rcx, qword [rbp + 0x28]
jmp 0x140010396
mov dword [rbp + 0x58], r15d
lea rdx, [rbp + 0x18]
cmp r8, 8
cmovae rdx, qword [rbp + 0x18]
lea rcx, [rbp + 0x48]
call qword [sym.imp.ntdll.dll_RtlInitUnicodeString]
mov rbx, qword [0x14005f490]
mov rsi, qword [0x14005f388]
mov eax, dword [rdi]
cmp dword [0x14005f2d0], eax
jle 0x140010454
lea rcx, [0x14005f2d0]
call fcn.1400139f0
cmp dword [0x14005f2d0], 0xffffffff
jne 0x140010454
lea rcx, [0x1400479e8]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rdx, str.NtShutdownSystem
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14005f2e8], rax
lea rcx, [0x14005f2d0]
call fcn.140013990
mov eax, dword [rdi]
cmp dword [0x14005f268], eax
jle 0x14001049c
lea rcx, [0x14005f268]
call fcn.1400139f0
cmp dword [0x14005f268], 0xffffffff
jne 0x14001049c
mov edx, 2
lea rcx, [0x14005f270]
call fcn.1400127f8
lea rcx, [0x1400387a0]
call fcn.14001381c
lea rcx, [0x14005f268]
call fcn.140013990
lea rcx, [0x14005f270]
call fcn.140012828
test eax, eax
jne 0x140010c1c
mov dword [rsp + 0x30], 0x25ff
mov word [rsp + 0x34], ax
mov qword [rsp + 0x36], rsi
mov rcx, qword [0x14005f068]
lea r8d, [rax + 0xe]
lea rdx, [rbp - 0x80]
call fcn.1400074f0
mov rcx, qword [0x14005f068]
mov r8d, 0xe
lea rdx, [rsp + 0x30]
call fcn.140007690
mov rax, qword [0x14005f2e8]
mov dl, 1
mov rcx, rbx
call rax
movzx ebx, al
mov rcx, qword [0x14005f068]
mov r8d, 0xe
lea rdx, [rbp - 0x80]
call fcn.140007690
lea rcx, [0x14005f270]
call fcn.140012830
test bl, bl
je 0x140010ba9
mov rbx, qword [0x14005f480]
mov rsi, qword [0x14005f310]
mov eax, dword [rdi]
cmp dword [0x14005f380], eax
jle 0x140010585
lea rcx, [0x14005f380]
call fcn.1400139f0
cmp dword [0x14005f380], 0xffffffff
jne 0x140010585
lea rcx, [0x1400479e8]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rdx, str.NtShutdownSystem
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14005f2f0], rax
lea rcx, [0x14005f380]
call fcn.140013990
mov eax, dword [rdi]
cmp dword [0x14005f1b8], eax
jle 0x1400105cd
lea rcx, [0x14005f1b8]
call fcn.1400139f0
cmp dword [0x14005f1b8], 0xffffffff
jne 0x1400105cd
mov edx, 2
lea rcx, [0x14005f3f0]
call fcn.1400127f8
lea rcx, [0x140038790]
call fcn.14001381c
lea rcx, [0x14005f1b8]
call fcn.140013990
lea rcx, [0x14005f3f0]
call fcn.140012828
test eax, eax
jne 0x140010c24
mov dword [rsp + 0x40], 0x25ff
mov word [rsp + 0x44], ax
mov qword [rsp + 0x46], rsi
mov rcx, qword [0x14005f068]
lea r8d, [rax + 0xe]
lea rdx, [rbp - 0x70]
call fcn.1400074f0
mov rcx, qword [0x14005f068]
mov r8d, 0xe
lea rdx, [rsp + 0x40]
call fcn.140007690
mov rax, qword [0x14005f2f0]
lea rdx, [rbp + 0x38]
mov rcx, rbx
call rax
mov rbx, rax
mov rcx, qword [0x14005f068]
mov r8d, 0xe
lea rdx, [rbp - 0x70]
call fcn.140007690
lea rcx, [0x14005f3f0]
call fcn.140012830
test rbx, rbx
je 0x140010a86
mov r9d, 0x38
mov r8, rbx
lea rdx, [rbp - 0x20]
mov rcx, r12
call fcn.14000f100
test al, al
jne 0x14001068a
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm0
movups xmmword [rbp], xmm0
mov qword [rbp + 0x10], rax
mov r9d, 0x10
mov r8, qword [rbp - 0x20]
lea rdx, [rbp - 0x30]
mov rcx, r12
call fcn.14000f100
test al, al
jne 0x1400106ab
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
mov r9d, 0x10
mov r8, qword [rbp - 0x18]
lea rdx, [rbp - 0x40]
mov rcx, r12
call fcn.14000f100
mov rdx, qword [rbp - 0x38]
test al, al
cmove rdx, r14
mov qword [rbp - 0x38], rdx
mov rax, qword [rbp - 0x20]
mov qword [rbp - 0x40], rax
mov rdx, qword [rbp - 0x18]
mov qword [rbp - 0x28], rdx
mov r9d, 0x10
lea r8, [rbp - 0x40]
mov rcx, r12
call fcn.14000f810
mov r9d, 0x10
lea r8, [rbp - 0x30]
mov rdx, qword [rbp - 0x20]
mov rcx, r12
call fcn.14000f810
mov rsi, qword [0x14005f480]
mov r14, qword [0x14005f1b0]
mov eax, dword [rdi]
cmp dword [0x14005f250], eax
jle 0x140010764
lea rcx, [0x14005f250]
call fcn.1400139f0
cmp dword [0x14005f250], 0xffffffff
jne 0x140010764
lea rcx, [0x1400479e8]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rdx, str.NtShutdownSystem
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14005f320], rax
lea rcx, [0x14005f250]
call fcn.140013990
mov eax, dword [rdi]
cmp dword [0x14005f4ac], eax
jle 0x1400107ac
lea rcx, [0x14005f4ac]
call fcn.1400139f0
cmp dword [0x14005f4ac], 0xffffffff
jne 0x1400107ac
mov edx, 2
lea rcx, [0x14005f390]
call fcn.1400127f8
lea rcx, [0x140038780]
call fcn.14001381c
lea rcx, [0x14005f4ac]
call fcn.140013990
lea rcx, [0x14005f390]
call fcn.140012828
test eax, eax
jne 0x140010c2c
mov dword [rsp + 0x50], 0x25ff
mov word [rsp + 0x54], ax
mov qword [rsp + 0x56], r14
mov rcx, qword [0x14005f068]
lea r8d, [rax + 0xe]
lea rdx, [rbp - 0x60]
call fcn.1400074f0
mov rcx, qword [0x14005f068]
mov r8d, 0xe
lea rdx, [rsp + 0x50]
call fcn.140007690
mov rdx, rbx
mov rcx, rsi
call qword [0x14005f320]
mov rcx, qword [0x14005f068]
mov r8d, 0xe
lea rdx, [rbp - 0x60]
call fcn.140007690
lea rcx, [0x14005f390]
call fcn.140012830
mov rbx, qword [0x14005f480]
mov rsi, qword [0x14005f310]
mov eax, dword [rdi]
cmp dword [0x14005f380], eax
jle 0x140010888
lea rcx, [0x14005f380]
call fcn.1400139f0
cmp dword [0x14005f380], 0xffffffff
jne 0x140010888
lea rcx, [0x1400479e8]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rdx, str.NtShutdownSystem
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14005f2f0], rax
lea rcx, [0x14005f380]
call fcn.140013990
mov eax, dword [rdi]
cmp dword [0x14005f1b8], eax
jle 0x1400108d0
lea rcx, [0x14005f1b8]
call fcn.1400139f0
cmp dword [0x14005f1b8], 0xffffffff
jne 0x1400108d0
mov edx, 2
lea rcx, [0x14005f3f0]
call fcn.1400127f8
lea rcx, [0x140038790]
call fcn.14001381c
lea rcx, [0x14005f1b8]
call fcn.140013990
lea rcx, [0x14005f3f0]
call fcn.140012828
test eax, eax
jne 0x140010c34
mov dword [rsp + 0x60], 0x25ff
mov word [rsp + 0x64], ax
mov qword [rsp + 0x66], rsi
mov rcx, qword [0x14005f068]
lea r8d, [rax + 0xe]
lea rdx, [rbp - 0x50]
call fcn.1400074f0
mov rcx, qword [0x14005f068]
mov r8d, 0xe
lea rdx, [rsp + 0x60]
call fcn.140007690
mov rax, qword [0x14005f2f0]
lea rdx, [rbp + 0x38]
mov rcx, rbx
call rax
mov rbx, rax
mov rcx, qword [0x14005f068]
mov r8d, 0xe
lea rdx, [rbp - 0x50]
call fcn.140007690
lea rcx, [0x14005f3f0]
call fcn.140012830
mov rsi, qword [0x14005f490]
mov r14, qword [0x14005f460]
mov r8d, dword [rdi]
cmp dword [0x14005f2c8], r8d
jle 0x1400109b5
lea rcx, [0x14005f2c8]
call fcn.1400139f0
cmp dword [0x14005f2c8], 0xffffffff
jne 0x1400109b5
lea rcx, [0x1400479e8]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rdx, str.NtShutdownSystem
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14005f2d8], rax
lea rcx, [0x14005f2c8]
call fcn.140013990
mov eax, dword [rdi]
cmp dword [0x14005f308], eax
jle 0x1400109fd
lea rcx, [0x14005f308]
call fcn.1400139f0
cmp dword [0x14005f308], 0xffffffff
jne 0x1400109fd
mov edx, 2
lea rcx, [0x14005f330]
call fcn.1400127f8
lea rcx, [0x140038770]
call fcn.14001381c
lea rcx, [0x14005f308]
call fcn.140013990
lea rcx, [0x14005f330]
call fcn.140012828
test eax, eax
jne 0x140010c3c
mov dword [rsp + 0x20], 0x25ff
mov word [rsp + 0x24], ax
mov qword [rsp + 0x26], r14
mov rcx, qword [0x14005f068]
lea r8d, [rax + 0xe]
lea rdx, [rsp + 0x70]
call fcn.1400074f0
mov rcx, qword [0x14005f068]
mov r8d, 0xe
lea rdx, [rsp + 0x20]
call fcn.140007690
mov rcx, rsi
call qword [0x14005f2d8]
mov rcx, qword [0x14005f068]
mov r8d, 0xe
lea rdx, [rsp + 0x70]
call fcn.140007690
lea rcx, [0x14005f330]
call fcn.140012830
test rbx, rbx
sete bl
jmp 0x140010bab
mov rbx, qword [0x14005f490]
mov rsi, qword [0x14005f460]
mov eax, dword [rdi]
cmp dword [0x14005f2c8], eax
jle 0x140010ae3
lea rcx, [0x14005f2c8]
call fcn.1400139f0
cmp dword [0x14005f2c8], 0xffffffff
jne 0x140010ae3
lea rcx, [0x1400479e8]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rdx, str.NtShutdownSystem
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14005f2d8], rax
lea rcx, [0x14005f2c8]
call fcn.140013990
mov eax, dword [rdi]
cmp dword [0x14005f308], eax
jle 0x140010b2b
lea rcx, [0x14005f308]
call fcn.1400139f0
cmp dword [0x14005f308], 0xffffffff
jne 0x140010b2b
mov edx, 2
lea rcx, [0x14005f330]
call fcn.1400127f8
lea rcx, [0x140038770]
call fcn.14001381c
lea rcx, [0x14005f308]
call fcn.140013990
lea rcx, [0x14005f330]
call fcn.140012828
test eax, eax
jne 0x140010c44
mov dword [rsp + 0x20], 0x25ff
mov word [rsp + 0x24], ax
mov qword [rsp + 0x26], rsi
mov rcx, qword [0x14005f068]
lea r8d, [rax + 0xe]
lea rdx, [rsp + 0x70]
call fcn.1400074f0
mov rcx, qword [0x14005f068]
mov r8d, 0xe
lea rdx, [rsp + 0x20]
call fcn.140007690
mov rcx, rbx
call qword [0x14005f2d8]
mov rcx, qword [0x14005f068]
mov r8d, 0xe
lea rdx, [rsp + 0x70]
call fcn.140007690
lea rcx, [0x14005f330]
call fcn.140012830
xor bl, bl
mov rdx, qword [rbp + 0x30]
cmp rdx, 8
jb 0x140010be7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140010be2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140010c16
call fcn.1400135a0
movzx eax, bl
jmp 0x140010bee
xor al, al
mov rcx, qword [rbp + 0x70]
xor rcx, rsp
call fcn.140013580
lea r11, [rsp + 0x180]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
call fcn.14001c1b0
nop
mov ecx, eax
call fcn.14001240c
int3
mov ecx, eax
call fcn.14001240c
int3
mov ecx, eax
call fcn.14001240c
int3
mov ecx, eax
call fcn.14001240c
int3
mov ecx, eax
call fcn.14001240c
int3
mov ecx, eax
call fcn.14001240c
int3