Function at 0x47b544
Capabilities:
Link many functions at runtime

Disassembly:
push ebx
push esi
push edi
test dl, dl
je 0x47b553
add esp, 0xfffffff0
call fcn.00404240
mov ebx, edx
mov edi, eax
push 0x47b858
call sub.kernel32.dll_LoadLibraryA
mov esi, eax
mov dword [edi + 0x1c], esi
test esi, esi
jne 0x47b580
mov ecx, 0x47b86c
mov dl, 1
mov eax, dword [0x4085a0]
call fcn.0040d7e8
call fcn.004046a8
push 0x47b884
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x24], eax
push 0x47b898
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x28], eax
push 0x47b8ac
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x2c], eax
push 0x47b8bc
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x30], eax
push 0x47b8cc
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x34], eax
push 0x47b8dc
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x38], eax
push 0x47b8fc
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x3c], eax
push 0x47b90c
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x40], eax
push 0x47b918
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x44], eax
push 0x47b92c
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x48], eax
push 0x47b938
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x4c], eax
push 0x47b944
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x50], eax
push 0x47b950
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x54], eax
push 0x47b968
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x58], eax
push 0x47b974
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x5c], eax
push 0x47b984
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x60], eax
push 0x47b98c
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x64], eax
push 0x47b99c
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x68], eax
push 0x47b9a4
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x6c], eax
push 0x47b9bc
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x70], eax
push 0x47b9c8
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x74], eax
push 0x47b9d4
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x78], eax
push 0x47b9e0
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x7c], eax
push 0x47b9ec
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x80], eax
push 0x47b9fc
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x84], eax
push 0x47ba08
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x88], eax
push 0x47ba10
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x8c], eax
cmp dword [edi + 0x24], 0
je 0x47b821
cmp dword [edi + 0x28], 0
je 0x47b821
cmp dword [edi + 0x2c], 0
je 0x47b821
cmp dword [edi + 0x30], 0
je 0x47b821
cmp dword [edi + 0x34], 0
je 0x47b821
cmp dword [edi + 0x38], 0
je 0x47b821
cmp dword [edi + 0x40], 0
je 0x47b821
cmp dword [edi + 0x44], 0
je 0x47b821
cmp dword [edi + 0x48], 0
je 0x47b821
cmp dword [edi + 0x58], 0
je 0x47b821
cmp dword [edi + 0x5c], 0
je 0x47b821
cmp dword [edi + 0x60], 0
je 0x47b821
cmp dword [edi + 0x64], 0
je 0x47b821
cmp dword [edi + 0x4c], 0
je 0x47b821
cmp dword [edi + 0x50], 0
je 0x47b821
cmp dword [edi + 0x54], 0
je 0x47b821
cmp dword [edi + 0x3c], 0
je 0x47b821
cmp dword [edi + 0x70], 0
je 0x47b821
cmp dword [edi + 0x74], 0
je 0x47b821
cmp dword [edi + 0x78], 0
je 0x47b821
cmp dword [edi + 0x7c], 0
je 0x47b821
cmp dword [edi + 0x80], 0
je 0x47b821
cmp dword [edi + 0x84], 0
je 0x47b821
cmp dword [edi + 0x88], 0
je 0x47b821
cmp dword [edi + 0x8c], 0
je 0x47b821
cmp dword [edi + 0x68], 0
je 0x47b821
cmp dword [edi + 0x6c], 0
jne 0x47b837
mov ecx, 0x47ba24
mov dl, 1
mov eax, dword [0x4085a0]
call fcn.0040d7e8
call fcn.004046a8
call dword [edi + 0x24]
mov dword [edi + 0x20], eax
mov eax, edi
test bl, bl
je 0x47b852
call fcn.00404298
pop dword fs:[0]
add esp, 0xc
mov eax, edi
pop edi
pop esi
pop ebx
ret