Function at 0x463d34
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push 0
push ebx
push esi
push edi
test dl, dl
je 0x463d48
add esp, 0xfffffff0
call fcn.00403de0
mov ebx, edx
mov edi, eax
xor eax, eax
push ebp
push 0x4640d0
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x4640f4
call sub.kernel32.dll_LoadLibraryA
mov esi, eax
mov dword [edi + 4], esi
cmp esi, 0x20
jb 0x4640ba
push 0x464100
push esi
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x10], eax
push 0x464110
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x14], eax
push 0x464120
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x18], eax
push 0x464128
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x1c], eax
push 0x464130
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x20], eax
push 0x46413c
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x24], eax
push 0x46414c
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x28], eax
push 0x464158
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x2c], eax
push 0x464168
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x30], eax
push 0x46416c
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x34], eax
push 0x464174
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x38], eax
push 0x464180
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x3c], eax
push 0x46418c
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x40], eax
push 0x464198
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x44], eax
push 0x4641a4
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x48], eax
push 0x4641b0
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x4c], eax
push 0x4641bc
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x50], eax
push 0x4641cc
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x54], eax
push 0x4641e4
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x58], eax
push 0x4641f0
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x5c], eax
push 0x4641f8
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x60], eax
push 0x464200
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x64], eax
push 0x46420c
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x68], eax
push 0x464214
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x6c], eax
push 0x46421c
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x70], eax
push 0x464228
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x74], eax
push 0x464230
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x78], eax
push 0x464238
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x7c], eax
push 0x464240
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x80], eax
push 0x46424c
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x84], eax
push 0x464258
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x88], eax
push 0x464264
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x8c], eax
push 0x46426c
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x90], eax
push 0x464280
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x94], eax
push 0x464294
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x98], eax
push 0x46429c
mov eax, dword [edi + 4]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [edi + 0x9c], eax
push 0x4642a4
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 [0x477660]
call fcn.0040e63c
mov edx, dword [ebp - 4]
lea eax, [edi + 0x1d4]
mov ecx, 0xff
call fcn.00404ab8
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, 0x4642b0
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
pop edi
push edi
add edi, 0x9f2
mov esi, 0x4642b8
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 0x4640d7
lea eax, [ebp - 4]
call fcn.0040480c
ret