Function at 0x52fcbc
Capabilities:
Link many functions at runtime

Disassembly:
push ebx
push esi
push edi
mov esi, 0x5cbb4c
mov edi, 0x5cbb50
cmp byte [0x5cbb58], 0
je 0x52fce1
cmp dword [0x5d2ef8], 0
setne bl
jmp 0x5300b1
xor ebx, ebx
xor eax, eax
mov dword [0x5d2ef8], eax
mov byte [0x5cbb58], 1
mov byte [0x5cbb5c], 0
push 0x5300b8
call sub.kernel32.dll_LoadLibraryA
mov dword [esi], eax
cmp dword [esi], 0
je 0x5300b1
push 0x5300c8
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5d2ef8], eax
push 0x5300d4
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5d2efc], eax
push 0x5300e8
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5d2f00], eax
push 0x5300f8
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5d2f04], eax
push 0x530110
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5d2f08], eax
push 0x530124
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5d2f0c], eax
push 0x530130
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5d2f10], eax
push 0x530148
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5d2f14], eax
push 0x530160
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5d2f18], eax
push 0x530170
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5d2f1c], eax
push 0x530188
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5d2f20], eax
push 0x5301a4
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5d2f24], eax
mov eax, dword [0x5d0294]
cmp byte [eax], 1
jae 0x52fe03
mov eax, dword [0x5d0294]
cmp byte [eax], 0
jne 0x52fe15
mov eax, dword [0x5d0af4]
cmp dword [eax], 0xa
jl 0x52fe15
push 0x5301bc
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5d2f50], eax
mov eax, dword [0x5d0294]
cmp byte [eax], 1
jb 0x52ff69
push 0x5301d8
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5d2f44], eax
push 0x5301f0
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5d2f54], eax
push 0x53020c
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5d2f58], eax
push 0x530228
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5d2f5c], eax
push 0x530240
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5d2f60], eax
push 0x530258
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5d2f64], eax
push 0x530274
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5d2f68], eax
push 0x53028c
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5d2f6c], eax
push 0x5302a4
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5d2f70], eax
push 0x5302bc
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5d2f74], eax
push 0x5302d4
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5d2f48], eax
push 0x5302e8
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5d2f4c], eax
mov eax, dword [0x5d0294]
cmp byte [eax], 2
jb 0x52ff4d
push 0x5302fc
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5d2f84], eax
push 0x530318
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5d2f8c], eax
push 0x530338
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5d2f88], eax
push 0x530350
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5d2f90], eax
mov eax, dword [0x5d0294]
cmp byte [eax], 3
jb 0x52ff69
push 0x530368
mov eax, dword [esi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5d2f94], eax
mov eax, dword [esi]
mov dword [edi], eax
push 0x53037c
mov eax, dword [edi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5d2f28], eax
cmp dword [0x5d2f28], 0
je 0x52ff91
mov byte [0x5cbb5c], 1
jmp 0x52ffa9
push 0x530390
call sub.kernel32.dll_LoadLibraryA
mov dword [edi], eax
cmp dword [edi], 0
je 0x52ffa9
mov byte [0x5cbb5c], 1
cmp byte [0x5cbb5c], 0
je 0x530030
push 0x53037c
mov eax, dword [edi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5d2f28], eax
push 0x53039c
mov eax, dword [edi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5d2f2c], eax
push 0x5303b4
mov eax, dword [edi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5d2f30], eax
push 0x5303cc
mov eax, dword [edi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5d2f34], eax
push 0x5303dc
mov eax, dword [edi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5d2f38], eax
push 0x5303ec
mov eax, dword [edi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5d2f3c], eax
push 0x530404
mov eax, dword [edi]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5d2f40], eax
cmp dword [0x5d2ef8], 0
setne bl
mov eax, dword [0x5d0294]
cmp byte [eax], 1
jb 0x53009b
push 0x530414
call sub.kernel32.dll_LoadLibraryA
mov dword [0x5cbb54], eax
cmp dword [0x5cbb54], 0
je 0x53009b
push 0x530420
mov eax, dword [0x5cbb54]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5d2f7c], eax
push 0x530430
mov eax, dword [0x5cbb54]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5d2f78], eax
push 0x530444
mov eax, dword [0x5cbb54]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5d2f80], eax
call fcn.00530450
mov dl, 1
mov eax, dword [0x418c34]
call fcn.00403afc
mov dword [0x5d2fa8], eax
mov eax, ebx
pop edi
pop esi
pop ebx
ret