Function at 0x5002b4
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ebx
push esi
push edi
xor eax, eax
push ebp
push 0x500527
push dword fs:[eax]
mov dword fs:[eax], esp
xor ebx, ebx
mov eax, dword [0x5037c4]
mov eax, dword [eax]
mov edx, dword [eax + 0x3bc]
lea eax, [ebp - 4]
mov ecx, 0x500540
call fcn.00404cd4
mov eax, dword [ebp - 4]
call fcn.00409bc8
test al, al
jne 0x50037b
mov eax, dword [0x5037c4]
mov eax, dword [eax]
mov eax, dword [eax + 0x3d4]
push eax
mov eax, dword [0x5037c4]
mov eax, dword [eax]
mov eax, dword [eax + 0x3d8]
push eax
mov eax, dword [0x5037c4]
mov eax, dword [eax]
mov eax, dword [eax + 0x3e4]
push eax
lea edx, [ebp - 0xc]
mov eax, dword [0x5037c4]
mov eax, dword [eax]
mov eax, dword [eax + 0x354]
call fcn.00467d94
mov eax, dword [ebp - 0xc]
push eax
lea eax, [ebp - 8]
push eax
lea edx, [ebp - 0x10]
mov eax, dword [0x503a8c]
mov eax, dword [eax]
call fcn.00487f78
mov edx, dword [ebp - 0x10]
mov ecx, dword [0x503b78]
mov ecx, dword [ecx]
mov eax, 1
call fcn.004c07c0
xor ebx, ebx
mov edx, 1
mov eax, 0x500558
call fcn.00500680
jmp 0x5004fc
mov eax, dword [ebp - 4]
call fcn.00404e88
push eax
call sub.KERNEL32.DLL_LoadLibraryA
mov dword [0x504f40], eax
cmp dword [0x504f40], 0xffffffff
je 0x5004e5
xor eax, eax
push ebp
push 0x5004d9
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x500578
mov eax, dword [0x504f40]
push eax
call sub.KERNEL32.DLL_GetProcAddress_1
mov dword [0x504ef4], eax
push 0x500588
mov eax, dword [0x504f40]
push eax
call sub.KERNEL32.DLL_GetProcAddress_1
mov dword [0x504ef8], eax
push 0x50059c
mov eax, dword [0x504f40]
push eax
call sub.KERNEL32.DLL_GetProcAddress_1
mov dword [0x504efc], eax
push 0x5005b0
mov eax, dword [0x504f40]
push eax
call sub.KERNEL32.DLL_GetProcAddress_1
mov dword [0x504f00], eax
push 0x5005c4
mov eax, dword [0x504f40]
push eax
call sub.KERNEL32.DLL_GetProcAddress_1
mov dword [0x504f04], eax
push 0x5005d4
mov eax, dword [0x504f40]
push eax
call sub.KERNEL32.DLL_GetProcAddress_1
mov dword [0x504f08], eax
push 0x5005e8
mov eax, dword [0x504f40]
push eax
call sub.KERNEL32.DLL_GetProcAddress_1
mov dword [0x504f0c], eax
push 0x5005f8
mov eax, dword [0x504f40]
push eax
call sub.KERNEL32.DLL_GetProcAddress_1
mov dword [0x504f10], eax
push 0x500608
mov eax, dword [0x504f40]
push eax
call sub.KERNEL32.DLL_GetProcAddress_1
mov dword [0x504f14], eax
push 0x500618
mov eax, dword [0x504f40]
push eax
call sub.KERNEL32.DLL_GetProcAddress_1
mov dword [0x504f18], eax
push 0x500630
mov eax, dword [0x504f40]
push eax
call sub.KERNEL32.DLL_GetProcAddress_1
mov dword [0x504f1c], eax
push 0x500640
mov eax, dword [0x504f40]
push eax
call sub.KERNEL32.DLL_GetProcAddress_1
mov dword [0x504f20], eax
push 0x500654
mov eax, dword [0x504f40]
push eax
call sub.KERNEL32.DLL_GetProcAddress_1
mov dword [0x504f24], eax
push 0x500668
mov eax, dword [0x504f40]
push eax
call sub.KERNEL32.DLL_GetProcAddress_1
mov dword [0x504f28], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5004e3
mov bl, 1
mov eax, dword [0x5037c4]
mov eax, dword [eax]
mov eax, dword [eax + 0x51c]
mov edx, 1
call fcn.00500680
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x50052e
lea eax, [ebp - 0x10]
call fcn.004049c8
lea eax, [ebp - 0xc]
call fcn.004049c8
lea eax, [ebp - 8]
mov edx, 2
call fcn.004049ec
ret