Function at 0x469808
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push 0
push ebx
push esi
push edi
test dl, dl
je 0x46981c
add esp, 0xfffffff0
call fcn.00403bb8
mov ebx, edx
mov edi, eax
xor eax, eax
push ebp
push 0x469ba4
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x469bc8
call sub.kernel32.dll_LoadLibraryA
mov esi, eax
mov dword [edi + 4], esi
cmp esi, 0x20
jb 0x469b8e
push 0x469bd4
push esi
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x10], eax
push 0x469be4
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x14], eax
push 0x469bf4
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x18], eax
push 0x469bfc
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x1c], eax
push 0x469c04
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x20], eax
push 0x469c10
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x24], eax
push 0x469c20
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x28], eax
push 0x469c2c
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x2c], eax
push 0x469c3c
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x30], eax
push 0x469c40
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x34], eax
push 0x469c48
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x38], eax
push 0x469c54
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x3c], eax
push 0x469c60
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x40], eax
push 0x469c6c
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x44], eax
push 0x469c78
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x48], eax
push 0x469c84
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x4c], eax
push 0x469c90
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x50], eax
push 0x469ca0
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x54], eax
push 0x469cb8
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x58], eax
push 0x469cc4
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x5c], eax
push 0x469ccc
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x60], eax
push 0x469cd4
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x64], eax
push 0x469ce0
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x68], eax
push 0x469ce8
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x6c], eax
push 0x469cf0
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x70], eax
push 0x469cfc
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x74], eax
push 0x469d04
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x78], eax
push 0x469d0c
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x7c], eax
push 0x469d14
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x80], eax
push 0x469d20
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x84], eax
push 0x469d2c
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x88], eax
push 0x469d38
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x8c], eax
push 0x469d40
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x90], eax
push 0x469d54
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x94], eax
push 0x469d68
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x98], eax
push 0x469d70
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x9c], eax
push 0x469d78
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 [0x478668]
call fcn.0040e184
mov edx, dword [ebp - 4]
lea eax, [edi + 0x1d4]
mov ecx, 0xff
call fcn.00404890
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, 0x469d84
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop edi
push edi
add edi, 0x9f2
mov esi, 0x469d8c
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 0x469bab
lea eax, [ebp - 4]
call fcn.004045e4
ret