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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffbf0
mov ecx, 0x82
push ebx
push esi
push edi
mov edi, 0x4ad424
push edi
lea edi, [ebp - 0x208]
mov esi, 0x4a8050
mov ebx, 0x4a8462
rep movsd dword es:[edi], dword [esi]
pop edi
mov ecx, 0x82
push edi
lea edi, [ebp - 0x410]
mov esi, 0x4a8259
rep movsd dword es:[edi], dword [esi]
cmp dword [0x4ad420], 0
pop edi
je 0x43f4c9
mov eax, 1
jmp 0x43f6f0
push 0x104
lea edx, [ebp - 0x208]
push edx
call sub.KERNEL32.DLL_GetSystemDirectoryA
lea ecx, [ebx + 0x83]
push ecx
lea eax, [ebp - 0x208]
push eax
call fcn.004052cc
add esp, 8
lea edx, [ebp - 0x208]
push 8
push 0
push edx
call sub.KERNEL32.DLL_LoadLibraryExA
mov esi, eax
mov dword [0x4ad428], esi
test esi, esi
je 0x43f567
lea eax, [ebx + 0x91]
push eax
push esi
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4ad3d4], eax
lea edx, [ebx + 0xa6]
push edx
mov ecx, dword [0x4ad428]
push ecx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4ad3d8], eax
lea eax, [ebx + 0xc2]
push eax
mov edx, dword [0x4ad428]
push edx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4ad3dc], eax
lea ecx, [ebx + 0xe3]
push ecx
mov eax, dword [0x4ad428]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4ad3e0], eax
jmp 0x43f56e
xor eax, eax
jmp 0x43f6f0
push 0x104
lea edx, [ebp - 0x410]
push edx
call sub.KERNEL32.DLL_GetSystemDirectoryA
lea ecx, [ebx + 0x100]
push ecx
lea eax, [ebp - 0x410]
push eax
call fcn.004052cc
add esp, 8
lea edx, [ebp - 0x410]
push 8
push 0
push edx
call sub.KERNEL32.DLL_LoadLibraryExA
mov esi, eax
mov dword [edi], esi
test esi, esi
je 0x43f6dd
lea eax, [ebx + 0x109]
push eax
push esi
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4ad3e4], eax
lea edx, [ebx + 0x119]
push edx
mov ecx, dword [edi]
push ecx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4ad3e8], eax
lea eax, [ebx + 0x129]
push eax
mov edx, dword [edi]
push edx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4ad3ec], eax
lea ecx, [ebx + 0x139]
push ecx
mov eax, dword [edi]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4ad3f0], eax
lea edx, [ebx + 0x14f]
push edx
mov ecx, dword [edi]
push ecx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4ad3f4], eax
lea eax, [ebx + 0x162]
push eax
mov edx, dword [edi]
push edx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4ad3f8], eax
lea ecx, [ebx + 0x179]
push ecx
mov eax, dword [edi]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4ad3fc], eax
lea edx, [ebx + 0x188]
push edx
mov ecx, dword [edi]
push ecx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4ad400], eax
lea eax, [ebx + 0x19b]
push eax
mov edx, dword [edi]
push edx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4ad404], eax
lea ecx, [ebx + 0x1b4]
push ecx
mov eax, dword [edi]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4ad408], eax
lea edx, [ebx + 0x1c3]
push edx
mov ecx, dword [edi]
push ecx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4ad40c], eax
lea eax, [ebx + 0x1d6]
push eax
mov edx, dword [edi]
push edx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4ad410], eax
lea ecx, [ebx + 0x1e3]
push ecx
mov eax, dword [edi]
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4ad414], eax
lea edx, [ebx + 0x1f6]
push edx
mov ecx, dword [edi]
push ecx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4ad418], eax
lea eax, [ebx + 0x208]
push eax
mov edx, dword [edi]
push edx
call sub.KERNEL32.DLL_GetProcAddress
mov dword [0x4ad41c], eax
jmp 0x43f6e1
xor eax, eax
jmp 0x43f6f0
mov dword [0x4ad420], 1
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret