Function at 0x46fc0c
Capabilities:
Link many functions at runtime

Disassembly:
push ebx
push esi
push edi
test dl, dl
je 0x46fc1b
add esp, 0xfffffff0
call fcn.00403d34
mov ebx, edx
mov edi, eax
push 0x4701b4
call sub.kernel32.dll_LoadLibraryA
mov esi, eax
mov dword [edi + 0x20], esi
test esi, esi
jne 0x46fc48
mov ecx, 0x4701c8
mov dl, 1
mov eax, dword [0x4079cc]
call fcn.0040cb24
call fcn.0040419c
push 0x4701e0
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x28], eax
push 0x4701f4
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x2c], eax
push 0x470208
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x30], eax
push 0x470218
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x34], eax
push 0x470228
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x38], eax
push 0x470238
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x3c], eax
push 0x470258
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x40], eax
push 0x470268
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x44], eax
push 0x470274
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x48], eax
push 0x470288
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x4c], eax
push 0x470294
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x50], eax
push 0x4702a0
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x54], eax
push 0x4702ac
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x58], eax
push 0x4702c4
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x5c], eax
push 0x4702d0
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x60], eax
push 0x4702e0
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x64], eax
push 0x4702e8
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x68], eax
push 0x4702f8
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x6c], eax
push 0x470300
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x70], eax
push 0x47030c
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x74], eax
push 0x470324
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x78], eax
push 0x470330
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x7c], eax
push 0x47033c
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x80], eax
push 0x470348
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x84], eax
push 0x470354
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x88], eax
push 0x470364
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x8c], eax
push 0x470370
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x90], eax
push 0x470384
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x94], eax
push 0x470394
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x98], eax
push 0x4703a4
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x9c], eax
push 0x4703c0
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0xa0], eax
push 0x4703e0
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0xa4], eax
push 0x4703f4
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0xac], eax
push 0x470404
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0xa8], eax
push 0x470414
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0xb0], eax
push 0x470428
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0xb4], eax
push 0x470444
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0xb8], eax
push 0x47044c
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0xbc], eax
push 0x470458
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0xcc], eax
push 0x470464
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0xc4], eax
push 0x470478
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0xc8], eax
push 0x470484
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0xd0], eax
push 0x47048c
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0xd4], eax
push 0x470498
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0xd8], eax
push 0x4704ac
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0xdc], eax
push 0x4704b8
mov eax, dword [edi + 0x20]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov esi, eax
mov dword [edi + 0xc0], esi
cmp dword [edi + 0xc0], 0
je 0x46ffb0
push 0x46fb00
call esi
cmp dword [edi + 0x28], 0
je 0x47017b
cmp dword [edi + 0x2c], 0
je 0x47017b
cmp dword [edi + 0x30], 0
je 0x47017b
cmp dword [edi + 0x34], 0
je 0x47017b
cmp dword [edi + 0x38], 0
je 0x47017b
cmp dword [edi + 0x3c], 0
je 0x47017b
cmp dword [edi + 0x44], 0
je 0x47017b
cmp dword [edi + 0x48], 0
je 0x47017b
cmp dword [edi + 0x4c], 0
je 0x47017b
cmp dword [edi + 0x5c], 0
je 0x47017b
cmp dword [edi + 0x60], 0
je 0x47017b
cmp dword [edi + 0x64], 0
je 0x47017b
cmp dword [edi + 0x68], 0
je 0x47017b
cmp dword [edi + 0x50], 0
je 0x47017b
cmp dword [edi + 0x54], 0
je 0x47017b
cmp dword [edi + 0x58], 0
je 0x47017b
cmp dword [edi + 0x40], 0
je 0x47017b
cmp dword [edi + 0x78], 0
je 0x47017b
cmp dword [edi + 0x7c], 0
je 0x47017b
cmp dword [edi + 0x80], 0
je 0x47017b
cmp dword [edi + 0x84], 0
je 0x47017b
cmp dword [edi + 0x88], 0
je 0x47017b
cmp dword [edi + 0x8c], 0
je 0x47017b
cmp dword [edi + 0xb8], 0
je 0x47017b
cmp dword [edi + 0xbc], 0
je 0x47017b
cmp dword [edi + 0x6c], 0
je 0x47017b
cmp dword [edi + 0x70], 0
je 0x47017b
cmp dword [edi + 0x94], 0
je 0x47017b
cmp dword [edi + 0x98], 0
je 0x47017b
cmp dword [edi + 0x9c], 0
je 0x47017b
cmp dword [edi + 0xa0], 0
je 0x47017b
cmp dword [edi + 0xa4], 0
je 0x47017b
cmp dword [edi + 0xac], 0
je 0x47017b
cmp dword [edi + 0xa8], 0
je 0x47017b
cmp dword [edi + 0xb0], 0
je 0x47017b
cmp dword [edi + 0xb4], 0
je 0x47017b
cmp dword [edi + 0x74], 0
je 0x47017b
cmp dword [edi + 0xcc], 0
je 0x47017b
cmp dword [edi + 0xc4], 0
je 0x47017b
cmp dword [edi + 0xc8], 0
je 0x47017b
cmp dword [edi + 0xd0], 0
je 0x47017b
cmp dword [edi + 0xd4], 0
je 0x47017b
cmp dword [edi + 0x90], 0
je 0x47017b
cmp dword [edi + 0xd8], 0
je 0x47017b
cmp dword [edi + 0xdc], 0
jne 0x470191
mov ecx, 0x4704dc
mov dl, 1
mov eax, dword [0x4079cc]
call fcn.0040cb24
call fcn.0040419c
call dword [edi + 0x28]
mov dword [edi + 0x24], eax
mov eax, edi
test bl, bl
je 0x4701ac
call fcn.00403d8c
pop dword fs:[0]
add esp, 0xc
mov eax, edi
pop edi
pop esi
pop ebx
ret