Function at 0x4817a0
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff8
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x481caf
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
cmp dword [eax + 4], 0x20
jae 0x481c99
lea edx, [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00482d40
mov eax, dword [ebp - 8]
call fcn.00409c5c
test al, al
je 0x481c99
xor edx, edx
push ebp
push 0x481c7b
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 8]
call fcn.004050a8
push eax
call sub.kernel32.dll_LoadLibraryA
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 4], ebx
cmp ebx, 0x20
jae 0x481825
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 4], edx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x481c99
push 0x481cc0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c6324], eax
push 0x481cd0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c6328], eax
push 0x481cdc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c632c], eax
push 0x481cec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c6330], eax
push 0x481d00
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c6334], eax
push 0x481d10
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c6338], eax
push 0x481d1c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c633c], eax
push 0x481d2c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c6340], eax
push 0x481d40
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c6344], eax
push 0x481d4c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c6348], eax
push 0x481d5c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c634c], eax
push 0x481d6c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c6350], eax
push 0x481d7c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c6354], eax
push 0x481d88
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c6358], eax
push 0x481d98
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c635c], eax
push 0x481db4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c6360], eax
push 0x481dc4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c6364], eax
push 0x481dd8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c6368], eax
push 0x481de8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c636c], eax
push 0x481df8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c6378], eax
push 0x481e04
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c637c], eax
push 0x481e14
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c6380], eax
push 0x481e28
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c6370], eax
push 0x481e38
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c6374], eax
push 0x481e4c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c6384], eax
push 0x481e60
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c6388], eax
push 0x481e78
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c638c], eax
push 0x481e8c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c6390], eax
push 0x481e9c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c6394], eax
push 0x481eb0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c6398], eax
push 0x481ec0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c639c], eax
push 0x481ed8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c63a0], eax
push 0x481ef0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c63a4], eax
push 0x481f04
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c63a8], eax
push 0x481f18
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c63ac], eax
push 0x481f2c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c63b0], eax
push 0x481f38
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c63b4], eax
push 0x481f44
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c63b8], eax
push 0x481f5c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c63bc], eax
push 0x481f5c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c63bc], eax
push 0x481f68
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c63c0], eax
push 0x481f74
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c63c4], eax
push 0x481f84
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c63c8], eax
push 0x481f98
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c63cc], eax
push 0x481fa8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c63d0], eax
push 0x481fb8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c63d4], eax
push 0x481fc8
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c63d8], eax
push 0x481fdc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c63dc], eax
push 0x481ff0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c63e4], eax
push 0x482000
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4c63e0], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x481c99
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x481cb6
lea eax, [ebp - 8]
call fcn.00404be8
ret