Function at 0x4147fc
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.00404958
mov ebx, 0x42d440
xor eax, eax
push ebp
push 0x414c2e
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 5], 0
mov byte [0x4308b8], 0
cmp dword [ebp - 4], 0
jne 0x41483f
lea eax, [ebp - 4]
mov edx, 0x414c48
call fcn.00404564
mov eax, dword [0x4308b4]
call fcn.00413a1c
xor eax, eax
push ebp
push 0x414c11
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0x42d43c], 0
jne 0x414be9
mov byte [0x4308b8], 0
mov byte [0x4308b9], 0
mov eax, dword [ebp - 4]
call fcn.00404968
push eax
call sub.kernel32.dll_LoadLibraryA
mov dword [ebx], eax
cmp dword [ebx], 0
je 0x414bed
push 0x414c54
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x42d438], eax
push 0x414c60
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x42d434], eax
push 0x414c70
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x42d414], eax
push 0x414c7c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x42d3f4], eax
push 0x414c88
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x42d3ac], eax
push 0x414c98
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x42d3a4], eax
push 0x414ca4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x42d3a8], eax
push 0x414cb0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x42d41c], eax
push 0x414cb8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x42d418], eax
push 0x414cc0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x42d410], eax
push 0x414cc8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x42d40c], eax
push 0x414cd4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x42d408], eax
push 0x414ce0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x42d3d4], eax
push 0x414cec
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x42d404], eax
push 0x414cf4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x42d400], eax
push 0x414cfc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x42d3fc], eax
push 0x414d08
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x42d3f8], eax
push 0x414d14
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x42d3f0], eax
push 0x414d1c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x42d3ec], eax
push 0x414d24
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x42d3e8], eax
push 0x414d2c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x42d3e0], eax
push 0x414d34
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x42d3e4], eax
push 0x414d40
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x42d424], eax
push 0x414d48
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x42d3dc], eax
push 0x414d50
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x42d3d8], eax
push 0x414d58
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x42d3d0], eax
push 0x414d64
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x42d3cc], eax
push 0x414d70
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x42d420], eax
push 0x414d78
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x42d3c4], eax
push 0x414d88
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x42d3c0], eax
push 0x414d98
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x42d3b8], eax
push 0x414da8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x42d3bc], eax
push 0x414dbc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x42d3b0], eax
push 0x414dcc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x42d3b4], eax
push 0x414ddc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x42d3c8], eax
push 0x414de8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x42d428], eax
push 0x414df4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x42d42c], eax
push 0x414e04
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x42d430], eax
cmp dword [0x42d428], 0
je 0x414b52
cmp dword [0x42d42c], 0
je 0x414b52
cmp dword [0x42d430], 0
jne 0x414b56
xor eax, eax
jmp 0x414b58
mov al, 1
mov byte [0x4308b8], al
cmp byte [0x4308b8], 0
jne 0x414be3
push 0x414e10
call sub.kernel32.dll_LoadLibraryA
mov dword [0x42d444], eax
cmp dword [0x42d444], 0
je 0x414be3
push 0x414de8
mov eax, dword [0x42d444]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x42d428], eax
push 0x414df4
mov eax, dword [0x42d444]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x42d42c], eax
push 0x414e04
mov eax, dword [0x42d444]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x42d430], eax
cmp dword [0x42d428], 0
je 0x414bd8
cmp dword [0x42d42c], 0
je 0x414bd8
cmp dword [0x42d430], 0
jne 0x414bdc
xor eax, eax
jmp 0x414bde
mov al, 1
mov byte [0x4308b9], al
mov byte [ebp - 5], 1
jmp 0x414bed
mov byte [ebp - 5], 1
cmp byte [ebp - 5], 0
je 0x414bf9
inc dword [0x42d43c]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x414c18
mov eax, dword [0x4308b4]
call fcn.00413a24
ret