Function at 0x54aeb0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x5a458d
push eax
mov dword fs:[0], esp
sub esp, 0x18
push ebx
mov ebx, ecx
cmp dword [ebx + 0x48], 0
jne 0x54aee6
or eax, 0xffffffff
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push esi
push edi
jne 0x54aeee
xor esi, esi
jmp 0x54af4d
cmp dword [ebx + 0x28], 1
jne 0x54af0a
cmp byte [ebx + 0x78], 0
je 0x54af0a
lea ecx, [ebx + 0x74]
call fcn.0054bff0
test al, al
jne 0x54af0a
xor esi, esi
jmp 0x54af4d
mov ecx, dword [ebx + 0x2c]
lea edx, [ebp - 0x10]
mov esi, dword [ebx + 0x3c]
mov dword [ebp - 0x10], 0
push edx
mov eax, dword [ecx]
push ecx
call dword [eax + 0x18]
mov ecx, eax
call fcn.005464b0
mov ecx, esi
sub ecx, dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
mov esi, 0
cmovbe esi, ecx
mov ecx, dword [ebx + 0xa0]
mov dword [ebp - 0x10], esi
test ecx, ecx
je 0x54af50
mov eax, esi
xor edx, edx
div ecx
sub esi, edx
mov dword [ebp - 0x10], esi
cmp byte [ebx + 0x108], 0
mov edi, esi
jne 0x54b05d
mov esi, dword [ebx + 0xf8]
xor edi, edi
mov eax, dword [ebx + 0x104]
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x20], esi
test esi, esi
je 0x54af7e
lock inc dword [esi + 4]
or eax, 0xffffffff
mov dword [ebp - 4], 0
mov ecx, esi
test esi, esi
je 0x54b03f
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
call dword [eax + 0x10]
mov edx, dword [esi + 8]
lea ecx, [esi + 8]
mov edi, eax
call dword [edx + 0x18]
mov edx, dword [esi + 8]
lea ecx, [esi + 8]
mov dword [ebp - 0x1c], eax
call dword [edx + 0x1c]
mov ecx, eax
cmp dword [ebx + 0xbc], edi
jne 0x54b098
mov eax, dword [ebp - 0x1c]
cmp dword [ebx + 0xc0], eax
jne 0x54b098
cmp dword [ebx + 0xc4], ecx
jne 0x54b098
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
call dword [eax + 0x24]
sub eax, dword [ebp - 0x18]
mov edi, dword [ebp - 0x14]
add edi, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], edi
cmp edi, dword [ebp - 0x10]
jae 0x54b098
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
mov ecx, eax
mov edx, esi
mov dword [ebp - 0x1c], ecx
mov esi, ecx
mov dword [ebp - 0x20], esi
test ecx, ecx
je 0x54b01a
lock inc dword [ecx + 4]
test edx, edx
je 0x54b034
or eax, 0xffffffff
lock xadd dword [edx + 4], eax
dec eax
jne 0x54b034
mov eax, dword [edx]
mov ecx, edx
push 1
call dword [eax]
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
jne 0x54af92
or eax, 0xffffffff
mov dword [ebp - 4], 0xffffffff
test ecx, ecx
je 0x54b05a
lock xadd dword [ecx + 4], eax
dec eax
jne 0x54b05a
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
mov esi, dword [ebp - 0x10]
test edi, edi
je 0x54b07d
mov ecx, dword [ebx + 0xa0]
test ecx, ecx
je 0x54b075
mov eax, edi
xor edx, edx
div ecx
sub edi, edx
je 0x54b07d
push edi
mov ecx, ebx
call fcn.0054a9d0
mov ecx, esi
sub ecx, edi
cmp edi, esi
pop edi
sbb eax, eax
and eax, ecx
mov ecx, dword [ebp - 0xc]
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x54b0b6
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
dec eax
jne 0x54b0b6
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
mov esi, dword [ebp - 0x10]
mov edi, esi
jmp 0x54b05d