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

Disassembly:
sub esp, 0x20
push esi
mov esi, dword [esp + 0x28]
cmp byte [esi + 0x4d], 0
jne 0x4baef1
cmp byte [esi + 0x4e], 0
jne 0x4baef1
cmp dword [esi + 0x28], 0
jne 0x4baa3f
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 0x4bacd4
dec eax
je 0x4bacc1
dec eax
jne 0x4baebf
mov ebp, dword [ebx + 0x28]
xor edi, edi
mov dword [esp + 0x18], ebp
cmp dword [ebp + 4], edi
jl 0x4baac6
jg 0x4baa7c
cmp dword [ebp], edi
jb 0x4baac6
mov eax, ebp
mov edi, edi
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 8]
test edx, edx
jl 0x4baac6
jg 0x4baa90
test ecx, ecx
jb 0x4baac6
lea ebp, [edi + 1]
cmp ebp, dword [ebx + 0x18]
jae 0x4baac6
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 0x4baa80
jl 0x4baac6
cmp dword [eax], 0
jae 0x4baa80
push edi
push esi
call fcn.004bbce0
cdq
add esp, 8
mov ecx, eax
or ecx, edx
jne 0x4bacb9
lea ebp, [edi + edi*2]
shl ebp, 3
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x84]
test ecx, ecx
je 0x4baecf
push 2
push 0
push 0
push dword [esi + 0x18]
push eax
call ecx
add esp, 0x14
mov ecx, eax
test edx, edx
jl 0x4bacb7
jg 0x4bab15
test ecx, ecx
jb 0x4bacb7
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 0x4bab73
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.004bbce0
cdq
add esp, 8
mov dword [esp + 0x28], eax
or eax, edx
je 0x4baae1
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 0x4bac63
jl 0x4babd1
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 0x4bac63
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 0x4bac5f
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 0x4babe8
jg 0x4bac5f
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 0x4babe8
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.004bbce0
mov ebx, dword [esp + 0x34]
add esp, 8
cdq
mov ecx, eax
or ecx, edx
jne 0x4bacb9
push 0
push dword [esp + 0x14]
push ebp
push esi
call fcn.004bbb90
add esp, 0x10
mov ecx, eax
test edx, edx
jg 0x4bae7a
jl 0x4bacb7
test ecx, ecx
jae 0x4bae7a
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 0x4bace0
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 0x4bad50
jg 0x4bacf0
cmp dword [eax], edi
jb 0x4bad50
mov esi, eax
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 8]
test edx, edx
jl 0x4bad4c
jg 0x4bad02
test ecx, ecx
jb 0x4bad4c
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 0x4bad4c
jl 0x4bad23
cmp dword [esp + 0x2c], ebp
ja 0x4bad4c
lea eax, [edi + 1]
cmp eax, dword [ebx + 0x18]
jae 0x4bad4c
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 0x4bacf2
jl 0x4bad4c
cmp dword [eax], 0
jae 0x4bacf2
mov esi, dword [esp + 0x34]
push edi
push esi
call fcn.004bbce0
cdq
add esp, 8
mov ecx, eax
or ecx, edx
jne 0x4bacb9
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 0x4baecf
push 2
push 0
push 0
push dword [esi + 0x18]
push eax
call ecx
add esp, 0x14
mov ecx, eax
test edx, edx
jl 0x4bacb7
jg 0x4bada4
test ecx, ecx
jb 0x4bacb7
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 0x4bae2d
jl 0x4bade7
cmp edx, ebp
ja 0x4bae2d
lea eax, [edi + 1]
cmp eax, dword [ebx + 0x18]
jae 0x4bae2d
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.004bbce0
cdq
add esp, 8
mov dword [esp + 0x2c], eax
or eax, edx
je 0x4bad70
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 0x4baebf
jg 0x4bae49
test ebp, ebp
jb 0x4baebf
cmp eax, dword [ecx + 0xc]
jg 0x4baebf
jl 0x4bae55
cmp ebp, dword [ecx + 8]
ja 0x4baebf
push 0
push eax
push ebp
push esi
call fcn.004bbb90
add esp, 0x10
mov ecx, eax
test edx, edx
jg 0x4bae7e
jl 0x4bacb7
test ecx, ecx
jae 0x4bae7e
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 0x4bacb7
jg 0x4bae98
test ecx, ecx
jb 0x4bacb7
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.004bce70
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