Function at 0x52e708
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.00406e18
mov ebx, 0x5943b4
xor eax, eax
push ebp
push 0x52eb33
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 5], 0
cmp dword [ebp - 4], 0
jne 0x52e744
lea eax, [ebp - 4]
mov edx, 0x52eb50
call fcn.0040715c
mov eax, dword [0x59b890]
call fcn.0045a678
xor eax, eax
push ebp
push 0x52eb16
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0x5943b0], 0
jne 0x52eaee
mov byte [0x59b894], 0
mov byte [0x59b895], 0
mov eax, dword [ebp - 4]
call fcn.00407b24
push eax
call sub.kernel32.dll_LoadLibraryW
mov dword [ebx], eax
cmp dword [ebx], 0
je 0x52eaf2
push 0x52eb68
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x5943ac], eax
push 0x52eb74
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x5943a8], eax
push 0x52eb84
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x594388], eax
push 0x52eb90
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x594368], eax
push 0x52eb9c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x594320], eax
push 0x52ebac
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x594318], eax
push 0x52ebb8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x59431c], eax
push 0x52ebc4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x594390], eax
push 0x52ebcc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x59438c], eax
push 0x52ebd4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x594384], eax
push 0x52ebdc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x594380], eax
push 0x52ebe8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x59437c], eax
push 0x52ebf4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x594348], eax
push 0x52ec00
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x594378], eax
push 0x52ec08
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x594374], eax
push 0x52ec10
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x594370], eax
push 0x52ec1c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x59436c], eax
push 0x52ec28
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x594364], eax
push 0x52ec30
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x594360], eax
push 0x52ec38
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x59435c], eax
push 0x52ec40
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x594354], eax
push 0x52ec48
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x594358], eax
push 0x52ec54
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x594398], eax
push 0x52ec5c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x594350], eax
push 0x52ec64
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x59434c], eax
push 0x52ec6c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x594344], eax
push 0x52ec78
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x594340], eax
push 0x52ec84
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x594394], eax
push 0x52ec8c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x594338], eax
push 0x52ec9c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x594334], eax
push 0x52ecac
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x59432c], eax
push 0x52ecbc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x594330], eax
push 0x52ecd0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x594324], eax
push 0x52ece0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x594328], eax
push 0x52ecf0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x59433c], eax
push 0x52ecfc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x59439c], eax
push 0x52ed08
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x5943a0], eax
push 0x52ed18
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x5943a4], eax
cmp dword [0x59439c], 0
je 0x52ea57
cmp dword [0x5943a0], 0
je 0x52ea57
cmp dword [0x5943a4], 0
jne 0x52ea5b
xor eax, eax
jmp 0x52ea5d
mov al, 1
mov byte [0x59b894], al
cmp byte [0x59b894], 0
jne 0x52eae8
push 0x52ed24
call sub.kernel32.dll_LoadLibraryW
mov dword [0x5943b8], eax
cmp dword [0x5943b8], 0
je 0x52eae8
push 0x52ecfc
mov eax, dword [0x5943b8]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x59439c], eax
push 0x52ed08
mov eax, dword [0x5943b8]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x5943a0], eax
push 0x52ed18
mov eax, dword [0x5943b8]
push eax
call sub.kernel32.dll_GetProcAddress
mov dword [0x5943a4], eax
cmp dword [0x59439c], 0
je 0x52eadd
cmp dword [0x5943a0], 0
je 0x52eadd
cmp dword [0x5943a4], 0
jne 0x52eae1
xor eax, eax
jmp 0x52eae3
mov al, 1
mov byte [0x59b895], al
mov byte [ebp - 5], 1
jmp 0x52eaf2
mov byte [ebp - 5], 1
cmp byte [ebp - 5], 0
je 0x52eafe
inc dword [0x5943b0]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x52eb1d
mov eax, dword [0x59b890]
call fcn.0045a680
ret