Function at 0x449f80
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
mov eax, dword [0x56800c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
push esi
push edi
mov dword [ebp - 0x2c], ebx
mov eax, dword [ebx + 4]
test eax, eax
jne 0x449fb2
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004bcb15
mov esp, ebp
pop ebp
ret
push 0
push 0x80
push 3
push 0
push 1
push SysReAllocString
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x44a1d2
push 0
push 0
push 0
lea eax, [ebp - 0x14]
mov dword [ebp - 0x30], 0x10
push esi
mov dword [ebp - 0x34], eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [ebp - 0x3c], eax
test eax, eax
jne 0x44a1d2
push eax
lea eax, [ebp - 0x3c]
push eax
push 0x10
lea eax, [ebp - 0x14]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x44a1d2
cmp dword [ebp - 0x3c], 0x10
jne 0x44a1d2
push 0
lea ecx, [ebp - 0x34]
call fcn.00427720
cmp eax, 0x41542654
jne 0x44a1d2
push 4
lea ecx, [ebp - 0x34]
call fcn.00427720
cmp eax, 0x464f524d
jne 0x44a1d2
push 0xc
lea ecx, [ebp - 0x34]
call fcn.00427720
mov dword [ebp - 0x38], 0
lea edi, [eax - 0x444a564d]
neg edi
sbb edi, edi
and edi, 0xfffffff4
add edi, 0x10
cmp dword [ebx + 0xc], 0
jle 0x44a1ce
xor ebx, ebx
lea eax, [ebp - 0x14]
mov edx, edi
push 0x10
push eax
mov ecx, esi
call fcn.00449f20
add esp, 8
test al, al
je 0x44a1d2
push 4
lea ecx, [ebp - 0x34]
call fcn.00427720
mov dword [ebp - 0x40], eax
test eax, eax
js 0x44a1d2
push 0
lea ecx, [ebp - 0x34]
call fcn.00427720
cmp eax, 0x464f524d
jne 0x44a1b0
push 8
lea ecx, [ebp - 0x34]
call fcn.00427720
cmp eax, 0x444a5655
jne 0x44a1b0
push 0xc
lea ecx, [ebp - 0x34]
call fcn.00427720
cmp eax, 0x494e464f
jne 0x44a1b0
lea eax, [ebp - 0x14]
mov ecx, esi
push 0xe
push eax
lea edx, [edi + 0x10]
call fcn.00449f20
add esp, 8
test al, al
je 0x44a1d2
push 1
push 4
push str.2w6b
push 0xa
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x34]
call fcn.00427440
movzx ecx, byte [ebp - 0x19]
movzx eax, byte [ebp - 0x1a]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x24], ecx
cmp ecx, 0x19
jb 0x44a133
cmp ecx, 0x1770
jbe 0x44a13a
mov dword [ebp - 0x24], 0x12c
fild dword [ebp - 0x24]
mov ecx, dword [ebp - 0x2c]
fstp dword [ebp - 0x24]
fld dword [ebp - 0x24]
mov eax, dword [ecx]
fstp qword [ebp - 0x48]
mov eax, dword [eax + 0x54]
call eax
movzx eax, word [ebp - 0x20]
mov dword [ebp - 0x24], eax
fild dword [ebp - 0x24]
mov ecx, dword [ebp - 0x2c]
fstp qword [ebp - 0x28]
fmul qword [ebp - 0x28]
mov eax, dword [ecx + 0x10]
fdiv qword [ebp - 0x48]
fstp qword [ebx + eax + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x54]
call eax
movzx eax, word [ebp - 0x1e]
mov dword [ebp - 0x24], eax
fild dword [ebp - 0x24]
mov ecx, dword [ebp - 0x2c]
fstp qword [ebp - 0x28]
fmul qword [ebp - 0x28]
test byte [ebp - 0x17], 4
mov eax, dword [ecx + 0x10]
fdiv qword [ebp - 0x48]
fstp qword [ebx + eax + 0x18]
je 0x44a1aa
mov eax, dword [ecx + 0x10]
fld qword [ebx + eax + 0x10]
fld qword [ebx + eax + 0x18]
fstp qword [ebx + eax + 0x10]
fstp qword [ebx + eax + 0x18]
inc dword [ebp - 0x38]
add ebx, 0x20
mov ecx, dword [ebp - 0x40]
mov eax, ecx
and eax, 1
add ecx, 8
add eax, ecx
mov ecx, dword [ebp - 0x38]
add edi, eax
mov eax, dword [ebp - 0x2c]
cmp ecx, dword [eax + 0xc]
jl 0x44a076
mov bl, 1
jmp 0x44a1d4
xor bl, bl
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 4]
mov al, bl
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004bcb15
mov esp, ebp
pop ebp
ret