Function at 0x4c89ec
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff8
push ebx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00406e2c
mov ebx, 0x4de2fc
xor eax, eax
push ebp
push 0x4c8e1d
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 5], 0
mov byte [0x4e4334], 0
cmp dword [ebp - 4], 0
jne 0x4c8a2f
lea eax, [ebp - 4]
mov edx, 0x4c8e3c
call fcn.00406e98
mov eax, dword [0x4e4330]
mov edx, dword [eax]
call dword [edx]
xor edx, edx
push ebp
push 0x4c8e00
push dword fs:[edx]
mov dword fs:[edx], esp
cmp dword [0x4de2f8], 0
jne 0x4c8dd8
mov byte [0x4e4334], 0
mov byte [0x4e4335], 0
mov eax, dword [ebp - 4]
call fcn.00406ed0
push eax
call sub.kernel32.dll_LoadLibraryW
mov dword [ebx], eax
cmp dword [ebx], 0
je 0x4c8ddc
push 0x4c8e54
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4de2f4], eax
push 0x4c8e60
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4de2f0], eax
push 0x4c8e70
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4de2d0], eax
push 0x4c8e7c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4de2b0], eax
push 0x4c8e88
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4de268], eax
push 0x4c8e98
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4de260], eax
push 0x4c8ea4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4de264], eax
push 0x4c8eb0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4de2d8], eax
push 0x4c8eb8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4de2d4], eax
push 0x4c8ec0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4de2cc], eax
push 0x4c8ec8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4de2c8], eax
push 0x4c8ed4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4de2c4], eax
push 0x4c8ee0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4de290], eax
push 0x4c8eec
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4de2c0], eax
push 0x4c8ef4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4de2bc], eax
push 0x4c8efc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4de2b8], eax
push 0x4c8f08
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4de2b4], eax
push 0x4c8f14
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4de2ac], eax
push 0x4c8f1c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4de2a8], eax
push 0x4c8f24
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4de2a4], eax
push 0x4c8f2c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4de29c], eax
push 0x4c8f34
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4de2a0], eax
push 0x4c8f40
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4de2e0], eax
push 0x4c8f48
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4de298], eax
push 0x4c8f50
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4de294], eax
push 0x4c8f58
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4de28c], eax
push 0x4c8f64
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4de288], eax
push 0x4c8f70
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4de2dc], eax
push 0x4c8f78
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4de280], eax
push 0x4c8f88
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4de27c], eax
push 0x4c8f98
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4de274], eax
push 0x4c8fa8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4de278], eax
push 0x4c8fbc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4de26c], eax
push 0x4c8fcc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4de270], eax
push 0x4c8fdc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4de284], eax
push 0x4c8fe8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4de2e4], eax
push 0x4c8ff4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4de2e8], eax
push 0x4c9004
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4de2ec], eax
cmp dword [0x4de2e4], 0
je 0x4c8d41
cmp dword [0x4de2e8], 0
je 0x4c8d41
cmp dword [0x4de2ec], 0
jne 0x4c8d45
xor eax, eax
jmp 0x4c8d47
mov al, 1
mov byte [0x4e4334], al
cmp byte [0x4e4334], 0
jne 0x4c8dd2
push 0x4c9010
call sub.kernel32.dll_LoadLibraryW
mov dword [0x4de300], eax
cmp dword [0x4de300], 0
je 0x4c8dd2
push 0x4c8fe8
mov eax, dword [0x4de300]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4de2e4], eax
push 0x4c8ff4
mov eax, dword [0x4de300]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4de2e8], eax
push 0x4c9004
mov eax, dword [0x4de300]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4de2ec], eax
cmp dword [0x4de2e4], 0
je 0x4c8dc7
cmp dword [0x4de2e8], 0
je 0x4c8dc7
cmp dword [0x4de2ec], 0
jne 0x4c8dcb
xor eax, eax
jmp 0x4c8dcd
mov al, 1
mov byte [0x4e4335], al
mov byte [ebp - 5], 1
jmp 0x4c8ddc
mov byte [ebp - 5], 1
cmp byte [ebp - 5], 0
je 0x4c8de8
inc dword [0x4de2f8]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4c8e07
mov eax, dword [0x4e4330]
mov edx, dword [eax]
call dword [edx + 4]
ret