Function at 0x4d1580
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
mov ebx, eax
xor eax, eax
push ebp
push 0x4d1b6d
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x4d1b4b
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x4d1b88
call fcn.004d0450
mov eax, dword [0x539aa0]
mov al, byte [eax]
sub al, 0x2c
je 0x4d15ca
sub al, 2
je 0x4d15ca
mov eax, dword [0x539aa0]
mov byte [eax], 0x2e
mov eax, 0x4d1ba8
call fcn.004d044c
lea edx, [ebp - 0xc]
mov eax, ebx
call fcn.004d29f4
mov eax, dword [ebp - 0xc]
call fcn.00405250
mov edx, eax
lea eax, [ebp - 8]
call fcn.00404f88
mov eax, dword [ebp - 8]
call fcn.004d044c
mov byte [ebp - 1], 0
lea edx, [ebp - 0x10]
mov eax, ebx
call fcn.004d29f4
mov eax, dword [ebp - 0x10]
call fcn.00405250
push eax
call sub.kernel32.dll_LoadLibraryA
mov esi, eax
mov dword [ebx + 0x120], esi
test esi, esi
je 0x4d1b33
push 0x4d1bbc
push esi
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0x98], eax
push 0x4d1bc8
mov eax, dword [ebx + 0x120]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0x9c], eax
push 0x4d1bd8
mov eax, dword [ebx + 0x120]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov esi, eax
mov dword [ebx + 0xa0], esi
test esi, esi
jne 0x4d1673
call fcn.004047cc
jmp 0x4d1b52
push 0x4d1be8
mov eax, dword [ebx + 0x120]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov esi, eax
mov dword [ebx + 0xa4], esi
test esi, esi
jne 0x4d169a
call fcn.004047cc
jmp 0x4d1b52
push 0x4d1bf8
mov eax, dword [ebx + 0x120]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov esi, eax
mov dword [ebx + 0xa8], esi
test esi, esi
jne 0x4d16c1
call fcn.004047cc
jmp 0x4d1b52
push 0x4d1c08
mov eax, dword [ebx + 0x120]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov esi, eax
mov dword [ebx + 0xac], esi
test esi, esi
jne 0x4d16e8
call fcn.004047cc
jmp 0x4d1b52
push 0x4d1c1c
mov eax, dword [ebx + 0x120]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov esi, eax
mov dword [ebx + 0xb0], esi
test esi, esi
jne 0x4d170f
call fcn.004047cc
jmp 0x4d1b52
push 0x4d1c2c
mov eax, dword [ebx + 0x120]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov esi, eax
mov dword [ebx + 0xb4], esi
test esi, esi
jne 0x4d1736
call fcn.004047cc
jmp 0x4d1b52
push 0x4d1c40
mov eax, dword [ebx + 0x120]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov esi, eax
mov dword [ebx + 0xb8], esi
test esi, esi
jne 0x4d175d
call fcn.004047cc
jmp 0x4d1b52
push 0x4d1c54
mov eax, dword [ebx + 0x120]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov esi, eax
mov dword [ebx + 0xbc], esi
test esi, esi
jne 0x4d1784
call fcn.004047cc
jmp 0x4d1b52
push 0x4d1c64
mov eax, dword [ebx + 0x120]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov esi, eax
mov dword [ebx + 0xc0], esi
test esi, esi
jne 0x4d17ab
call fcn.004047cc
jmp 0x4d1b52
push 0x4d1c78
mov eax, dword [ebx + 0x120]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov esi, eax
mov dword [ebx + 0xc4], esi
test esi, esi
jne 0x4d17d2
call fcn.004047cc
jmp 0x4d1b52
push 0x4d1c94
mov eax, dword [ebx + 0x120]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov esi, eax
mov dword [ebx + 0xc8], esi
test esi, esi
jne 0x4d17f9
call fcn.004047cc
jmp 0x4d1b52
push 0x4d1ca8
mov eax, dword [ebx + 0x120]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov esi, eax
mov dword [ebx + 0xd0], esi
test esi, esi
jne 0x4d1820
call fcn.004047cc
jmp 0x4d1b52
push 0x4d1cc0
mov eax, dword [ebx + 0x120]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov esi, eax
mov dword [ebx + 0xcc], esi
test esi, esi
jne 0x4d1847
call fcn.004047cc
jmp 0x4d1b52
push 0x4d1cd8
mov eax, dword [ebx + 0x120]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov esi, eax
mov dword [ebx + 0xd4], esi
test esi, esi
jne 0x4d186e
call fcn.004047cc
jmp 0x4d1b52
push 0x4d1ce8
mov eax, dword [ebx + 0x120]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov esi, eax
mov dword [ebx + 0xd8], esi
test esi, esi
jne 0x4d1895
call fcn.004047cc
jmp 0x4d1b52
push 0x4d1cf8
mov eax, dword [ebx + 0x120]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov esi, eax
mov dword [ebx + 0xdc], esi
test esi, esi
jne 0x4d18bc
call fcn.004047cc
jmp 0x4d1b52
push 0x4d1d0c
mov eax, dword [ebx + 0x120]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov esi, eax
mov dword [ebx + 0xe0], esi
test esi, esi
jne 0x4d18e3
call fcn.004047cc
jmp 0x4d1b52
push 0x4d1d1c
mov eax, dword [ebx + 0x120]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov esi, eax
mov dword [ebx + 0xe4], esi
test esi, esi
jne 0x4d190a
call fcn.004047cc
jmp 0x4d1b52
push 0x4d1d2c
mov eax, dword [ebx + 0x120]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov esi, eax
mov dword [ebx + 0xe8], esi
test esi, esi
jne 0x4d1931
call fcn.004047cc
jmp 0x4d1b52
push 0x4d1d40
mov eax, dword [ebx + 0x120]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov esi, eax
mov dword [ebx + 0xec], esi
test esi, esi
jne 0x4d1958
call fcn.004047cc
jmp 0x4d1b52
push 0x4d1d58
mov eax, dword [ebx + 0x120]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov esi, eax
mov dword [ebx + 0xf0], esi
test esi, esi
jne 0x4d197f
call fcn.004047cc
jmp 0x4d1b52
push 0x4d1d70
mov eax, dword [ebx + 0x120]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov esi, eax
mov dword [ebx + 0xf4], esi
test esi, esi
jne 0x4d19a6
call fcn.004047cc
jmp 0x4d1b52
push 0x4d1d88
mov eax, dword [ebx + 0x120]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov esi, eax
mov dword [ebx + 0xf8], esi
test esi, esi
jne 0x4d19cd
call fcn.004047cc
jmp 0x4d1b52
push 0x4d1da0
mov eax, dword [ebx + 0x120]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov esi, eax
mov dword [ebx + 0xfc], esi
test esi, esi
jne 0x4d19f4
call fcn.004047cc
jmp 0x4d1b52
push 0x4d1db4
mov eax, dword [ebx + 0x120]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov esi, eax
mov dword [ebx + 0x100], esi
test esi, esi
jne 0x4d1a1b
call fcn.004047cc
jmp 0x4d1b52
push 0x4d1dcc
mov eax, dword [ebx + 0x120]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov esi, eax
mov dword [ebx + 0x104], esi
test esi, esi
jne 0x4d1a42
call fcn.004047cc
jmp 0x4d1b52
push 0x4d1de0
mov eax, dword [ebx + 0x120]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov esi, eax
mov dword [ebx + 0x108], esi
test esi, esi
jne 0x4d1a69
call fcn.004047cc
jmp 0x4d1b52
push 0x4d1df4
mov eax, dword [ebx + 0x120]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov esi, eax
mov dword [ebx + 0x10c], esi
test esi, esi
jne 0x4d1a90
call fcn.004047cc
jmp 0x4d1b52
push 0x4d1e0c
mov eax, dword [ebx + 0x120]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0x110], eax
cmp dword [ebx + 0x110], 0
jne 0x4d1aba
call fcn.004047cc
jmp 0x4d1b52
push 0x4d1e20
mov eax, dword [ebx + 0x120]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0x114], eax
cmp dword [ebx + 0x114], 0
jne 0x4d1ae1
call fcn.004047cc
jmp 0x4d1b52
push 0x4d1e34
mov eax, dword [ebx + 0x120]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0x118], eax
cmp dword [ebx + 0x118], 0
jne 0x4d1b08
call fcn.004047cc
jmp 0x4d1b52
push 0x4d1e48
mov eax, dword [ebx + 0x120]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [ebx + 0x11c], eax
cmp dword [ebx + 0x11c], 0
jne 0x4d1b2f
call fcn.004047cc
jmp 0x4d1b52
mov byte [ebp - 1], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4d1b52
mov eax, 0x4d1b88
call fcn.004d0454
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4d1b74
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.00404db4
ret