Function at 0x550954
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.00404dac
mov ebx, 0x5a9848
xor eax, eax
push ebp
push 0x550d7f
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 5], 0
cmp dword [ebp - 4], 0
jne 0x550990
lea eax, [ebp - 4]
mov edx, 0x550d98
call fcn.00404994
mov eax, dword [0x5ac0bc]
call fcn.00433430
xor eax, eax
push ebp
push 0x550d62
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0x5a9844], 0
jne 0x550d3a
mov byte [0x5ac0c0], 0
mov byte [0x5ac0c1], 0
mov eax, dword [ebp - 4]
call fcn.00404dbc
push eax
call sub.kernel32.dll_LoadLibraryA
mov dword [ebx], eax
cmp dword [ebx], 0
je 0x550d3e
push 0x550da4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a9840], eax
push 0x550db0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a983c], eax
push 0x550dc0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a981c], eax
push 0x550dcc
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a97fc], eax
push 0x550dd8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a97b4], eax
push 0x550de8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a97ac], eax
push 0x550df4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a97b0], eax
push 0x550e00
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a9824], eax
push 0x550e08
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a9820], eax
push 0x550e10
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a9818], eax
push 0x550e18
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a9814], eax
push 0x550e24
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a9810], eax
push 0x550e30
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a97dc], eax
push 0x550e3c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a980c], eax
push 0x550e44
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a9808], eax
push 0x550e4c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a9804], eax
push 0x550e58
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a9800], eax
push 0x550e64
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a97f8], eax
push 0x550e6c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a97f4], eax
push 0x550e74
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a97f0], eax
push 0x550e7c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a97e8], eax
push 0x550e84
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a97ec], eax
push 0x550e90
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a982c], eax
push 0x550e98
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a97e4], eax
push 0x550ea0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a97e0], eax
push 0x550ea8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a97d8], eax
push 0x550eb4
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a97d4], eax
push 0x550ec0
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a9828], eax
push 0x550ec8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a97cc], eax
push 0x550ed8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a97c8], eax
push 0x550ee8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a97c0], eax
push 0x550ef8
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a97c4], eax
push 0x550f0c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a97b8], eax
push 0x550f1c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a97bc], eax
push 0x550f2c
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a97d0], eax
push 0x550f38
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a9830], eax
push 0x550f44
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a9834], eax
push 0x550f54
mov eax, dword [ebx]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a9838], eax
cmp dword [0x5a9830], 0
je 0x550ca3
cmp dword [0x5a9834], 0
je 0x550ca3
cmp dword [0x5a9838], 0
jne 0x550ca7
xor eax, eax
jmp 0x550ca9
mov al, 1
mov byte [0x5ac0c0], al
cmp byte [0x5ac0c0], 0
jne 0x550d34
push 0x550f60
call sub.kernel32.dll_LoadLibraryA
mov dword [0x5a984c], eax
cmp dword [0x5a984c], 0
je 0x550d34
push 0x550f38
mov eax, dword [0x5a984c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a9830], eax
push 0x550f44
mov eax, dword [0x5a984c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a9834], eax
push 0x550f54
mov eax, dword [0x5a984c]
push eax
call sub.kernel32.dll_GetProcAddress_1
mov dword [0x5a9838], eax
cmp dword [0x5a9830], 0
je 0x550d29
cmp dword [0x5a9834], 0
je 0x550d29
cmp dword [0x5a9838], 0
jne 0x550d2d
xor eax, eax
jmp 0x550d2f
mov al, 1
mov byte [0x5ac0c1], al
mov byte [ebp - 5], 1
jmp 0x550d3e
mov byte [ebp - 5], 1
cmp byte [ebp - 5], 0
je 0x550d4a
inc dword [0x5a9844]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x550d69
mov eax, dword [0x5ac0bc]
call fcn.00433438
ret