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 [0x5a3ac4], eax
push 0x430808
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3ac8], eax
push 0x430810
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3acc], eax
push 0x43081c
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3ad0], eax
push 0x430824
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3ad8], eax
push 0x430830
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3adc], eax
push 0x43083c
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3ae0], eax
push 0x430848
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3ae4], eax
push 0x430850
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3ae8], eax
push 0x430858
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3aec], eax
push 0x430864
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3af0], eax
push 0x430870
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3ad4], eax
push 0x43087c
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3af4], eax
push 0x430884
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3af8], eax
push 0x43088c
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3afc], eax
push 0x430894
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3b00], eax
push 0x43089c
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3b04], eax
push 0x4308a8
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3b08], eax
push 0x4308b0
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3b0c], eax
push 0x4308b8
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3b10], eax
push 0x4308c0
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3b14], eax
push 0x4308cc
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3b18], eax
push 0x4308d8
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3b1c], eax
push 0x4308e0
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3b20], eax
push 0x4308f0
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3b24], eax
push 0x430900
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3b38], eax
push 0x430910
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3b34], eax
push 0x430924
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3b30], eax
push 0x430934
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3b2c], eax
push 0x430944
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3b28], eax
push 0x430950
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3b78], eax
push 0x430960
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3c10], eax
push 0x43096c
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3b70], eax
push 0x430984
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3b6c], eax
push 0x43099c
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3b68], eax
push 0x4309b8
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3b64], eax
push 0x4309d0
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3b60], eax
push 0x4309e8
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3b5c], eax
push 0x430a00
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3b74], eax
push 0x430a18
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3b54], eax
push 0x430a2c
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3b50], eax
push 0x430a44
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3b48], eax
push 0x430a54
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3b44], eax
push 0x430a64
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3b58], eax
push 0x430a7c
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3b4c], eax
push 0x430a8c
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3b3c], eax
push 0x430a98
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3b40], eax
push 0x430aa4
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3c0c], eax
push 0x430ab4
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3c08], eax
push 0x430ad8
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3c04], eax
push 0x430af4
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3c00], eax
push 0x430b0c
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3bf8], eax
push 0x430b24
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3bf0], eax
push 0x430b3c
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3bec], eax
push 0x430b54
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3be8], eax
push 0x430b68
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3be4], eax
push 0x430b7c
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3bdc], eax
push 0x430b88
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3b94], eax
push 0x430b9c
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3b8c], eax
push 0x430bb0
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3bf4], eax
push 0x430bc4
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3bfc], eax
push 0x430bdc
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3be0], eax
push 0x430bf8
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3bd8], eax
push 0x430c04
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3bd4], eax
push 0x430c10
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3bd0], eax
push 0x430c24
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3bcc], eax
push 0x430c2c
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3bc8], eax
push 0x430c3c
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3bc4], eax
push 0x430c48
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3bc0], eax
push 0x430c5c
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3bbc], eax
push 0x430c64
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3bac], eax
push 0x430c70
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3bb0], eax
push 0x430c7c
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3bb4], eax
push 0x430c88
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3bb8], eax
push 0x430c94
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3ba8], eax
push 0x430ca0
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3ba4], eax
push 0x430cac
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3ba0], eax
push 0x430cbc
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3b9c], eax
push 0x430cd4
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3b98], eax
push 0x430ce4
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3b90], eax
push 0x430cfc
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3b88], eax
push 0x430d0c
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3b84], eax
push 0x430d18
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3b80], eax
push 0x430d28
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3b7c], eax
push 0x430d34
push ebx
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a3c14], 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