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

Disassembly:
sub esp, 0x20
push esi
mov esi, dword [esp + 0x28]
cmp byte [esi + 0x4d], 0
jne 0x4bbbd1
cmp byte [esi + 0x4e], 0
jne 0x4bbbd1
cmp dword [esi + 0x28], 0
jne 0x4bb71f
mov eax, 0xffffffe7
or edx, 0xffffffff
pop esi
add esp, 0x20
ret
mov eax, dword [esp + 0x34]
push ebx
mov ebx, dword [esi + 0x10]
add ebx, 0x78
mov dword [esp + 0x24], ebx
push ebp
push edi
sub eax, 0
je 0x4bb9b4
dec eax
je 0x4bb9a1
dec eax
jne 0x4bbb9f
mov ebp, dword [ebx + 0x28]
xor edi, edi
mov dword [esp + 0x18], ebp
cmp dword [ebp + 4], edi
jl 0x4bb7a6
jg 0x4bb75c
cmp dword [ebp], edi
jb 0x4bb7a6
mov eax, ebp
mov edi, edi
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 8]
test edx, edx
jl 0x4bb7a6
jg 0x4bb770
test ecx, ecx
jb 0x4bb7a6
lea ebp, [edi + 1]
cmp ebp, dword [ebx + 0x18]
jae 0x4bb7a6
add ecx, dword [eax]
mov edi, ebp
mov ebp, dword [esp + 0x18]
adc edx, dword [eax + 4]
lea eax, [edi + edi*2]
shl eax, 3
mov dword [eax + ebp], ecx
mov dword [eax + ebp + 4], edx
mov ebp, dword [ebx + 0x28]
add eax, ebp
mov dword [esp + 0x18], ebp
cmp dword [eax + 4], 0
jg 0x4bb760
jl 0x4bb7a6
cmp dword [eax], 0
jae 0x4bb760
push edi
push esi
call fcn.004bc9c0
cdq
add esp, 8
mov ecx, eax
or ecx, edx
jne 0x4bb999
lea ebp, [edi + edi*2]
shl ebp, 3
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x84]
test ecx, ecx
je 0x4bbbaf
push 2
push 0
push 0
push dword [esi + 0x18]
push eax
call ecx
add esp, 0x14
mov ecx, eax
test edx, edx
jl 0x4bb997
jg 0x4bb7f5
test ecx, ecx
jb 0x4bb997
mov eax, dword [ebx + 0x28]
lea esi, [edi + 1]
mov dword [esp + 0x20], esi
mov dword [eax + ebp + 8], ecx
mov dword [eax + ebp + 0xc], edx
mov eax, dword [ebx + 0x28]
mov ecx, dword [eax + ebp + 8]
add ecx, dword [eax + ebp]
mov edx, dword [eax + ebp + 0xc]
adc edx, dword [eax + ebp + 4]
cmp esi, dword [ebx + 0x18]
mov esi, dword [esp + 0x34]
jae 0x4bb853
mov edi, dword [esp + 0x20]
add ebp, 0x18
push edi
push esi
mov dword [eax + ebp], ecx
mov dword [eax + ebp + 4], edx
call fcn.004bc9c0
cdq
add esp, 8
mov dword [esp + 0x28], eax
or eax, edx
je 0x4bb7c1
mov eax, dword [esp + 0x28]
pop edi
pop ebp
pop ebx
pop esi
add esp, 0x20
ret
mov esi, dword [esp + 0x3c]
lea eax, [edi + edi*2]
shl eax, 3
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 0x28]
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x18], eax
mov eax, ecx
add eax, dword [esp + 0x38]
mov dword [esp + 0x20], eax
mov eax, edx
adc eax, esi
mov dword [esp + 0x10], esi
mov esi, dword [ebx + 0x28]
cmp eax, dword [esi + ebp + 4]
mov esi, dword [esp + 0x34]
mov ebp, dword [esp + 0x38]
jg 0x4bb943
jl 0x4bb8b1
mov esi, dword [esp + 0x14]
mov eax, dword [ebx + 0x28]
mov ebp, dword [esp + 0x20]
cmp ebp, dword [eax + esi]
mov esi, dword [esp + 0x34]
mov ebp, dword [esp + 0x38]
jae 0x4bb943
mov esi, dword [ebx + 0x28]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x24], esi
mov eax, dword [esi + ebx + 8]
mov ebx, dword [esi + ebx + 0xc]
mov esi, dword [esp + 0x3c]
add ebp, eax
adc esi, ebx
mov dword [esp + 0x10], esi
test edi, edi
je 0x4bb93f
mov ebx, dword [esp + 0x24]
dec edi
lea eax, [edi + edi*2]
shl eax, 3
mov dword [esp + 0x14], eax
mov ecx, dword [ebx + eax + 8]
mov edx, dword [ebx + eax + 0xc]
mov dword [esp + 0x1c], ecx
add ecx, dword [ebx + eax]
mov dword [esp + 0x20], edx
adc edx, dword [ebx + eax + 4]
mov eax, ecx
mov ebx, dword [esp + 0x14]
add eax, ebp
mov dword [esp + 0x28], eax
mov eax, edx
adc eax, esi
mov esi, dword [esp + 0x18]
cmp eax, dword [esi + ebx + 4]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
jl 0x4bb8c8
jg 0x4bb93f
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x28]
cmp esi, dword [ebx + eax]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
jb 0x4bb8c8
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 0x18]
lea eax, [edi + edi*2]
shl eax, 3
push edi
push esi
mov dword [esp + 0x3c], eax
sub ecx, dword [ebx + eax]
sbb edx, dword [ebx + eax + 4]
add ebp, ecx
adc dword [esp + 0x18], edx
call fcn.004bc9c0
mov ebx, dword [esp + 0x34]
add esp, 8
cdq
mov ecx, eax
or ecx, edx
jne 0x4bb999
push 0
push dword [esp + 0x14]
push ebp
push esi
call fcn.004bc870
add esp, 0x10
mov ecx, eax
test edx, edx
jg 0x4bbb5a
jl 0x4bb997
test ecx, ecx
jae 0x4bbb5a
mov eax, ecx
pop edi
pop ebp
pop ebx
pop esi
add esp, 0x20
ret
mov ebp, dword [esp + 0x38]
add ebp, dword [esi]
mov ecx, dword [esp + 0x3c]
adc ecx, dword [esi + 4]
mov dword [esp + 0x10], ecx
jmp 0x4bb9c0
mov eax, dword [esp + 0x3c]
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0x28]
xor edi, edi
cmp dword [eax + 4], edi
jl 0x4bba30
jg 0x4bb9d0
cmp dword [eax], edi
jb 0x4bba30
mov esi, eax
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 8]
test edx, edx
jl 0x4bba2c
jg 0x4bb9e2
test ecx, ecx
jb 0x4bba2c
add ecx, dword [eax]
adc edx, dword [eax + 4]
mov eax, ecx
sub eax, 1
mov dword [esp + 0x2c], eax
mov eax, edx
sbb eax, 0
cmp eax, dword [esp + 0x10]
jg 0x4bba2c
jl 0x4bba03
cmp dword [esp + 0x2c], ebp
ja 0x4bba2c
lea eax, [edi + 1]
cmp eax, dword [ebx + 0x18]
jae 0x4bba2c
mov edi, eax
lea eax, [edi + edi*2]
shl eax, 3
mov dword [esi + eax], ecx
mov dword [esi + eax + 4], edx
mov esi, dword [ebx + 0x28]
add eax, esi
cmp dword [eax + 4], 0
jg 0x4bb9d2
jl 0x4bba2c
cmp dword [eax], 0
jae 0x4bb9d2
mov esi, dword [esp + 0x34]
push edi
push esi
call fcn.004bc9c0
cdq
add esp, 8
mov ecx, eax
or ecx, edx
jne 0x4bb999
lea eax, [edi + edi*2]
shl eax, 3
mov dword [esp + 0x18], eax
nop
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x84]
test ecx, ecx
je 0x4bbbaf
push 2
push 0
push 0
push dword [esi + 0x18]
push eax
call ecx
add esp, 0x14
mov ecx, eax
test edx, edx
jl 0x4bb997
jg 0x4bba84
test ecx, ecx
jb 0x4bb997
mov eax, dword [ebx + 0x28]
mov esi, dword [esp + 0x18]
mov dword [esi + eax + 8], ecx
mov ecx, esi
mov dword [ecx + eax + 0xc], edx
mov edx, dword [ebx + 0x28]
mov eax, dword [ecx + edx + 8]
add eax, dword [ecx + edx]
mov esi, dword [ecx + edx + 0xc]
adc esi, dword [ecx + edx + 4]
mov edx, eax
sub edx, 1
mov dword [esp + 0x24], esi
mov dword [esp + 0x2c], eax
sbb esi, 0
cmp esi, dword [esp + 0x10]
mov esi, dword [esp + 0x34]
jg 0x4bbb0d
jl 0x4bbac7
cmp edx, ebp
ja 0x4bbb0d
lea eax, [edi + 1]
cmp eax, dword [ebx + 0x18]
jae 0x4bbb0d
mov edx, dword [ebx + 0x28]
add ecx, 0x18
mov edi, eax
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x2c]
push edi
mov dword [ecx + edx], eax
mov eax, dword [esp + 0x28]
push esi
mov dword [ecx + edx + 4], eax
call fcn.004bc9c0
cdq
add esp, 8
mov dword [esp + 0x2c], eax
or eax, edx
je 0x4bba50
mov eax, dword [esp + 0x2c]
pop edi
pop ebp
pop ebx
pop esi
add esp, 0x20
ret
mov ecx, dword [ebx + 0x28]
lea edi, [edi + edi*2]
mov eax, dword [esp + 0x10]
shl edi, 3
add ecx, edi
sub ebp, dword [ecx]
sbb eax, dword [ecx + 4]
js 0x4bbb9f
jg 0x4bbb29
test ebp, ebp
jb 0x4bbb9f
cmp eax, dword [ecx + 0xc]
jg 0x4bbb9f
jl 0x4bbb35
cmp ebp, dword [ecx + 8]
ja 0x4bbb9f
push 0
push eax
push ebp
push esi
call fcn.004bc870
add esp, 0x10
mov ecx, eax
test edx, edx
jg 0x4bbb5e
jl 0x4bb997
test ecx, ecx
jae 0x4bbb5e
pop edi
pop ebp
pop ebx
pop esi
add esp, 0x20
ret
mov edi, dword [esp + 0x34]
mov eax, dword [ebx + 0x28]
add ecx, dword [edi + eax]
adc edx, dword [edi + eax + 4]
js 0x4bb997
jg 0x4bbb78
test ecx, ecx
jb 0x4bb997
mov eax, dword [esi + 0x2c]
pop edi
pop ebp
mov dword [esi + 0x34], eax
mov eax, ecx
pop ebx
mov dword [esi + 0x48], 0
mov dword [esi + 0x38], 0
mov dword [esi], ecx
mov dword [esi + 4], edx
mov byte [esi + 0x4c], 0
pop esi
add esp, 0x20
ret
pop edi
pop ebp
pop ebx
mov eax, 0xffffffe2
or edx, 0xffffffff
pop esi
add esp, 0x20
ret
push str.Current_client_reader_does_not_support_seeking_a_device
push 0xffffffffffffffff
push eax
call fcn.004bdb50
add esp, 0xc
mov ecx, 0xffffffe7
or edx, 0xffffffff
mov eax, ecx
pop edi
pop ebp
pop ebx
pop esi
add esp, 0x20
ret
mov eax, 0xffffffe2
or edx, 0xffffffff
pop esi
add esp, 0x20
ret