Function at 0x45dc30
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.00404a20
mov ebx, 0x489f04
xor eax, eax
push ebp
push 0x45e062
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 5], 0
mov byte [0x48cc28], 0
cmp dword [ebp - 4], 0
jne 0x45dc73
lea eax, [ebp - 4]
mov edx, 0x45e07c
call fcn.00404608
mov eax, dword [0x48cc24]
call fcn.00426fa4
xor eax, eax
push ebp
push 0x45e045
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0x489f00], 0
jne 0x45e01d
mov byte [0x48cc28], 0
mov byte [0x48cc29], 0
mov eax, dword [ebp - 4]
call fcn.00404a30
push eax
call sub.kernel32.dll_LoadLibraryA
mov dword [ebx], eax
cmp dword [ebx], 0
je 0x45e021
push 0x45e088
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x489efc], eax
push 0x45e094
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x489ef8], eax
push 0x45e0a4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x489ed8], eax
push 0x45e0b0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x489eb8], eax
push 0x45e0bc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x489e70], eax
push 0x45e0cc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x489e68], eax
push 0x45e0d8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x489e6c], eax
push 0x45e0e4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x489ee0], eax
push 0x45e0ec
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x489edc], eax
push 0x45e0f4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x489ed4], eax
push 0x45e0fc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x489ed0], eax
push 0x45e108
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x489ecc], eax
push 0x45e114
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x489e98], eax
push 0x45e120
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x489ec8], eax
push 0x45e128
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x489ec4], eax
push 0x45e130
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x489ec0], eax
push 0x45e13c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x489ebc], eax
push 0x45e148
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x489eb4], eax
push 0x45e150
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x489eb0], eax
push 0x45e158
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x489eac], eax
push 0x45e160
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x489ea4], eax
push 0x45e168
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x489ea8], eax
push 0x45e174
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x489ee8], eax
push 0x45e17c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x489ea0], eax
push 0x45e184
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x489e9c], eax
push 0x45e18c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x489e94], eax
push 0x45e198
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x489e90], eax
push 0x45e1a4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x489ee4], eax
push 0x45e1ac
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x489e88], eax
push 0x45e1bc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x489e84], eax
push 0x45e1cc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x489e7c], eax
push 0x45e1dc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x489e80], eax
push 0x45e1f0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x489e74], eax
push 0x45e200
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x489e78], eax
push 0x45e210
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x489e8c], eax
push 0x45e21c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x489eec], eax
push 0x45e228
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x489ef0], eax
push 0x45e238
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x489ef4], eax
cmp dword [0x489eec], 0
je 0x45df86
cmp dword [0x489ef0], 0
je 0x45df86
cmp dword [0x489ef4], 0
jne 0x45df8a
xor eax, eax
jmp 0x45df8c
mov al, 1
mov byte [0x48cc28], al
cmp byte [0x48cc28], 0
jne 0x45e017
push 0x45e244
call sub.kernel32.dll_LoadLibraryA
mov dword [0x489f08], eax
cmp dword [0x489f08], 0
je 0x45e017
push 0x45e21c
mov eax, dword [0x489f08]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x489eec], eax
push 0x45e228
mov eax, dword [0x489f08]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x489ef0], eax
push 0x45e238
mov eax, dword [0x489f08]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x489ef4], eax
cmp dword [0x489eec], 0
je 0x45e00c
cmp dword [0x489ef0], 0
je 0x45e00c
cmp dword [0x489ef4], 0
jne 0x45e010
xor eax, eax
jmp 0x45e012
mov al, 1
mov byte [0x48cc29], al
mov byte [ebp - 5], 1
jmp 0x45e021
mov byte [ebp - 5], 1
cmp byte [ebp - 5], 0
je 0x45e02d
inc dword [0x489f00]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x45e04c
mov eax, dword [0x48cc24]
call fcn.00426fac
ret