Function at 0x46a2f8
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push 0
push ebx
push esi
push edi
test dl, dl
je 0x46a30c
add esp, 0xfffffff0
call fcn.00403e44
mov ebx, edx
mov edi, eax
xor eax, eax
push ebp
push 0x46a694
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x46a6b8
call sub.kernel32.dll_LoadLibraryA
mov esi, eax
mov dword [edi + 4], esi
cmp esi, 0x20
jb 0x46a67e
push 0x46a6c4
push esi
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x10], eax
push 0x46a6d4
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x14], eax
push 0x46a6e4
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x18], eax
push 0x46a6ec
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x1c], eax
push 0x46a6f4
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x20], eax
push 0x46a700
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x24], eax
push 0x46a710
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x28], eax
push 0x46a71c
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x2c], eax
push 0x46a72c
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x30], eax
push 0x46a730
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x34], eax
push 0x46a738
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x38], eax
push 0x46a744
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x3c], eax
push 0x46a750
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x40], eax
push 0x46a75c
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x44], eax
push 0x46a768
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x48], eax
push 0x46a774
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x4c], eax
push 0x46a780
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x50], eax
push 0x46a790
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x54], eax
push 0x46a7a8
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x58], eax
push 0x46a7b4
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x5c], eax
push 0x46a7bc
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x60], eax
push 0x46a7c4
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x64], eax
push 0x46a7d0
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x68], eax
push 0x46a7d8
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x6c], eax
push 0x46a7e0
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x70], eax
push 0x46a7ec
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x74], eax
push 0x46a7f4
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x78], eax
push 0x46a7fc
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x7c], eax
push 0x46a804
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x80], eax
push 0x46a810
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x84], eax
push 0x46a81c
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x88], eax
push 0x46a828
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x8c], eax
push 0x46a830
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x90], eax
push 0x46a844
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x94], eax
push 0x46a858
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x98], eax
push 0x46a860
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x9c], eax
push 0x46a868
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0xa0], eax
xor eax, eax
mov dword [edi + 0xc], eax
xor eax, eax
mov dword [edi + 0xc4], eax
lea edx, [ebp - 4]
mov eax, dword [0x4b0668]
call fcn.0040eb08
mov edx, dword [ebp - 4]
lea eax, [edi + 0x1d4]
mov ecx, 0xff
call fcn.00404b1c
mov byte [edi + 0x2d4], 0
mov byte [edi + 0x5f2], 0
mov byte [edi + 0x6f2], 0
mov byte [edi + 0x7f2], 0
push edi
add edi, 0x8f2
mov esi, 0x46a874
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop edi
push edi
add edi, 0x9f2
mov esi, 0x46a87c
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop edi
mov byte [edi + 0xbf2], 0
mov byte [edi + 0xcf2], 0
mov byte [edi + 0xdf2], 0
mov byte [edi + 0xef2], 0
xor eax, eax
mov dword [edi + 0xff2], eax
xor eax, eax
mov dword [edi + 0xff6], eax
xor eax, eax
mov dword [edi + 0xffa], eax
xor eax, eax
mov dword [edi + 0xffe], eax
xor eax, eax
mov dword [edi + 0x1002], eax
xor eax, eax
mov dword [edi + 0x1006], eax
xor eax, eax
mov dword [edi + 0x100a], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46a69b
lea eax, [ebp - 4]
call fcn.00404870
ret