Function at 0x472450
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.004045e8
mov ebx, 0x488030
xor eax, eax
push ebp
push 0x472882
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 5], 0
mov byte [0x48dc44], 0
cmp dword [ebp - 4], 0
jne 0x472493
lea eax, [ebp - 4]
mov edx, 0x47289c
call fcn.004041d0
mov eax, dword [0x48dc40]
call fcn.004288ac
xor eax, eax
push ebp
push 0x472865
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0x48802c], 0
jne 0x47283d
mov byte [0x48dc44], 0
mov byte [0x48dc45], 0
mov eax, dword [ebp - 4]
call fcn.004045f8
push eax
call sub.kernel32.dll_LoadLibraryA
mov dword [ebx], eax
cmp dword [ebx], 0
je 0x472841
push 0x4728a8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x488028], eax
push 0x4728b4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x488024], eax
push 0x4728c4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x488004], eax
push 0x4728d0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x487fe4], eax
push 0x4728dc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x487f9c], eax
push 0x4728ec
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x487f94], eax
push 0x4728f8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x487f98], eax
push 0x472904
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x48800c], eax
push 0x47290c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x488008], eax
push 0x472914
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x488000], eax
push 0x47291c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x487ffc], eax
push 0x472928
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x487ff8], eax
push 0x472934
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x487fc4], eax
push 0x472940
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x487ff4], eax
push 0x472948
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x487ff0], eax
push 0x472950
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x487fec], eax
push 0x47295c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x487fe8], eax
push 0x472968
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x487fe0], eax
push 0x472970
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x487fdc], eax
push 0x472978
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x487fd8], eax
push 0x472980
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x487fd0], eax
push 0x472988
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x487fd4], eax
push 0x472994
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x488014], eax
push 0x47299c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x487fcc], eax
push 0x4729a4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x487fc8], eax
push 0x4729ac
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x487fc0], eax
push 0x4729b8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x487fbc], eax
push 0x4729c4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x488010], eax
push 0x4729cc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x487fb4], eax
push 0x4729dc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x487fb0], eax
push 0x4729ec
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x487fa8], eax
push 0x4729fc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x487fac], eax
push 0x472a10
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x487fa0], eax
push 0x472a20
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x487fa4], eax
push 0x472a30
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x487fb8], eax
push 0x472a3c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x488018], eax
push 0x472a48
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x48801c], eax
push 0x472a58
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x488020], eax
cmp dword [0x488018], 0
je 0x4727a6
cmp dword [0x48801c], 0
je 0x4727a6
cmp dword [0x488020], 0
jne 0x4727aa
xor eax, eax
jmp 0x4727ac
mov al, 1
mov byte [0x48dc44], al
cmp byte [0x48dc44], 0
jne 0x472837
push 0x472a64
call sub.kernel32.dll_LoadLibraryA
mov dword [0x488034], eax
cmp dword [0x488034], 0
je 0x472837
push 0x472a3c
mov eax, dword [0x488034]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x488018], eax
push 0x472a48
mov eax, dword [0x488034]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x48801c], eax
push 0x472a58
mov eax, dword [0x488034]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x488020], eax
cmp dword [0x488018], 0
je 0x47282c
cmp dword [0x48801c], 0
je 0x47282c
cmp dword [0x488020], 0
jne 0x472830
xor eax, eax
jmp 0x472832
mov al, 1
mov byte [0x48dc45], al
mov byte [ebp - 5], 1
jmp 0x472841
mov byte [ebp - 5], 1
cmp byte [ebp - 5], 0
je 0x47284d
inc dword [0x48802c]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47286c
mov eax, dword [0x48dc40]
call fcn.004288b4
ret