Function at 0x48a1d0
Capabilities:
Read file on windows

Disassembly:
mov eax, 0x100c
call fcn.00645130
push esi
push edi
mov ecx, 0x3ff
xor eax, eax
lea edi, [esp + 0x15]
mov byte [esp + 0x14], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x6a2254
lea eax, [esp + 0xc]
push 0x73aaac
push eax
call fcn.00643ea6
mov eax, dword [eax]
push 0x40
push 0x69a9d0
push eax
call dword [fcn.0065f1e8]
add esp, 0xc
lea ecx, [esp + 8]
mov esi, eax
call fcn.00643d26
test esi, esi
je 0x48a4fd
push ebx
push ebp
push esi
push 0x40
lea ecx, [esp + 0x24]
push 0x40
push ecx
call dword [fcn.0065f1bc]
push esi
mov ebx, eax
call dword [fcn.0065f1c0]
mov ecx, 0x400
xor eax, eax
mov edi, 0x827a70
mov edx, dword [0x827a60]
rep stosd dword es:[edi], eax
movsx eax, bx
add esp, 0x14
xor cx, cx
test eax, eax
mov word [0x827a68], cx
jle 0x48a30a
lea ebp, [esp + 0x3d]
mov dword [esp + 0x14], eax
mov bl, byte [ebp]
cmp bl, 0xc
jb 0x48a2f1
lea edi, [ebp - 0x20]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x48a2f1
mov eax, dword [0x6e5cd8]
test eax, eax
je 0x48a2cd
test edx, edx
je 0x48a2cd
xor edi, edi
test edx, edx
jle 0x48a2f1
and ebx, 0xff
mov esi, 0x6d4b28
xor eax, eax
mov ecx, esi
cmp ebx, dword [ecx]
je 0x48a2cd
inc eax
add ecx, 4
cmp eax, 0x40
jl 0x48a2b3
inc edi
add esi, 0x720
cmp edi, edx
jge 0x48a2f1
jmp 0x48a2af
mov ax, word [0x827a68]
lea esi, [ebp - 0x21]
movsx edi, ax
shl edi, 6
add edi, 0x827a70
mov ecx, 0x10
inc ax
rep movsd dword es:[edi], dword [esi]
mov word [0x827a68], ax
mov eax, dword [esp + 0x14]
add ebp, 0x40
dec eax
mov dword [esp + 0x14], eax
jne 0x48a27a
mov cx, word [0x827a68]
xor esi, esi
cmp edx, esi
jne 0x48a3ad
mov ebx, 0x827a71
mov ebp, 0x6d4b28
mov ax, word [0x827a68]
cmp ax, 0x10
jle 0x48a331
mov eax, 0x10
jmp 0x48a334
movsx eax, ax
cmp edx, eax
jge 0x48a4e7
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
lea esi, [ebp - 0x20]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x10], esi
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x10]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
xor ecx, ecx
mov edi, ebx
mov cl, byte [ebx + 0x20]
lea esi, [ebp + 0x100]
mov dword [ebp], ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x10], esi
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x10]
mov dword [ebp + 4], 0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
add ebx, 0x40
and ecx, 3
inc edx
rep movsb byte es:[edi], byte [esi]
add ebp, 0x720
jmp 0x48a31e
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], esi
mov ebx, 0x827a91
cmp cx, 0x10
mov eax, 0x10
jg 0x48a3c8
movsx eax, cx
cmp dword [esp + 0x14], eax
jge 0x48a4e0
cmp edx, esi
mov dword [esp + 0x10], esi
jle 0x48a411
mov ebp, 0x6d4b28
xor edi, edi
mov eax, ebp
mov esi, dword [eax]
test esi, esi
je 0x48a3fe
xor ecx, ecx
mov cl, byte [ebx]
cmp ecx, esi
je 0x48a4c6
inc edi
add eax, 4
cmp edi, 0x40
jl 0x48a3e3
mov eax, dword [esp + 0x10]
add ebp, 0x720
inc eax
cmp eax, edx
mov dword [esp + 0x10], eax
jl 0x48a3df
cmp edx, 0xf
jge 0x48a4c6
cmp dword [esp + 0x18], 0x3f
jge 0x48a4c6
lea eax, [edx + edx*8]
mov edi, 0x6a2268
or ecx, 0xffffffff
lea eax, [edx + eax*2]
lea ebp, [eax + eax*2]
xor eax, eax
shl ebp, 5
add ebp, 0x6d4b08
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [edx + edx*8]
lea edi, [ebx - 0x20]
lea eax, [edx + ecx*2]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*2]
lea ebp, [ecx + eax*8]
xor eax, eax
mov al, byte [ebx]
lea ecx, [edx + edx*8]
shl ebp, 2
mov dword [ebp + 0x6d4b28], eax
lea eax, [edx + ecx*2]
mov ecx, dword [esp + 0x18]
lea eax, [ecx + eax*4]
or ecx, 0xffffffff
lea eax, [eax + eax*2]
lea esi, [eax*8 + 0x6d4c28]
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x10], esi
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x10]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x18]
and ecx, 3
inc eax
rep movsb byte es:[edi], byte [esi]
mov dword [ebp + 0x6d4b2c], 0
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x14]
add ebx, 0x40
inc ecx
xor esi, esi
mov dword [esp + 0x14], ecx
mov cx, word [0x827a68]
jmp 0x48a3ba
cmp dword [esp + 0x18], esi
jle 0x48a4ed
inc edx
mov dword [0x827a60], edx
pop ebp
pop ebx
pop edi
mov eax, 1
pop esi
add esp, 0x100c
ret
pop edi
xor eax, eax
pop esi
add esp, 0x100c
ret