Function at 0x45ee60
Capabilities:
Read file on windows

Disassembly:
mov eax, 0x2014
call fcn.00489020
mov eax, dword [0x4b9fd8]
mov ecx, eax
push esi
shl ecx, 4
push edi
sub ecx, eax
push 0x4a4020
lea edx, [ecx*2 + 0x4ba000]
push edx
lea eax, [esp + 0x1c]
push eax
call fcn.00483a5d
add esp, 0xc
cmp dword [esp + 0x14], 0
jne 0x45eeae
mov esi, dword [0x4b9d9c]
push 0xff
mov ecx, str.______Fail_open_file_for_Check_THDN
call fcn.00468240
xor eax, eax
cmp dword [0x4b9ed4], eax
mov ecx, 0x800
lea edi, [esp + 0x18]
rep stosd dword es:[edi], eax
lea edi, [eax + 1]
je 0x45eee6
mov esi, 0x11171
mov ecx, dword [esp + 0x14]
push ecx
push edi
lea edx, [esp + 0x18]
push 2
push edx
call fcn.00483d49
add esp, 0x10
sub esi, edi
jne 0x45eecb
jmp 0x45ef04
mov esi, 0x88b9
mov eax, dword [esp + 0x14]
push eax
push edi
lea ecx, [esp + 0x18]
push 2
push ecx
call fcn.00483d49
add esp, 0x10
sub esi, edi
jne 0x45eeeb
xor esi, esi
mov edx, dword [esp + 0x14]
push edx
push edi
lea eax, [esp + 0x18]
push 2
push eax
call fcn.00483d49
movsx ecx, word [esp + 0x20]
mov dword [esp + esi*4 + 0x28], ecx
add esi, edi
add esp, 0x10
cmp esi, 0x800
jl 0x45ef06
lea ecx, [esp + 0x20]
mov eax, 0x4b65b8
fild dword [ecx - 8]
add eax, 0x20
add ecx, 0x40
cmp eax, 0x4b6db8
fstp dword [eax - 0x24]
fild dword [ecx - 0x40]
fstp dword [eax - 0x20]
fild dword [ecx - 0x38]
fstp dword [eax - 0x1c]
fild dword [ecx - 0x30]
fstp dword [eax - 0x18]
fild dword [ecx - 0x28]
fstp dword [eax - 0x14]
fild dword [ecx - 0x20]
fstp dword [eax - 0x10]
fild dword [ecx - 0x18]
fstp dword [eax - 0xc]
fild dword [ecx - 0x10]
fstp dword [eax - 8]
jl 0x45ef37
fld dword [0x4a8844]
sub esp, 8
fstp dword [esp + 4]
fld dword [0x4a8840]
fstp dword [esp]
call fcn.0045f350
fstp dword [0x4b6db4]
lea ecx, [esp + 0x24]
mov eax, 0x4b65b8
mov edi, edi
fild dword [ecx - 8]
add eax, 0x20
add ecx, 0x40
cmp eax, 0x4b6db8
fstp dword [eax - 0x24]
fild dword [ecx - 0x40]
fstp dword [eax - 0x20]
fild dword [ecx - 0x38]
fstp dword [eax - 0x1c]
fild dword [ecx - 0x30]
fstp dword [eax - 0x18]
fild dword [ecx - 0x28]
fstp dword [eax - 0x14]
fild dword [ecx - 0x20]
fstp dword [eax - 0x10]
fild dword [ecx - 0x18]
fstp dword [eax - 0xc]
fild dword [ecx - 0x10]
fstp dword [eax - 8]
jl 0x45efa0
fld dword [0x4a8844]
sub esp, 8
fstp dword [esp + 4]
fld dword [0x4a8840]
fstp dword [esp]
call fcn.0045f350
fstp dword [0x4b6db8]
mov edx, dword [0x4b9d9c]
fld dword [0x4b6db4]
fld st(0)
fabs
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fstp dword [0x4b6dbc]
fld dword [0x4b6db8]
fld st(0)
fabs
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fstp dword [0x4b6dc0]
fld dword [0x4a8858]
fst dword [0x4b6dcc]
mov eax, dword [edx + 0x354]
sub eax, 0xa
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
fstp dword [0x4b6dc4]
fld dword [0x4b6dbc]
fld st(0)
fld dword [0x4b6dc0]
fld st(0)
fsubp st(2)
fxch st(1)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fabs
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fstp dword [0x4b6dc8]
fld dword [0x4b6dc4]
fcom qword [0x4a8850]
fnstsw ax
test ah, 0x41
jne 0x45f0aa
fstp st(0)
fld dword [0x4a8848]
fstp dword [0x4b6dc4]
fld dword [0x4b6dc4]
cmp dword [0x4b9f64], 0xb
jne 0x45f0db
fstp st(4)
fstp st(0)
fstp st(1)
fldz
fcomp st(3)
fnstsw ax
fstp st(2)
test ah, 0x41
jne 0x45f12a
fcompp
fnstsw ax
test ah, 0x41
jp 0x45f136
mov dword [0x4b9fbc], 0
jmp 0x45f13c
fldz
fcom st(6)
fnstsw ax
fstp st(6)
test ah, 0x41
jne 0x45f122
fxch st(4)
fcomp st(5)
fnstsw ax
fstp st(4)
test ah, 5
jp 0x45f12e
fcomp st(2)
fnstsw ax
test ah, 1
jne 0x45f130
fxch st(2)
fcompp
fnstsw ax
test ah, 1
jne 0x45f134
fcomp dword [0x4b6dc8]
fnstsw ax
test ah, 0x41
jne 0x45f136
mov dword [0x4b9fbc], 0
jmp 0x45f13c
fstp st(0)
fstp st(1)
fstp st(2)
fstp st(1)
fstp st(0)
jmp 0x45f134
fstp st(2)
fstp st(1)
fstp st(1)
fstp st(0)
mov dword [0x4b9fbc], edi
mov ecx, dword [esp + 0x14]
push ecx
call fcn.00483dd6
mov eax, dword [0x4b9fbc]
add esp, 4
pop edi
pop esi
add esp, 0x2014
ret