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

Disassembly:
sub esp, 0x20
push esi
mov esi, dword [esp + 0x28]
cmp byte [esi + 0x4d], 0
jne 0x4b22d1
cmp byte [esi + 0x4e], 0
jne 0x4b22d1
cmp dword [esi + 0x28], 0
jne 0x4b1e1f
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 0x4b20b4
dec eax
je 0x4b20a1
dec eax
jne 0x4b229f
mov ebp, dword [ebx + 0x28]
xor edi, edi
mov dword [esp + 0x18], ebp
cmp dword [ebp + 4], edi
jl 0x4b1ea6
jg 0x4b1e5c
cmp dword [ebp], edi
jb 0x4b1ea6
mov eax, ebp
mov edi, edi
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 8]
test edx, edx
jl 0x4b1ea6
jg 0x4b1e70
test ecx, ecx
jb 0x4b1ea6
lea ebp, [edi + 1]
cmp ebp, dword [ebx + 0x18]
jae 0x4b1ea6
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 0x4b1e60
jl 0x4b1ea6
cmp dword [eax], 0
jae 0x4b1e60
push edi
push esi
call fcn.004b30c0
cdq
add esp, 8
mov ecx, eax
or ecx, edx
jne 0x4b2099
lea ebp, [edi + edi*2]
shl ebp, 3
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x84]
test ecx, ecx
je 0x4b22af
push 2
push 0
push 0
push dword [esi + 0x18]
push eax
call ecx
add esp, 0x14
mov ecx, eax
test edx, edx
jl 0x4b2097
jg 0x4b1ef5
test ecx, ecx
jb 0x4b2097
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 0x4b1f53
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.004b30c0
cdq
add esp, 8
mov dword [esp + 0x28], eax
or eax, edx
je 0x4b1ec1
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 0x4b2043
jl 0x4b1fb1
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 0x4b2043
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 0x4b203f
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 0x4b1fc8
jg 0x4b203f
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 0x4b1fc8
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.004b30c0
mov ebx, dword [esp + 0x34]
add esp, 8
cdq
mov ecx, eax
or ecx, edx
jne 0x4b2099
push 0
push dword [esp + 0x14]
push ebp
push esi
call fcn.004b2f70
add esp, 0x10
mov ecx, eax
test edx, edx
jg 0x4b225a
jl 0x4b2097
test ecx, ecx
jae 0x4b225a
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 0x4b20c0
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 0x4b2130
jg 0x4b20d0
cmp dword [eax], edi
jb 0x4b2130
mov esi, eax
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 8]
test edx, edx
jl 0x4b212c
jg 0x4b20e2
test ecx, ecx
jb 0x4b212c
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 0x4b212c
jl 0x4b2103
cmp dword [esp + 0x2c], ebp
ja 0x4b212c
lea eax, [edi + 1]
cmp eax, dword [ebx + 0x18]
jae 0x4b212c
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 0x4b20d2
jl 0x4b212c
cmp dword [eax], 0
jae 0x4b20d2
mov esi, dword [esp + 0x34]
push edi
push esi
call fcn.004b30c0
cdq
add esp, 8
mov ecx, eax
or ecx, edx
jne 0x4b2099
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 0x4b22af
push 2
push 0
push 0
push dword [esi + 0x18]
push eax
call ecx
add esp, 0x14
mov ecx, eax
test edx, edx
jl 0x4b2097
jg 0x4b2184
test ecx, ecx
jb 0x4b2097
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 0x4b220d
jl 0x4b21c7
cmp edx, ebp
ja 0x4b220d
lea eax, [edi + 1]
cmp eax, dword [ebx + 0x18]
jae 0x4b220d
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.004b30c0
cdq
add esp, 8
mov dword [esp + 0x2c], eax
or eax, edx
je 0x4b2150
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 0x4b229f
jg 0x4b2229
test ebp, ebp
jb 0x4b229f
cmp eax, dword [ecx + 0xc]
jg 0x4b229f
jl 0x4b2235
cmp ebp, dword [ecx + 8]
ja 0x4b229f
push 0
push eax
push ebp
push esi
call fcn.004b2f70
add esp, 0x10
mov ecx, eax
test edx, edx
jg 0x4b225e
jl 0x4b2097
test ecx, ecx
jae 0x4b225e
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 0x4b2097
jg 0x4b2278
test ecx, ecx
jb 0x4b2097
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.004b4040
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