Function at 0x478cf0
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.00405f68
mov ebx, 0x4e1430
xor eax, eax
push ebp
push 0x479123
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 5], 0
mov byte [0x5092c4], 0
cmp dword [ebp - 4], 0
jne 0x478d34
lea eax, [ebp - 4]
mov edx, dword [0x50929c]
call fcn.00405b4c
mov eax, dword [0x5092c0]
call fcn.00478ac4
xor eax, eax
push ebp
push 0x479106
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0x4e142c], 0
jne 0x4790de
mov byte [0x5092c4], 0
mov byte [0x5092c5], 0
mov eax, dword [ebp - 4]
call fcn.00405f78
push eax
call sub.kernel32.dll_LoadLibraryA
mov dword [ebx], eax
cmp dword [ebx], 0
je 0x4790e2
push 0x479134
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e1428], eax
push 0x479140
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e1424], eax
push 0x479150
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e1404], eax
push 0x47915c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e13e4], eax
push 0x479168
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e139c], eax
push 0x479178
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e1394], eax
push 0x479184
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e1398], eax
push 0x479190
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e140c], eax
push 0x479198
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e1408], eax
push 0x4791a0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e1400], eax
push 0x4791a8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e13fc], eax
push 0x4791b4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e13f8], eax
push 0x4791c0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e13c4], eax
push 0x4791cc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e13f4], eax
push 0x4791d4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e13f0], eax
push 0x4791dc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e13ec], eax
push 0x4791e8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e13e8], eax
push 0x4791f4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e13e0], eax
push 0x4791fc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e13dc], eax
push 0x479204
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e13d8], eax
push 0x47920c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e13d0], eax
push 0x479214
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e13d4], eax
push 0x479220
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e1414], eax
push 0x479228
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e13cc], eax
push 0x479230
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e13c8], eax
push 0x479238
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e13c0], eax
push 0x479244
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e13bc], eax
push 0x479250
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e1410], eax
push 0x479258
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e13b4], eax
push 0x479268
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e13b0], eax
push 0x479278
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e13a8], eax
push 0x479288
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e13ac], eax
push 0x47929c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e13a0], eax
push 0x4792ac
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e13a4], eax
push 0x4792bc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e13b8], eax
push 0x4792c8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e1418], eax
push 0x4792d4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e141c], eax
push 0x4792e4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e1420], eax
cmp dword [0x4e1418], 0
je 0x479047
cmp dword [0x4e141c], 0
je 0x479047
cmp dword [0x4e1420], 0
jne 0x47904b
xor eax, eax
jmp 0x47904d
mov al, 1
mov byte [0x5092c4], al
cmp byte [0x5092c4], 0
jne 0x4790d8
push 0x4792f0
call sub.kernel32.dll_LoadLibraryA
mov dword [0x4e1434], eax
cmp dword [0x4e1434], 0
je 0x4790d8
push 0x4792c8
mov eax, dword [0x4e1434]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e1418], eax
push 0x4792d4
mov eax, dword [0x4e1434]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e141c], eax
push 0x4792e4
mov eax, dword [0x4e1434]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x4e1420], eax
cmp dword [0x4e1418], 0
je 0x4790cd
cmp dword [0x4e141c], 0
je 0x4790cd
cmp dword [0x4e1420], 0
jne 0x4790d1
xor eax, eax
jmp 0x4790d3
mov al, 1
mov byte [0x5092c5], al
mov byte [ebp - 5], 1
jmp 0x4790e2
mov byte [ebp - 5], 1
cmp byte [ebp - 5], 0
je 0x4790ee
inc dword [0x4e142c]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47910d
mov eax, dword [0x5092c0]
call fcn.00478acc
ret