Function at 0x45ce50
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x5008
call fcn.00460160
mov eax, dword [0x48e610]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x4a256c]
cmp byte [eax + 0x32f], 0
push esi
mov esi, dword [ebp + 8]
push edi
je 0x45d01d
mov eax, dword [eax]
push eax
call fcn.0047d14c
mov ecx, dword [0x4a256c]
mov edx, dword [ecx]
push edx
mov esi, eax
call fcn.0047d14c
mov ecx, dword [0x4a256c]
mov dword [ebp - 0x5008], eax
mov edx, dword [ecx]
push edx
push eax
lea eax, [ebp - 0x5004]
push 1
push eax
call fcn.00464924
add esp, 0x18
cmp eax, dword [ebp - 0x5008]
je 0x45ced4
pop edi
mov eax, 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0045f4ee
mov esp, ebp
pop ebp
ret
push ebx
lea ecx, [ebp - 0x5008]
push ecx
lea edx, [ebp - 0x2804]
push edx
lea eax, [ebp - 0x5004]
push eax
push esi
call fcn.0045aba0
mov ecx, dword [0x4a5078]
mov dx, word [ebp - 0x2804]
mov word [ecx + 0x1e631], dx
mov eax, dword [0x4a5078]
mov ecx, dword [ebp - 0x2802]
mov dword [eax + 0x1e633], ecx
mov eax, dword [0x4a5078]
xor ecx, ecx
xor edx, edx
add esp, 0x10
mov dword [ebp - 0x5008], ecx
mov ebx, 6
cmp dx, word [eax + 0x28]
jae 0x45cf9e
lea edx, [ebp - 0x27fe]
jmp 0x45cf40
mov eax, dword [eax + 0x1e637]
imul ecx, ecx, 0x202
mov si, word [edx]
mov word [ecx + eax], si
mov ecx, dword [ebp - 0x5008]
mov eax, dword [0x4a5078]
imul ecx, ecx, 0x202
mov eax, dword [eax + 0x1e637]
lea edi, [eax + ecx + 2]
lea esi, [edx + 2]
mov ecx, 0x80
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x5008]
mov eax, dword [0x4a5078]
inc ecx
mov dword [ebp - 0x5008], ecx
movzx esi, word [eax + 0x28]
add ebx, 0x202
add edx, 0x202
cmp ecx, esi
jb 0x45cf40
xor ecx, ecx
mov dword [ebp - 0x5008], ecx
movzx edx, word [eax + 0x2a]
movzx esi, word [eax + 0x28]
imul edx, esi
test edx, edx
je 0x45cff1
lea ebx, [ebp + ebx - 0x2804]
lea esp, [esp]
mov eax, dword [eax + 0x1e63b]
mov dx, word [ebx]
mov word [eax + ecx*2], dx
mov ecx, dword [ebp - 0x5008]
mov eax, dword [0x4a5078]
inc ecx
mov dword [ebp - 0x5008], ecx
movzx edx, word [eax + 0x2a]
movzx esi, word [eax + 0x28]
imul edx, esi
add ebx, 2
cmp ecx, edx
jb 0x45cfc0
pop ebx
movzx edx, word [eax + 0x28]
movzx ecx, word [eax + 0x2a]
movzx eax, word [eax + 0x1e631]
imul ecx, edx
xor edx, edx
cmp eax, ecx
mov ecx, dword [ebp - 4]
setg dl
pop edi
xor ecx, ebp
pop esi
mov eax, edx
call fcn.0045f4ee
mov esp, ebp
pop ebp
ret
mov eax, dword [0x4a5078]
push esi
push 2
add eax, 0x1e631
push 1
push eax
call fcn.00464924
add esp, 0x10
cmp eax, 2
jne 0x45cebf
mov ecx, dword [0x4a5078]
push esi
push 4
add ecx, 0x1e633
push 1
push ecx
call fcn.00464924
add esp, 0x10
cmp eax, 4
jne 0x45cebf
mov eax, dword [0x4a5078]
xor ecx, ecx
xor edx, edx
mov dword [ebp - 0x5008], ecx
cmp dx, word [eax + 0x28]
jae 0x45d0c2
jmp 0x45d080
imul ecx, ecx, 0x202
add ecx, dword [eax + 0x1e637]
push esi
push 0x202
push 1
push ecx
call fcn.00464924
add esp, 0x10
cmp eax, 0x202
jne 0x45cebf
mov ecx, dword [ebp - 0x5008]
mov eax, dword [0x4a5078]
inc ecx
mov dword [ebp - 0x5008], ecx
movzx edx, word [eax + 0x28]
cmp ecx, edx
jb 0x45d080
xor ecx, ecx
mov dword [ebp - 0x5008], ecx
movzx edx, word [eax + 0x2a]
movzx edi, word [eax + 0x28]
imul edx, edi
test edx, edx
je 0x45cff2
lea ecx, [ecx]
mov eax, dword [eax + 0x1e63b]
push esi
push 2
lea ecx, [eax + ecx*2]
push 1
push ecx
call fcn.00464924
add esp, 0x10
cmp eax, 2
jne 0x45cebf
mov ecx, dword [ebp - 0x5008]
mov eax, dword [0x4a5078]
inc ecx
mov dword [ebp - 0x5008], ecx
movzx edx, word [eax + 0x2a]
movzx edi, word [eax + 0x28]
imul edx, edi
cmp ecx, edx
jb 0x45d0e0
jmp 0x45cff2