Function at 0x140014480
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 [0x140073060]
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 [0x140076578], eax
jle 0x1400144fd
lea rcx, [0x140076578]
call fcn.140017d80
cmp dword [0x140076578], 0xffffffff
jne 0x1400144fd
call fcn.140012080
mov qword [0x140076560], rax
lea rcx, [0x140076578]
call fcn.140017d20
mov eax, dword [rdi]
cmp dword [0x14007658c], eax
jle 0x140014534
lea rcx, [0x14007658c]
call fcn.140017d80
cmp dword [0x14007658c], 0xffffffff
jne 0x140014534
call fcn.140012620
mov qword [0x140076550], rax
lea rcx, [0x14007658c]
call fcn.140017d20
cmp qword [0x140076560], 0
je 0x140014f2c
cmp qword [0x140076550], 0
je 0x140014f2c
mov eax, dword [rdi]
cmp dword [0x140076260], eax
jle 0x14001458e
lea rcx, [0x140076260]
call fcn.140017d80
cmp dword [0x140076260], 0xffffffff
jne 0x14001458e
lea rdx, str.ExAcquireResourceExclusiveLite
call fcn.140011be0
mov qword [0x140076458], rax
lea rcx, [0x140076260]
call fcn.140017d20
mov eax, dword [rdi]
cmp dword [0x140076264], eax
jle 0x1400145cc
lea rcx, [0x140076264]
call fcn.140017d80
cmp dword [0x140076264], 0xffffffff
jne 0x1400145cc
lea rdx, str.RtlLookupElementGenericTableAvl
call fcn.140011be0
mov qword [0x1400763e0], rax
lea rcx, [0x140076264]
call fcn.140017d20
mov eax, dword [rdi]
cmp dword [0x140076274], eax
jle 0x14001460a
lea rcx, [0x140076274]
call fcn.140017d80
cmp dword [0x140076274], 0xffffffff
jne 0x14001460a
lea rdx, str.ExReleaseResourceLite
call fcn.140011be0
mov qword [0x140076530], rax
lea rcx, [0x140076274]
call fcn.140017d20
mov eax, dword [rdi]
cmp dword [0x140076528], eax
jle 0x140014648
lea rcx, [0x140076528]
call fcn.140017d80
cmp dword [0x140076528], 0xffffffff
jne 0x140014648
lea rdx, str.RtlDeleteElementGenericTableAvl
call fcn.140011be0
mov qword [0x140076280], rax
lea rcx, [0x140076528]
call fcn.140017d20
cmp qword [0x140076458], 0
je 0x140014f2c
cmp qword [0x1400763e0], 0
je 0x140014f2c
cmp qword [0x140076530], 0
je 0x140014f2c
mov rsi, qword [r14 + 0x10]
cmp qword [r14 + 0x18], 0x10
jb 0x140014685
mov rbx, qword [r14]
add rsi, rbx
jmp 0x14001468b
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 0x1400146c8
lea rcx, [rbp + 0x18]
call fcn.140015220
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 0x14001471c
movsx r9d, byte [rbx]
cmp rcx, r8
jae 0x140014701
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 0x14001470a
lea rcx, [rbp + 0x18]
call fcn.140015390
inc rbx
mov r8, qword [rbp + 0x30]
cmp rbx, rsi
je 0x14001471c
mov rcx, qword [rbp + 0x28]
jmp 0x1400146d6
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 [0x140076560]
mov rsi, qword [0x140076458]
mov eax, dword [rdi]
cmp dword [0x1400763a0], eax
jle 0x140014794
lea rcx, [0x1400763a0]
call fcn.140017d80
cmp dword [0x1400763a0], 0xffffffff
jne 0x140014794
lea rcx, [0x14006bb78]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rdx, str.NtShutdownSystem
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400763b8], rax
lea rcx, [0x1400763a0]
call fcn.140017d20
mov eax, dword [rdi]
cmp dword [0x140076338], eax
jle 0x1400147dc
lea rcx, [0x140076338]
call fcn.140017d80
cmp dword [0x140076338], 0xffffffff
jne 0x1400147dc
mov edx, 2
lea rcx, [0x140076340]
call fcn.140016af0
lea rcx, [0x140040c40]
call fcn.140017bac
lea rcx, [0x140076338]
call fcn.140017d20
lea rcx, [0x140076340]
call fcn.140016b20
test eax, eax
jne 0x140014f5c
mov dword [rsp + 0x30], 0x25ff
mov word [rsp + 0x34], ax
mov qword [rsp + 0x36], rsi
mov rcx, qword [0x140076118]
lea r8d, [rax + 0xe]
lea rdx, [rbp - 0x80]
call fcn.1400077e0
mov rcx, qword [0x140076118]
mov r8d, 0xe
lea rdx, [rsp + 0x30]
call fcn.140007980
mov rax, qword [0x1400763b8]
mov dl, 1
mov rcx, rbx
call rax
movzx ebx, al
mov rcx, qword [0x140076118]
mov r8d, 0xe
lea rdx, [rbp - 0x80]
call fcn.140007980
lea rcx, [0x140076340]
call fcn.140016b28
test bl, bl
je 0x140014ee9
mov rbx, qword [0x140076550]
mov rsi, qword [0x1400763e0]
mov eax, dword [rdi]
cmp dword [0x140076450], eax
jle 0x1400148c5
lea rcx, [0x140076450]
call fcn.140017d80
cmp dword [0x140076450], 0xffffffff
jne 0x1400148c5
lea rcx, [0x14006bb78]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rdx, str.NtShutdownSystem
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400763c0], rax
lea rcx, [0x140076450]
call fcn.140017d20
mov eax, dword [rdi]
cmp dword [0x140076288], eax
jle 0x14001490d
lea rcx, [0x140076288]
call fcn.140017d80
cmp dword [0x140076288], 0xffffffff
jne 0x14001490d
mov edx, 2
lea rcx, [0x1400764c0]
call fcn.140016af0
lea rcx, [0x140040c30]
call fcn.140017bac
lea rcx, [0x140076288]
call fcn.140017d20
lea rcx, [0x1400764c0]
call fcn.140016b20
test eax, eax
jne 0x140014f64
mov dword [rsp + 0x40], 0x25ff
mov word [rsp + 0x44], ax
mov qword [rsp + 0x46], rsi
mov rcx, qword [0x140076118]
lea r8d, [rax + 0xe]
lea rdx, [rbp - 0x70]
call fcn.1400077e0
mov rcx, qword [0x140076118]
mov r8d, 0xe
lea rdx, [rsp + 0x40]
call fcn.140007980
mov rax, qword [0x1400763c0]
lea rdx, [rbp + 0x38]
mov rcx, rbx
call rax
mov rbx, rax
mov rcx, qword [0x140076118]
mov r8d, 0xe
lea rdx, [rbp - 0x70]
call fcn.140007980
lea rcx, [0x1400764c0]
call fcn.140016b28
test rbx, rbx
je 0x140014dc6
mov r9d, 0x38
mov r8, rbx
lea rdx, [rbp - 0x20]
mov rcx, r12
call fcn.140013440
test al, al
jne 0x1400149ca
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.140013440
test al, al
jne 0x1400149eb
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.140013440
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.140013b50
mov r9d, 0x10
lea r8, [rbp - 0x30]
mov rdx, qword [rbp - 0x20]
mov rcx, r12
call fcn.140013b50
mov rsi, qword [0x140076550]
mov r14, qword [0x140076280]
mov eax, dword [rdi]
cmp dword [0x140076320], eax
jle 0x140014aa4
lea rcx, [0x140076320]
call fcn.140017d80
cmp dword [0x140076320], 0xffffffff
jne 0x140014aa4
lea rcx, [0x14006bb78]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rdx, str.NtShutdownSystem
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400763f0], rax
lea rcx, [0x140076320]
call fcn.140017d20
mov eax, dword [rdi]
cmp dword [0x14007657c], eax
jle 0x140014aec
lea rcx, [0x14007657c]
call fcn.140017d80
cmp dword [0x14007657c], 0xffffffff
jne 0x140014aec
mov edx, 2
lea rcx, [0x140076460]
call fcn.140016af0
lea rcx, [0x140040c20]
call fcn.140017bac
lea rcx, [0x14007657c]
call fcn.140017d20
lea rcx, [0x140076460]
call fcn.140016b20
test eax, eax
jne 0x140014f6c
mov dword [rsp + 0x50], 0x25ff
mov word [rsp + 0x54], ax
mov qword [rsp + 0x56], r14
mov rcx, qword [0x140076118]
lea r8d, [rax + 0xe]
lea rdx, [rbp - 0x60]
call fcn.1400077e0
mov rcx, qword [0x140076118]
mov r8d, 0xe
lea rdx, [rsp + 0x50]
call fcn.140007980
mov rdx, rbx
mov rcx, rsi
call qword [0x1400763f0]
mov rcx, qword [0x140076118]
mov r8d, 0xe
lea rdx, [rbp - 0x60]
call fcn.140007980
lea rcx, [0x140076460]
call fcn.140016b28
mov rbx, qword [0x140076550]
mov rsi, qword [0x1400763e0]
mov eax, dword [rdi]
cmp dword [0x140076450], eax
jle 0x140014bc8
lea rcx, [0x140076450]
call fcn.140017d80
cmp dword [0x140076450], 0xffffffff
jne 0x140014bc8
lea rcx, [0x14006bb78]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rdx, str.NtShutdownSystem
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400763c0], rax
lea rcx, [0x140076450]
call fcn.140017d20
mov eax, dword [rdi]
cmp dword [0x140076288], eax
jle 0x140014c10
lea rcx, [0x140076288]
call fcn.140017d80
cmp dword [0x140076288], 0xffffffff
jne 0x140014c10
mov edx, 2
lea rcx, [0x1400764c0]
call fcn.140016af0
lea rcx, [0x140040c30]
call fcn.140017bac
lea rcx, [0x140076288]
call fcn.140017d20
lea rcx, [0x1400764c0]
call fcn.140016b20
test eax, eax
jne 0x140014f74
mov dword [rsp + 0x60], 0x25ff
mov word [rsp + 0x64], ax
mov qword [rsp + 0x66], rsi
mov rcx, qword [0x140076118]
lea r8d, [rax + 0xe]
lea rdx, [rbp - 0x50]
call fcn.1400077e0
mov rcx, qword [0x140076118]
mov r8d, 0xe
lea rdx, [rsp + 0x60]
call fcn.140007980
mov rax, qword [0x1400763c0]
lea rdx, [rbp + 0x38]
mov rcx, rbx
call rax
mov rbx, rax
mov rcx, qword [0x140076118]
mov r8d, 0xe
lea rdx, [rbp - 0x50]
call fcn.140007980
lea rcx, [0x1400764c0]
call fcn.140016b28
mov rsi, qword [0x140076560]
mov r14, qword [0x140076530]
mov r8d, dword [rdi]
cmp dword [0x140076398], r8d
jle 0x140014cf5
lea rcx, [0x140076398]
call fcn.140017d80
cmp dword [0x140076398], 0xffffffff
jne 0x140014cf5
lea rcx, [0x14006bb78]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rdx, str.NtShutdownSystem
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400763a8], rax
lea rcx, [0x140076398]
call fcn.140017d20
mov eax, dword [rdi]
cmp dword [0x1400763d8], eax
jle 0x140014d3d
lea rcx, [0x1400763d8]
call fcn.140017d80
cmp dword [0x1400763d8], 0xffffffff
jne 0x140014d3d
mov edx, 2
lea rcx, [0x140076400]
call fcn.140016af0
lea rcx, [0x140040c10]
call fcn.140017bac
lea rcx, [0x1400763d8]
call fcn.140017d20
lea rcx, [0x140076400]
call fcn.140016b20
test eax, eax
jne 0x140014f7c
mov dword [rsp + 0x20], 0x25ff
mov word [rsp + 0x24], ax
mov qword [rsp + 0x26], r14
mov rcx, qword [0x140076118]
lea r8d, [rax + 0xe]
lea rdx, [rsp + 0x70]
call fcn.1400077e0
mov rcx, qword [0x140076118]
mov r8d, 0xe
lea rdx, [rsp + 0x20]
call fcn.140007980
mov rcx, rsi
call qword [0x1400763a8]
mov rcx, qword [0x140076118]
mov r8d, 0xe
lea rdx, [rsp + 0x70]
call fcn.140007980
lea rcx, [0x140076400]
call fcn.140016b28
test rbx, rbx
sete bl
jmp 0x140014eeb
mov rbx, qword [0x140076560]
mov rsi, qword [0x140076530]
mov eax, dword [rdi]
cmp dword [0x140076398], eax
jle 0x140014e23
lea rcx, [0x140076398]
call fcn.140017d80
cmp dword [0x140076398], 0xffffffff
jne 0x140014e23
lea rcx, [0x14006bb78]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rdx, str.NtShutdownSystem
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400763a8], rax
lea rcx, [0x140076398]
call fcn.140017d20
mov eax, dword [rdi]
cmp dword [0x1400763d8], eax
jle 0x140014e6b
lea rcx, [0x1400763d8]
call fcn.140017d80
cmp dword [0x1400763d8], 0xffffffff
jne 0x140014e6b
mov edx, 2
lea rcx, [0x140076400]
call fcn.140016af0
lea rcx, [0x140040c10]
call fcn.140017bac
lea rcx, [0x1400763d8]
call fcn.140017d20
lea rcx, [0x140076400]
call fcn.140016b20
test eax, eax
jne 0x140014f84
mov dword [rsp + 0x20], 0x25ff
mov word [rsp + 0x24], ax
mov qword [rsp + 0x26], rsi
mov rcx, qword [0x140076118]
lea r8d, [rax + 0xe]
lea rdx, [rsp + 0x70]
call fcn.1400077e0
mov rcx, qword [0x140076118]
mov r8d, 0xe
lea rdx, [rsp + 0x20]
call fcn.140007980
mov rcx, rbx
call qword [0x1400763a8]
mov rcx, qword [0x140076118]
mov r8d, 0xe
lea rdx, [rsp + 0x70]
call fcn.140007980
lea rcx, [0x140076400]
call fcn.140016b28
xor bl, bl
mov rdx, qword [rbp + 0x30]
cmp rdx, 8
jb 0x140014f27
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140014f22
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140014f56
call fcn.140017930
movzx eax, bl
jmp 0x140014f2e
xor al, al
mov rcx, qword [rbp + 0x70]
xor rcx, rsp
call fcn.140017910
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.140020c78
nop
mov ecx, eax
call fcn.140016704
int3
mov ecx, eax
call fcn.140016704
int3
mov ecx, eax
call fcn.140016704
int3
mov ecx, eax
call fcn.140016704
int3
mov ecx, eax
call fcn.140016704
int3
mov ecx, eax
call fcn.140016704
int3