Function at 0x4511d8
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
push ebx
push esi
push edi
mov ebx, eax
xor eax, eax
push ebp
push 0x45145f
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0x455bec], 0
jne 0x45143a
mov eax, ebx
call fcn.00403fc8
lea eax, [ebp - 8]
call fcn.00450c4c
mov edx, dword [ebp - 8]
lea eax, [ebp - 4]
mov ecx, 0x451478
call fcn.004042d4
mov eax, dword [ebp - 4]
call fcn.00404488
push eax
call sub.kernel32.dll_LoadLibraryA
mov dword [0x455bec], eax
cmp dword [0x455bec], 0
jne 0x45125a
mov eax, dword [0x4542e8]
push dword [eax]
push 0x45148c
push dword [ebp - 4]
mov eax, ebx
mov edx, 3
call fcn.00404348
jmp 0x45143a
push 0x451490
mov eax, dword [0x455bec]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov edi, eax
mov esi, edi
push 0x4514a4
mov eax, dword [0x455bec]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x455bf0], eax
push 0x4514b4
mov eax, dword [0x455bec]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x455bf4], eax
push 0x4514c0
mov eax, dword [0x455bec]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x455bf8], eax
push 0x4514d0
mov eax, dword [0x455bec]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x455bfc], eax
push 0x4514e0
mov eax, dword [0x455bec]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x455c00], eax
push 0x4514ec
mov eax, dword [0x455bec]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x455c04], eax
push 0x451500
mov eax, dword [0x455bec]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x455c08], eax
test edi, edi
jne 0x45131f
mov edx, dword [0x4542e8]
mov edx, dword [edx + 4]
mov eax, ebx
mov ecx, 0x45151c
call fcn.004042d4
jmp 0x451423
call esi
test al, al
je 0x45133f
mov edx, dword [0x4542e8]
mov edx, dword [edx + 4]
mov eax, ebx
mov ecx, 0x45153c
call fcn.004042d4
jmp 0x451423
cmp dword [0x455bf0], 0
jne 0x451362
mov edx, dword [0x4542e8]
mov edx, dword [edx + 4]
mov eax, ebx
mov ecx, 0x451560
call fcn.004042d4
jmp 0x451423
cmp dword [0x455bf4], 0
jne 0x451385
mov edx, dword [0x4542e8]
mov edx, dword [edx + 4]
mov eax, ebx
mov ecx, 0x451578
call fcn.004042d4
jmp 0x451423
cmp dword [0x455bf8], 0
jne 0x4513a5
mov edx, dword [0x4542e8]
mov edx, dword [edx + 4]
mov eax, ebx
mov ecx, 0x451590
call fcn.004042d4
jmp 0x451423
cmp dword [0x455bfc], 0
jne 0x4513c5
mov edx, dword [0x4542e8]
mov edx, dword [edx + 4]
mov eax, ebx
mov ecx, 0x4515a8
call fcn.004042d4
jmp 0x451423
cmp dword [0x455c00], 0
jne 0x4513e5
mov edx, dword [0x4542e8]
mov edx, dword [edx + 4]
mov eax, ebx
mov ecx, 0x4515c4
call fcn.004042d4
jmp 0x451423
cmp dword [0x455c04], 0
jne 0x451405
mov edx, dword [0x4542e8]
mov edx, dword [edx + 4]
mov eax, ebx
mov ecx, 0x4515dc
call fcn.004042d4
jmp 0x451423
cmp dword [0x455c08], 0
jne 0x451423
mov edx, dword [0x4542e8]
mov edx, dword [edx + 4]
mov eax, ebx
mov ecx, 0x4515f8
call fcn.004042d4
cmp dword [ebx], 0
je 0x45143a
mov eax, dword [0x455bec]
push eax
call sub.kernel32.dll_FreeLibrary_1
xor eax, eax
mov dword [0x455bec], eax
cmp dword [0x455bec], 0
setne bl
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x451466
lea eax, [ebp - 8]
mov edx, 2
call fcn.00403fec
ret