Function at 0x4c14d8
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.00408f40
mov ebx, 0x66284c
xor eax, eax
push ebp
push 0x4c1909
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 5], 0
mov byte [0x680030], 0
cmp dword [ebp - 4], 0
jne 0x4c151b
lea eax, [ebp - 4]
mov edx, 0x4c1928
call fcn.00409284
mov eax, dword [0x68002c]
mov edx, dword [eax]
call dword [edx]
xor edx, edx
push ebp
push 0x4c18ec
push dword fs:[edx]
mov dword fs:[edx], esp
cmp dword [0x662848], 0
jne 0x4c18c4
mov byte [0x680030], 0
mov byte [0x680031], 0
mov eax, dword [ebp - 4]
call fcn.00409c50
push eax
call sub.kernel32.dll_LoadLibraryW
mov dword [ebx], eax
cmp dword [ebx], 0
je 0x4c18c8
push 0x4c1940
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x662844], eax
push 0x4c194c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x662840], eax
push 0x4c195c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x662820], eax
push 0x4c1968
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x662800], eax
push 0x4c1974
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6627b8], eax
push 0x4c1984
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6627b0], eax
push 0x4c1990
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6627b4], eax
push 0x4c199c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x662828], eax
push 0x4c19a4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x662824], eax
push 0x4c19ac
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x66281c], eax
push 0x4c19b4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x662818], eax
push 0x4c19c0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x662814], eax
push 0x4c19cc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6627e0], eax
push 0x4c19d8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x662810], eax
push 0x4c19e0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x66280c], eax
push 0x4c19e8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x662808], eax
push 0x4c19f4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x662804], eax
push 0x4c1a00
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6627fc], eax
push 0x4c1a08
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6627f8], eax
push 0x4c1a10
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6627f4], eax
push 0x4c1a18
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6627ec], eax
push 0x4c1a20
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6627f0], eax
push 0x4c1a2c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x662830], eax
push 0x4c1a34
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6627e8], eax
push 0x4c1a3c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6627e4], eax
push 0x4c1a44
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6627dc], eax
push 0x4c1a50
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6627d8], eax
push 0x4c1a5c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x66282c], eax
push 0x4c1a64
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6627d0], eax
push 0x4c1a74
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6627cc], eax
push 0x4c1a84
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6627c4], eax
push 0x4c1a94
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6627c8], eax
push 0x4c1aa8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6627bc], eax
push 0x4c1ab8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6627c0], eax
push 0x4c1ac8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x6627d4], eax
push 0x4c1ad4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x662834], eax
push 0x4c1ae0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x662838], eax
push 0x4c1af0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x66283c], eax
cmp dword [0x662834], 0
je 0x4c182d
cmp dword [0x662838], 0
je 0x4c182d
cmp dword [0x66283c], 0
jne 0x4c1831
xor eax, eax
jmp 0x4c1833
mov al, 1
mov byte [0x680030], al
cmp byte [0x680030], 0
jne 0x4c18be
push 0x4c1afc
call sub.kernel32.dll_LoadLibraryW
mov dword [0x662850], eax
cmp dword [0x662850], 0
je 0x4c18be
push 0x4c1ad4
mov eax, dword [0x662850]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x662834], eax
push 0x4c1ae0
mov eax, dword [0x662850]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x662838], eax
push 0x4c1af0
mov eax, dword [0x662850]
push eax
call sub.kernel32.dll_GetProcAddress_2
mov dword [0x66283c], eax
cmp dword [0x662834], 0
je 0x4c18b3
cmp dword [0x662838], 0
je 0x4c18b3
cmp dword [0x66283c], 0
jne 0x4c18b7
xor eax, eax
jmp 0x4c18b9
mov al, 1
mov byte [0x680031], al
mov byte [ebp - 5], 1
jmp 0x4c18c8
mov byte [ebp - 5], 1
cmp byte [ebp - 5], 0
je 0x4c18d4
inc dword [0x662848]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4c18f3
mov eax, dword [0x68002c]
mov edx, dword [eax]
call dword [edx + 4]
ret