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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffef4
push ebx
xor eax, eax
mov dword [ebp - 0x10c], eax
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x4307e0
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x104
lea eax, [ebp - 0x108]
push eax
call sub.kernel32.dll_GetSystemDirectoryA
cmp byte [ebp + eax - 0x109], 0x5c
je 0x430232
mov byte [ebp + eax - 0x108], 0x5c
mov byte [ebp + eax - 0x107], 0
lea eax, [ebp - 0x10c]
lea edx, [ebp - 0x108]
mov ecx, 0x104
call fcn.004055fc
mov edx, dword [ebp - 0x10c]
lea eax, [ebp - 4]
mov ecx, 0x4307f4
call fcn.004056a4
push 0
push 0
mov eax, dword [ebp - 4]
call fcn.0040581c
push eax
call sub.kernel32.dll_LoadLibraryExA_1
mov ebx, eax
push 0x430800
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4ac4], eax
push 0x430808
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4ac8], eax
push 0x430810
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4acc], eax
push 0x43081c
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4ad0], eax
push 0x430824
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4ad8], eax
push 0x430830
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4adc], eax
push 0x43083c
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4ae0], eax
push 0x430848
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4ae4], eax
push 0x430850
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4ae8], eax
push 0x430858
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4aec], eax
push 0x430864
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4af0], eax
push 0x430870
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4ad4], eax
push 0x43087c
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4af4], eax
push 0x430884
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4af8], eax
push 0x43088c
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4afc], eax
push 0x430894
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4b00], eax
push 0x43089c
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4b04], eax
push 0x4308a8
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4b08], eax
push 0x4308b0
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4b0c], eax
push 0x4308b8
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4b10], eax
push 0x4308c0
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4b14], eax
push 0x4308cc
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4b18], eax
push 0x4308d8
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4b1c], eax
push 0x4308e0
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4b20], eax
push 0x4308f0
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4b24], eax
push 0x430900
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4b38], eax
push 0x430910
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4b34], eax
push 0x430924
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4b30], eax
push 0x430934
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4b2c], eax
push 0x430944
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4b28], eax
push 0x430950
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4b78], eax
push 0x430960
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4c10], eax
push 0x43096c
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4b70], eax
push 0x430984
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4b6c], eax
push 0x43099c
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4b68], eax
push 0x4309b8
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4b64], eax
push 0x4309d0
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4b60], eax
push 0x4309e8
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4b5c], eax
push 0x430a00
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4b74], eax
push 0x430a18
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4b54], eax
push 0x430a2c
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4b50], eax
push 0x430a44
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4b48], eax
push 0x430a54
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4b44], eax
push 0x430a64
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4b58], eax
push 0x430a7c
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4b4c], eax
push 0x430a8c
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4b3c], eax
push 0x430a98
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4b40], eax
push 0x430aa4
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4c0c], eax
push 0x430ab4
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4c08], eax
push 0x430ad8
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4c04], eax
push 0x430af4
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4c00], eax
push 0x430b0c
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4bf8], eax
push 0x430b24
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4bf0], eax
push 0x430b3c
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4bec], eax
push 0x430b54
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4be8], eax
push 0x430b68
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4be4], eax
push 0x430b7c
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4bdc], eax
push 0x430b88
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4b94], eax
push 0x430b9c
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4b8c], eax
push 0x430bb0
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4bf4], eax
push 0x430bc4
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4bfc], eax
push 0x430bdc
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4be0], eax
push 0x430bf8
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4bd8], eax
push 0x430c04
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4bd4], eax
push 0x430c10
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4bd0], eax
push 0x430c24
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4bcc], eax
push 0x430c2c
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4bc8], eax
push 0x430c3c
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4bc4], eax
push 0x430c48
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4bc0], eax
push 0x430c5c
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4bbc], eax
push 0x430c64
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4bac], eax
push 0x430c70
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4bb0], eax
push 0x430c7c
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4bb4], eax
push 0x430c88
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4bb8], eax
push 0x430c94
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4ba8], eax
push 0x430ca0
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4ba4], eax
push 0x430cac
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4ba0], eax
push 0x430cbc
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4b9c], eax
push 0x430cd4
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4b98], eax
push 0x430ce4
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4b90], eax
push 0x430cfc
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4b88], eax
push 0x430d0c
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4b84], eax
push 0x430d18
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4b80], eax
push 0x430d28
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4b7c], eax
push 0x430d34
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a4c14], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4307e7
lea eax, [ebp - 0x10c]
call fcn.0040538c
lea eax, [ebp - 4]
call fcn.0040538c
ret