Function at 0x4587c0
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.00404e84
mov ebx, 0x469f20
xor eax, eax
push ebp
push 0x458bf2
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 5], 0
mov byte [0x46bb90], 0
cmp dword [ebp - 4], 0
jne 0x458803
lea eax, [ebp - 4]
mov edx, 0x458c0c
call fcn.00404a6c
mov eax, dword [0x46bb8c]
call fcn.00425624
xor eax, eax
push ebp
push 0x458bd5
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0x469f1c], 0
jne 0x458bad
mov byte [0x46bb90], 0
mov byte [0x46bb91], 0
mov eax, dword [ebp - 4]
call fcn.00404e94
push eax
call sub.kernel32.dll_LoadLibraryA
mov dword [ebx], eax
cmp dword [ebx], 0
je 0x458bb1
push 0x458c18
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x469f18], eax
push 0x458c24
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x469f14], eax
push 0x458c34
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x469ef4], eax
push 0x458c40
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x469ed4], eax
push 0x458c4c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x469e8c], eax
push 0x458c5c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x469e84], eax
push 0x458c68
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x469e88], eax
push 0x458c74
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x469efc], eax
push 0x458c7c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x469ef8], eax
push 0x458c84
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x469ef0], eax
push 0x458c8c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x469eec], eax
push 0x458c98
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x469ee8], eax
push 0x458ca4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x469eb4], eax
push 0x458cb0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x469ee4], eax
push 0x458cb8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x469ee0], eax
push 0x458cc0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x469edc], eax
push 0x458ccc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x469ed8], eax
push 0x458cd8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x469ed0], eax
push 0x458ce0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x469ecc], eax
push 0x458ce8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x469ec8], eax
push 0x458cf0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x469ec0], eax
push 0x458cf8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x469ec4], eax
push 0x458d04
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x469f04], eax
push 0x458d0c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x469ebc], eax
push 0x458d14
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x469eb8], eax
push 0x458d1c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x469eb0], eax
push 0x458d28
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x469eac], eax
push 0x458d34
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x469f00], eax
push 0x458d3c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x469ea4], eax
push 0x458d4c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x469ea0], eax
push 0x458d5c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x469e98], eax
push 0x458d6c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x469e9c], eax
push 0x458d80
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x469e90], eax
push 0x458d90
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x469e94], eax
push 0x458da0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x469ea8], eax
push 0x458dac
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x469f08], eax
push 0x458db8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x469f0c], eax
push 0x458dc8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x469f10], eax
cmp dword [0x469f08], 0
je 0x458b16
cmp dword [0x469f0c], 0
je 0x458b16
cmp dword [0x469f10], 0
jne 0x458b1a
xor eax, eax
jmp 0x458b1c
mov al, 1
mov byte [0x46bb90], al
cmp byte [0x46bb90], 0
jne 0x458ba7
push 0x458dd4
call sub.kernel32.dll_LoadLibraryA
mov dword [0x469f24], eax
cmp dword [0x469f24], 0
je 0x458ba7
push 0x458dac
mov eax, dword [0x469f24]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x469f08], eax
push 0x458db8
mov eax, dword [0x469f24]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x469f0c], eax
push 0x458dc8
mov eax, dword [0x469f24]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x469f10], eax
cmp dword [0x469f08], 0
je 0x458b9c
cmp dword [0x469f0c], 0
je 0x458b9c
cmp dword [0x469f10], 0
jne 0x458ba0
xor eax, eax
jmp 0x458ba2
mov al, 1
mov byte [0x46bb91], al
mov byte [ebp - 5], 1
jmp 0x458bb1
mov byte [ebp - 5], 1
cmp byte [ebp - 5], 0
je 0x458bbd
inc dword [0x469f1c]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x458bdc
mov eax, dword [0x46bb8c]
call fcn.0042562c
ret