Function at 0x140050ec0
Capabilities:
Link many functions at runtime

Disassembly:
sub rsp, 0x28
mov ecx, 4
mov rax, qword gs:[0x58]
mov rax, qword [rax]
mov eax, dword [rcx + rax]
cmp dword [0x1403160a0], eax
jg 0x1400510f2
cmp byte [0x1403160b0], 0
je 0x1400510e6
mov byte [0x1403160b0], 0
lea rcx, str.dbghelp.dll
call fcn.140027a70
mov qword [0x1403160b8], rax
lea rcx, str.psapi.dll
call fcn.140027a70
mov qword [0x1403160c0], rax
lea rcx, str.powrprof.dll
call fcn.140027a70
mov qword [0x1403160c8], rax
mov rcx, qword [0x1403160b8]
test rcx, rcx
je 0x140051019
lea rdx, str.StackWalk64
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1403160d0], rax
lea rdx, str.SymCleanup
mov rcx, qword [0x1403160b8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1403160d8], rax
lea rdx, str.SymFunctionTableAccess64
mov rcx, qword [0x1403160b8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1403160e0], rax
lea rdx, str.SymGetModuleBase64
mov rcx, qword [0x1403160b8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1403160e8], rax
lea rdx, str.SymInitialize
mov rcx, qword [0x1403160b8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1403160f0], rax
lea rdx, str.SymGetSymFromAddr64
mov rcx, qword [0x1403160b8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1403160f8], rax
lea rdx, str.SymFromAddr
mov rcx, qword [0x1403160b8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140316100], rax
lea rdx, str.MiniDumpWriteDump
mov rcx, qword [0x1403160b8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140316108], rax
mov rax, qword [0x1403160c8]
mov rcx, qword [0x1403160c0]
test rcx, rcx
je 0x14005105b
lea rdx, str.GetModuleBaseNameW
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140316110], rax
lea rdx, str.GetProcessMemoryInfo
mov rcx, qword [0x1403160c0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140316118], rax
mov rax, qword [0x1403160c8]
test rax, rax
je 0x140051079
lea rdx, str.CallNtPowerInformation
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140316120], rax
jmp 0x140051080
mov rax, qword [0x140316120]
cmp qword [0x1403160d0], 0
je 0x1400510e6
cmp qword [0x1403160d8], 0
je 0x1400510e6
cmp qword [0x1403160e0], 0
je 0x1400510e6
cmp qword [0x1403160e8], 0
je 0x1400510e6
cmp qword [0x1403160f0], 0
je 0x1400510e6
cmp qword [0x1403160f8], 0
je 0x1400510e6
cmp qword [0x140316100], 0
je 0x1400510e6
cmp qword [0x140316110], 0
je 0x1400510e6
cmp qword [0x140316118], 0
je 0x1400510e6
test rax, rax
je 0x1400510e6
mov byte [0x1403160b1], 1
lea rax, [0x1403160b0]
add rsp, 0x28
ret
lea rcx, [0x1403160a0]
call fcn.1401f7578
cmp dword [0x1403160a0], 0xffffffff
jne 0x140050ee4
xor eax, eax
mov qword [0x1403160c8], rax
mov word [0x1403160b0], 1
mov qword [0x1403160b8], rax
mov qword [0x1403160c0], rax
mov qword [0x1403160d0], rax
mov qword [0x1403160d8], rax
mov qword [0x1403160e0], rax
mov qword [0x1403160e8], rax
mov qword [0x1403160f0], rax
mov qword [0x1403160f8], rax
mov qword [0x140316100], rax
mov qword [0x140316108], rax
mov qword [0x140316110], rax
mov qword [0x140316118], rax
mov qword [0x140316120], rax
lea rcx, [0x1403160a0]
call fcn.1401f750c
jmp 0x140050ee4