Function at 0x428fd8
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff8
push ebx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00404984
mov ebx, 0x46dfc4
xor eax, eax
push ebp
push 0x429403
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 5], 0
cmp dword [ebp - 4], 0
jne 0x429014
lea eax, [ebp - 4]
mov edx, 0x42941c
call fcn.00404550
mov eax, dword [0x47292c]
call fcn.004283c4
xor eax, eax
push ebp
push 0x4293e6
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0x46dfc0], 0
jne 0x4293be
mov byte [0x472930], 0
mov byte [0x472931], 0
mov eax, dword [ebp - 4]
call fcn.00404994
push eax
call sub.kernel32.dll_LoadLibraryA
mov dword [ebx], eax
cmp dword [ebx], 0
je 0x4293c2
push 0x429428
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x46dfbc], eax
push 0x429434
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x46dfb8], eax
push 0x429444
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x46df98], eax
push 0x429450
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x46df78], eax
push 0x42945c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x46df30], eax
push 0x42946c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x46df28], eax
push 0x429478
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x46df2c], eax
push 0x429484
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x46dfa0], eax
push 0x42948c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x46df9c], eax
push 0x429494
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x46df94], eax
push 0x42949c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x46df90], eax
push 0x4294a8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x46df8c], eax
push 0x4294b4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x46df58], eax
push 0x4294c0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x46df88], eax
push 0x4294c8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x46df84], eax
push 0x4294d0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x46df80], eax
push 0x4294dc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x46df7c], eax
push 0x4294e8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x46df74], eax
push 0x4294f0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x46df70], eax
push 0x4294f8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x46df6c], eax
push 0x429500
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x46df64], eax
push 0x429508
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x46df68], eax
push 0x429514
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x46dfa8], eax
push 0x42951c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x46df60], eax
push 0x429524
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x46df5c], eax
push 0x42952c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x46df54], eax
push 0x429538
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x46df50], eax
push 0x429544
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x46dfa4], eax
push 0x42954c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x46df48], eax
push 0x42955c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x46df44], eax
push 0x42956c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x46df3c], eax
push 0x42957c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x46df40], eax
push 0x429590
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x46df34], eax
push 0x4295a0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x46df38], eax
push 0x4295b0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x46df4c], eax
push 0x4295bc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x46dfac], eax
push 0x4295c8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x46dfb0], eax
push 0x4295d8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x46dfb4], eax
cmp dword [0x46dfac], 0
je 0x429327
cmp dword [0x46dfb0], 0
je 0x429327
cmp dword [0x46dfb4], 0
jne 0x42932b
xor eax, eax
jmp 0x42932d
mov al, 1
mov byte [0x472930], al
cmp byte [0x472930], 0
jne 0x4293b8
push 0x4295e4
call sub.kernel32.dll_LoadLibraryA
mov dword [0x46dfc8], eax
cmp dword [0x46dfc8], 0
je 0x4293b8
push 0x4295bc
mov eax, dword [0x46dfc8]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x46dfac], eax
push 0x4295c8
mov eax, dword [0x46dfc8]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x46dfb0], eax
push 0x4295d8
mov eax, dword [0x46dfc8]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x46dfb4], eax
cmp dword [0x46dfac], 0
je 0x4293ad
cmp dword [0x46dfb0], 0
je 0x4293ad
cmp dword [0x46dfb4], 0
jne 0x4293b1
xor eax, eax
jmp 0x4293b3
mov al, 1
mov byte [0x472931], al
mov byte [ebp - 5], 1
jmp 0x4293c2
mov byte [ebp - 5], 1
cmp byte [ebp - 5], 0
je 0x4293ce
inc dword [0x46dfc0]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4293ed
mov eax, dword [0x47292c]
call fcn.004283cc
ret