Function at 0x56debc
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.004053f4
mov ebx, 0x59bdc4
xor eax, eax
push ebp
push 0x56e2ee
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 5], 0
mov byte [0x5a19d4], 0
cmp dword [ebp - 4], 0
jne 0x56deff
lea eax, [ebp - 4]
mov edx, 0x56e308
call fcn.00404fcc
mov eax, dword [0x5a19d0]
call fcn.004356bc
xor eax, eax
push ebp
push 0x56e2d1
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0x59bdc0], 0
jne 0x56e2a9
mov byte [0x5a19d4], 0
mov byte [0x5a19d5], 0
mov eax, dword [ebp - 4]
call fcn.00405404
push eax
call sub.kernel32.dll_LoadLibraryA
mov dword [ebx], eax
cmp dword [ebx], 0
je 0x56e2ad
push 0x56e314
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x59bdbc], eax
push 0x56e320
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x59bdb8], eax
push 0x56e330
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x59bd98], eax
push 0x56e33c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x59bd78], eax
push 0x56e348
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x59bd30], eax
push 0x56e358
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x59bd28], eax
push 0x56e364
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x59bd2c], eax
push 0x56e370
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x59bda0], eax
push 0x56e378
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x59bd9c], eax
push 0x56e380
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x59bd94], eax
push 0x56e388
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x59bd90], eax
push 0x56e394
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x59bd8c], eax
push 0x56e3a0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x59bd58], eax
push 0x56e3ac
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x59bd88], eax
push 0x56e3b4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x59bd84], eax
push 0x56e3bc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x59bd80], eax
push 0x56e3c8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x59bd7c], eax
push 0x56e3d4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x59bd74], eax
push 0x56e3dc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x59bd70], eax
push 0x56e3e4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x59bd6c], eax
push 0x56e3ec
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x59bd64], eax
push 0x56e3f4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x59bd68], eax
push 0x56e400
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x59bda8], eax
push 0x56e408
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x59bd60], eax
push 0x56e410
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x59bd5c], eax
push 0x56e418
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x59bd54], eax
push 0x56e424
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x59bd50], eax
push 0x56e430
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x59bda4], eax
push 0x56e438
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x59bd48], eax
push 0x56e448
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x59bd44], eax
push 0x56e458
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x59bd3c], eax
push 0x56e468
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x59bd40], eax
push 0x56e47c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x59bd34], eax
push 0x56e48c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x59bd38], eax
push 0x56e49c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x59bd4c], eax
push 0x56e4a8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x59bdac], eax
push 0x56e4b4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x59bdb0], eax
push 0x56e4c4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x59bdb4], eax
cmp dword [0x59bdac], 0
je 0x56e212
cmp dword [0x59bdb0], 0
je 0x56e212
cmp dword [0x59bdb4], 0
jne 0x56e216
xor eax, eax
jmp 0x56e218
mov al, 1
mov byte [0x5a19d4], al
cmp byte [0x5a19d4], 0
jne 0x56e2a3
push 0x56e4d0
call sub.kernel32.dll_LoadLibraryA
mov dword [0x59bdc8], eax
cmp dword [0x59bdc8], 0
je 0x56e2a3
push 0x56e4a8
mov eax, dword [0x59bdc8]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x59bdac], eax
push 0x56e4b4
mov eax, dword [0x59bdc8]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x59bdb0], eax
push 0x56e4c4
mov eax, dword [0x59bdc8]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x59bdb4], eax
cmp dword [0x59bdac], 0
je 0x56e298
cmp dword [0x59bdb0], 0
je 0x56e298
cmp dword [0x59bdb4], 0
jne 0x56e29c
xor eax, eax
jmp 0x56e29e
mov al, 1
mov byte [0x5a19d5], al
mov byte [ebp - 5], 1
jmp 0x56e2ad
mov byte [ebp - 5], 1
cmp byte [ebp - 5], 0
je 0x56e2b9
inc dword [0x59bdc0]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x56e2d8
mov eax, dword [0x5a19d0]
call fcn.004356c4
ret