Function at 0x50d350
Capabilities:
Get common file path
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0xc
mov dword [esp], 0x84fda0
call fcn.0057d960
mov dword [0x84fda4], eax
mov dword [esp + 4], 0x850000
mov dword [esp], 0x104
call dword [sym.imp.kernel32.dll_GetCurrentDirectoryA]
mov edx, eax
sub esp, 8
xor eax, eax
test edx, edx
jne 0x50d390
mov ebx, dword [ebp - 4]
leave
ret
mov dword [esp + 8], 0x104
mov dword [esp + 4], 0x84fee0
mov dword [esp], 0
call dword [sym.imp.kernel32.dll_GetModuleFileNameA]
mov ebx, dword [sym.imp.msvcrt.dll_strrchr]
sub esp, 0xc
mov dword [esp + 4], 0x5c
mov dword [esp], 0x84fee0
call ebx
test eax, eax
lea edx, [eax + 1]
mov eax, 0x84fee0
cmovne eax, edx
mov dword [0x84fec4], eax
mov dword [esp + 4], 0x2f
mov dword [esp], eax
call ebx
test eax, eax
je 0x50d3f2
add eax, 1
mov dword [0x84fec4], eax
mov ebx, dword [sym.imp.kernel32.dll_GetModuleHandleA]
mov dword [esp], 0x5eeb40
call ebx
sub esp, 4
mov dword [0x850190], eax
mov dword [esp], 0x5eeb49
call ebx
mov ebx, dword [sym.imp.kernel32.dll_GetProcAddress]
sub esp, 4
mov dword [0x85018c], eax
mov dword [esp + 4], str.NtQueryInformationProcess
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [0x850148], eax
mov dword [esp + 4], 0x5eeb6d
mov eax, dword [0x85018c]
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [0x850144], eax
mov dword [esp + 4], str.NtQuerySystemInformationEx
mov eax, dword [0x85018c]
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [0x850140], eax
mov dword [esp + 4], str.GetNativeSystemInfo
mov eax, dword [0x850190]
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [0x850188], eax
mov dword [esp + 4], str.GetSystemRegistryQuota
mov eax, dword [0x850190]
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [0x850184], eax
mov dword [esp + 4], 0x5eebcc
mov eax, dword [0x850190]
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [0x850180], eax
mov dword [esp + 4], str.IsWow64Process2
mov eax, dword [0x850190]
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [0x85017c], eax
mov dword [esp + 4], str.QueryFullProcessImageNameA
mov eax, dword [0x850190]
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [0x850178], eax
mov dword [esp + 4], str.QueryFullProcessImageNameW
mov eax, dword [0x850190]
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [0x850174], eax
mov dword [esp + 4], str.K32GetProcessImageFileNameA
mov eax, dword [0x850190]
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [0x850170], eax
mov dword [esp + 4], str.CreateJobObjectW
mov eax, dword [0x850190]
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [0x85016c], eax
mov dword [esp + 4], str.OpenJobObjectA
mov eax, dword [0x850190]
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [0x850168], eax
mov dword [esp + 4], str.AssignProcessToJobObject
mov eax, dword [0x850190]
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [0x850164], eax
mov dword [esp + 4], str.IsProcessInJob
mov eax, dword [0x850190]
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [0x850160], eax
mov dword [esp + 4], str.TerminateJobObject
mov eax, dword [0x850190]
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [0x85015c], eax
mov dword [esp + 4], str.QueryInformationJobObject
mov eax, dword [0x850190]
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [0x850158], eax
mov dword [esp + 4], str.SetInformationJobObject
mov eax, dword [0x850190]
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [0x850154], eax
mov dword [esp + 4], str.CreateIoCompletionPort
mov eax, dword [0x850190]
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [0x850150], eax
mov dword [esp + 4], str.GetNumaProcessorNode
mov eax, dword [0x850190]
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [0x85014c], eax
mov dword [esp + 4], str.WTSGetActiveConsoleSessionId
mov eax, dword [0x850190]
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [0x85013c], eax
mov dword [esp + 4], 0x5eed13
mov eax, dword [0x850190]
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [0x850138], eax
mov dword [esp + 4], 0x5eed2c
mov eax, dword [0x850190]
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [0x850134], eax
mov dword [esp + 4], 0x5eed3b
mov eax, dword [0x850190]
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [0x850130], eax
mov dword [esp + 4], 0x5eed49
mov eax, dword [0x850190]
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [0x85012c], eax
mov dword [esp + 4], 0x5eed57
mov eax, dword [0x850190]
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [0x850128], eax
mov dword [esp + 4], str.GetLogicalProcessorInformationEx
mov eax, dword [0x850190]
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [0x850124], eax
mov dword [esp + 4], str.GetLargePageMinimum
mov eax, dword [0x850190]
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [0x850120], eax
mov dword [esp + 4], str.GetSystemCpuSetInformation
mov eax, dword [0x850190]
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [0x85011c], eax
mov dword [esp + 4], str.InitializeProcThreadAttributeList
mov eax, dword [0x850190]
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [0x850118], eax
mov dword [esp + 4], str.UpdateProcThreadAttribute
mov eax, dword [0x850190]
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [0x850114], eax
mov dword [esp + 4], str.DeleteProcThreadAttributeList
mov eax, dword [0x850190]
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [0x850110], eax
mov dword [esp + 4], str.GetActiveProcessorCount
mov eax, dword [0x850190]
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [0x85010c], eax
mov dword [esp + 4], str.GetMaximumProcessorCount
mov eax, dword [0x850190]
mov dword [esp], eax
call ebx
sub esp, 8
mov dword [0x850108], eax
mov dword [esp + 4], str.GetProcessInformation
mov eax, dword [0x850190]
mov dword [esp], eax
call ebx
mov dword [0x850104], eax
sub esp, 8
mov ebx, dword [ebp - 4]
mov eax, 1
leave
ret