Function at 0x47ca88
Capabilities:
Link many functions at runtime

Disassembly:
push ebx
push esi
push edi
test dl, dl
je 0x47ca97
add esp, 0xfffffff0
call fcn.00403e44
mov ebx, edx
mov edi, eax
push 0x47cef8
call sub.kernel32.dll_LoadLibraryA
mov esi, eax
mov dword [edi + 0x1c], esi
test esi, esi
jne 0x47cac4
mov ecx, 0x47cf0c
mov dl, 1
mov eax, dword [0x4080a8]
call fcn.0040d21c
call fcn.004042ac
push 0x47cf24
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x24], eax
push 0x47cf38
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x28], eax
push 0x47cf4c
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x2c], eax
push 0x47cf5c
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x30], eax
push 0x47cf6c
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x34], eax
push 0x47cf7c
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x38], eax
push 0x47cf9c
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x3c], eax
push 0x47cfac
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x40], eax
push 0x47cfb8
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x44], eax
push 0x47cfcc
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x48], eax
push 0x47cfd8
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x4c], eax
push 0x47cfe4
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x50], eax
push 0x47cff0
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x54], eax
push 0x47d008
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x58], eax
push 0x47d014
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x5c], eax
push 0x47d024
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x60], eax
push 0x47d02c
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x64], eax
push 0x47d03c
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x68], eax
push 0x47d044
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x6c], eax
push 0x47d050
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x70], eax
push 0x47d068
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x74], eax
push 0x47d074
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x78], eax
push 0x47d080
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x7c], eax
push 0x47d08c
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x80], eax
push 0x47d098
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x84], eax
push 0x47d0a8
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x88], eax
push 0x47d0b4
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x8c], eax
push 0x47d0c4
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x90], eax
push 0x47d0d4
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x94], eax
push 0x47d0f0
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x98], eax
push 0x47d110
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x9c], eax
push 0x47d124
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0xa4], eax
push 0x47d134
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0xa0], eax
push 0x47d144
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0xa8], eax
push 0x47d158
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0xac], eax
push 0x47d174
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0xb0], eax
push 0x47d17c
mov eax, dword [edi + 0x1c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0xb4], eax
cmp dword [edi + 0x24], 0
je 0x47cebf
cmp dword [edi + 0x28], 0
je 0x47cebf
cmp dword [edi + 0x2c], 0
je 0x47cebf
cmp dword [edi + 0x30], 0
je 0x47cebf
cmp dword [edi + 0x34], 0
je 0x47cebf
cmp dword [edi + 0x38], 0
je 0x47cebf
cmp dword [edi + 0x40], 0
je 0x47cebf
cmp dword [edi + 0x44], 0
je 0x47cebf
cmp dword [edi + 0x48], 0
je 0x47cebf
cmp dword [edi + 0x58], 0
je 0x47cebf
cmp dword [edi + 0x5c], 0
je 0x47cebf
cmp dword [edi + 0x60], 0
je 0x47cebf
cmp dword [edi + 0x64], 0
je 0x47cebf
cmp dword [edi + 0x4c], 0
je 0x47cebf
cmp dword [edi + 0x50], 0
je 0x47cebf
cmp dword [edi + 0x54], 0
je 0x47cebf
cmp dword [edi + 0x3c], 0
je 0x47cebf
cmp dword [edi + 0x74], 0
je 0x47cebf
cmp dword [edi + 0x78], 0
je 0x47cebf
cmp dword [edi + 0x7c], 0
je 0x47cebf
cmp dword [edi + 0x80], 0
je 0x47cebf
cmp dword [edi + 0x84], 0
je 0x47cebf
cmp dword [edi + 0x88], 0
je 0x47cebf
cmp dword [edi + 0xb0], 0
je 0x47cebf
cmp dword [edi + 0xb4], 0
je 0x47cebf
cmp dword [edi + 0x68], 0
je 0x47cebf
cmp dword [edi + 0x6c], 0
je 0x47cebf
cmp dword [edi + 0x8c], 0
je 0x47cebf
cmp dword [edi + 0x90], 0
je 0x47cebf
cmp dword [edi + 0x94], 0
je 0x47cebf
cmp dword [edi + 0x98], 0
je 0x47cebf
cmp dword [edi + 0x9c], 0
je 0x47cebf
cmp dword [edi + 0xa4], 0
je 0x47cebf
cmp dword [edi + 0xa0], 0
je 0x47cebf
cmp dword [edi + 0xa8], 0
je 0x47cebf
cmp dword [edi + 0xac], 0
je 0x47cebf
cmp dword [edi + 0x70], 0
jne 0x47ced5
mov ecx, 0x47d190
mov dl, 1
mov eax, dword [0x4080a8]
call fcn.0040d21c
call fcn.004042ac
call dword [edi + 0x24]
mov dword [edi + 0x20], eax
mov eax, edi
test bl, bl
je 0x47cef0
call fcn.00403e9c
pop dword fs:[0]
add esp, 0xc
mov eax, edi
pop edi
pop esi
pop ebx
ret