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

Disassembly:
sub esp, 0x10
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x38]
push edi
mov edi, eax
mov bl, byte [esi + 8]
mov ecx, dword [esi + 0x68]
mov ebp, edx
and edi, 0xffff
and ebp, 0xff
and bl, 0x20
shl edi, 9
shl ebp, 9
cmp bl, 0x20
mov dword [esp + 0x18], edi
mov dword [esp + 0x38], ebp
mov dword [esp + 0x1c], ecx
mov byte [esp + 0x2c], 0
jne 0x101528ed
mov byte [esp + 0x2c], 1
test ax, ax
jne 0x101528ff
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x10
ret
test dl, dl
je 0x10152907
cmp ebp, ecx
jbe 0x1015290d
mov dword [esp + 0x38], ecx
mov ebp, ecx
mov eax, dword [esp + 0x34]
mov dx, word [esi + 0x78]
and eax, 0xff
mov bl, dl
and bl, 0x70
mov dword [esp + 0x14], edx
mov al, byte [eax + 0x10248e14]
cmp bl, al
jae 0x1015293d
movzx ax, al
and edx, 0xff8f
or edx, eax
mov dword [esp + 0x14], edx
push ecx
call fcn.101d175d
mov ebx, eax
mov al, byte [esi + 0x7c]
add esp, 4
cmp al, 5
mov dword [esp + 0x10], ebp
jne 0x1015295b
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x10], ecx
test edi, edi
je 0x10152a93
jmp 0x1015296d
mov esi, dword [esp + 0x3c]
mov ebp, dword [esp + 0x38]
mov ecx, dword [esp + 0x1c]
xor eax, eax
mov edx, ecx
mov edi, ebx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x18]
cmp ebp, eax
jbe 0x1015298f
mov dword [esp + 0x38], eax
mov al, byte [esi + 0x10b]
test al, al
jne 0x10152a7d
mov al, byte [esp + 0x34]
test al, al
je 0x101529f7
mov al, byte [esp + 0x2c]
test al, al
je 0x101529d2
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x2c]
push ecx
push esi
push ebx
shr edx, 9
push edx
push eax
call sym.ITEuDllvMgr.dll_VDR_ReadPageWithRetry
add esp, 0x18
mov ebp, eax
jmp 0x10152a24
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push ecx
mov ecx, dword [esp + 0x2c]
push edx
push esi
push ebx
shr eax, 9
push eax
push ecx
call sym.ITEuDllvMgr.dll_VDR_ReadPage
add esp, 0x18
mov ebp, eax
jmp 0x10152a24
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
mov edx, dword [esp + 0x2c]
push ecx
shr eax, 9
push esi
push ebx
push eax
push edx
push eax
mov ebp, 1
call sym.ITEuDllvMgr.dll_VDR_ReadBlock
add esp, 0x1c
test eax, eax
jne 0x10152a24
xor ebp, ebp
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x30]
mov eax, ecx
mov esi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
cmp ebp, 1
rep movsb byte es:[edi], byte [esi]
jne 0x10152a97
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x30]
sub eax, ecx
inc esi
add edx, ecx
mov dword [esp + 0x18], eax
test eax, eax
mov dword [esp + 0x28], esi
mov dword [esp + 0x30], edx
jne 0x10152965
push ebx
call fcn.101d1786
add esp, 4
mov eax, ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
push ebx
call fcn.101d1786
add esp, 4
mov eax, 0x36
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
mov ebp, dword [esp + 0x28]
push ebx
call fcn.101d1786
add esp, 4
mov eax, ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret