Function at 0x40da44
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x12
push 0
push 0
dec ecx
jne 0x40da4c
push ebx
push esi
push edi
xor eax, eax
push ebp
push 0x40decd
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 4]
mov eax, 0x40dee4
call fcn.00404cc0
mov edx, dword [ebp - 4]
mov eax, 0x41f1e8
call fcn.004031c8
lea edx, [ebp - 8]
mov eax, 0x40df00
call fcn.00404cc0
mov edx, dword [ebp - 8]
mov eax, 0x41f1f8
call fcn.004031c8
lea edx, [ebp - 0xc]
mov eax, 0x40df20
call fcn.00404cc0
mov edx, dword [ebp - 0xc]
mov eax, 0x41f1fc
call fcn.004031c8
lea edx, [ebp - 0x10]
mov eax, 0x40df34
call fcn.00404cc0
mov edx, dword [ebp - 0x10]
mov eax, 0x41f200
call fcn.004031c8
lea edx, [ebp - 0x14]
mov eax, 0x40df4c
call fcn.00404cc0
mov edx, dword [ebp - 0x14]
mov eax, 0x41f204
call fcn.004031c8
lea edx, [ebp - 0x18]
mov eax, 0x40df60
call fcn.00404cc0
mov edx, dword [ebp - 0x18]
mov eax, 0x41f218
call fcn.004031c8
lea edx, [ebp - 0x1c]
mov eax, 0x40df74
call fcn.00404cc0
mov edx, dword [ebp - 0x1c]
mov eax, 0x41f220
call fcn.004031c8
lea edx, [ebp - 0x20]
mov eax, 0x40df8c
call fcn.00404cc0
mov edx, dword [ebp - 0x20]
mov eax, 0x41f224
call fcn.004031c8
lea edx, [ebp - 0x24]
mov eax, 0x40df9c
call fcn.00404cc0
mov edx, dword [ebp - 0x24]
mov eax, 0x41f228
call fcn.004031c8
lea edx, [ebp - 0x28]
mov eax, 0x40dfb0
call fcn.00404cc0
mov edx, dword [ebp - 0x28]
mov eax, 0x41f230
call fcn.004031c8
lea edx, [ebp - 0x2c]
mov eax, 0x40dfc0
call fcn.00404cc0
mov edx, dword [ebp - 0x2c]
mov eax, 0x41f22c
call fcn.004031c8
lea edx, [ebp - 0x30]
mov eax, 0x40dfd0
call fcn.00404cc0
mov edx, dword [ebp - 0x30]
mov eax, 0x41f21c
call fcn.004031c8
lea edx, [ebp - 0x34]
mov eax, 0x40dfe4
call fcn.00404cc0
mov edx, dword [ebp - 0x34]
mov eax, 0x41f234
call fcn.004031c8
lea edx, [ebp - 0x38]
mov eax, 0x40e004
call fcn.00404cc0
mov edx, dword [ebp - 0x38]
mov eax, 0x41f238
call fcn.004031c8
lea edx, [ebp - 0x3c]
mov eax, 0x40e028
call fcn.00404cc0
mov edx, dword [ebp - 0x3c]
mov eax, 0x41f1dc
call fcn.004031c8
lea edx, [ebp - 0x40]
mov eax, 0x40e040
call fcn.00404cc0
mov edx, dword [ebp - 0x40]
mov eax, 0x41f1f0
call fcn.004031c8
lea edx, [ebp - 0x44]
mov eax, 0x40e054
call fcn.00404cc0
mov edx, dword [ebp - 0x44]
mov eax, 0x41f1ec
call fcn.004031c8
lea edx, [ebp - 0x48]
mov eax, 0x40e06c
call fcn.00404cc0
mov edx, dword [ebp - 0x48]
mov eax, 0x41f1f4
call fcn.004031c8
lea edx, [ebp - 0x4c]
mov eax, 0x40e084
call fcn.00404cc0
mov edx, dword [ebp - 0x4c]
mov eax, 0x41f1e4
call fcn.004031c8
lea edx, [ebp - 0x50]
mov eax, 0x40e0a4
call fcn.00404cc0
mov edx, dword [ebp - 0x50]
mov eax, 0x41f1e0
call fcn.004031c8
lea edx, [ebp - 0x54]
mov eax, 0x40e0bc
call fcn.00404cc0
mov edx, dword [ebp - 0x54]
mov eax, 0x41f208
call fcn.004031c8
lea edx, [ebp - 0x58]
mov eax, 0x40e0d8
call fcn.00404cc0
mov edx, dword [ebp - 0x58]
mov eax, 0x41f20c
call fcn.004031c8
lea edx, [ebp - 0x5c]
mov eax, 0x40e108
call fcn.00404cc0
mov edx, dword [ebp - 0x5c]
mov eax, 0x41f210
call fcn.004031c8
lea edx, [ebp - 0x60]
mov eax, 0x40e114
call fcn.00404cc0
mov edx, dword [ebp - 0x60]
mov eax, 0x41f214
call fcn.004031c8
push 0x40e128
call sub.kernel32.dll_LoadLibraryA
mov ebx, eax
test ebx, ebx
je 0x40ddae
lea edx, [ebp - 0x64]
mov eax, 0x40e140
call fcn.00404cc0
mov eax, dword [ebp - 0x64]
call fcn.00403508
push eax
push ebx
call sub.kernel32.dll_GetProcAddress
mov dword [0x4129a8], eax
lea edx, [ebp - 0x68]
mov eax, 0x40e15c
call fcn.00404cc0
mov eax, dword [ebp - 0x68]
call fcn.00403508
push eax
push ebx
call sub.kernel32.dll_GetProcAddress
mov dword [0x4129ac], eax
lea edx, [ebp - 0x6c]
mov eax, 0x40e180
call fcn.00404cc0
mov eax, dword [ebp - 0x6c]
call fcn.00403508
push eax
push ebx
call sub.kernel32.dll_GetProcAddress
mov dword [0x4129b0], eax
lea edx, [ebp - 0x70]
mov eax, 0x40e1a0
call fcn.00404cc0
mov eax, dword [ebp - 0x70]
call fcn.00403508
push eax
push ebx
call sub.kernel32.dll_GetProcAddress
mov dword [0x4129b4], eax
lea edx, [ebp - 0x74]
mov eax, 0x40e1bc
call fcn.00404cc0
mov eax, dword [ebp - 0x74]
call fcn.00403508
push eax
push ebx
call sub.kernel32.dll_GetProcAddress
mov dword [0x4129b8], eax
lea edx, [ebp - 0x78]
mov eax, 0x40e1e0
call fcn.00404cc0
mov eax, dword [ebp - 0x78]
call fcn.00403508
push eax
push ebx
call sub.kernel32.dll_GetProcAddress
mov dword [0x4129bc], eax
mov edi, 0x2f
mov ebx, 0x411144
mov esi, 0x4128c8
lea edx, [ebp - 0x7c]
mov eax, dword [ebx]
call fcn.00404cc0
mov edx, dword [ebp - 0x7c]
mov eax, esi
call fcn.004031c8
add esi, 4
add ebx, 4
dec edi
jne 0x40ddbd
call fcn.00405b88
mov byte [0x41f1c4], al
lea edx, [ebp - 0x80]
mov eax, 0x40e1fc
call fcn.00404cc0
mov eax, dword [ebp - 0x80]
push eax
lea eax, [ebp - 0x84]
call fcn.00407ea4
mov edx, dword [ebp - 0x84]
mov eax, 0x41f1d8
pop ecx
call fcn.00403354
cmp byte [0x41f1c4], 0
jne 0x40dea5
lea edx, [ebp - 0x88]
mov eax, 0x40e210
call fcn.00404cc0
mov eax, dword [ebp - 0x88]
call fcn.00403508
push eax
call sub.kernel32.dll_LoadLibraryA
mov dword [0x41f1d0], eax
cmp dword [0x41f1d0], 0
je 0x40dea5
lea edx, [ebp - 0x8c]
mov eax, 0x40e228
call fcn.00404cc0
mov eax, dword [ebp - 0x8c]
call fcn.00403508
push eax
mov eax, dword [0x41f1d0]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x41f1c8], eax
lea edx, [ebp - 0x90]
mov eax, 0x40e244
call fcn.00404cc0
mov eax, dword [ebp - 0x90]
call fcn.00403508
push eax
mov eax, dword [0x41f1d0]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x41f1cc], eax
mov al, byte [0x41f1c4]
call fcn.004050c8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x40ded4
lea eax, [ebp - 0x90]
mov edx, 0x24
call fcn.00403198
ret