Function at 0x44a2f0
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x128
push ebx
mov ebx, dword [esp + 0x130]
push ebp
push esi
test ebx, ebx
push edi
mov esi, ecx
je case.0x44a351.4
push ebx
call fcn.004474d0
push ebx
mov ecx, esi
movsx ebp, ax
call fcn.0044baf0
mov dword [esp + 0x1c], eax
push ebx
movsx ax, byte [ebx + 0xec]
push eax
call fcn.004782e0
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x150]
movsx edi, ax
add esp, 8
cmp edi, 0xb
ja case.0x44a351.4
xor ecx, ecx
mov cl, byte [edi + 0x44a8c8]
jmp dword [ecx*4 + 0x44a8b4]
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x44a3f1
mov al, byte [ebx + 0xec]
cmp al, 0x20
movsx eax, al
jne 0x44a376
mov eax, 0x1f
push ebx
push eax
push 0x73aab0
lea edx, [esp + 0x44]
push 0x69db3c
push edx
call dword [fcn.0065f1cc]
push 0x40
lea eax, [esp + 0x50]
push 0x69a9d0
push eax
call dword [fcn.0065f1e8]
mov esi, eax
add esp, 0x20
test esi, esi
je 0x44a3df
push esi
call fcn.00476080
mov ecx, dword [esp + 0x144]
mov edi, eax
shr edi, 5
push esi
push edi
push 0x20
push ecx
call dword [fcn.0065f1bc]
push esi
call dword [fcn.0065f1c0]
add esp, 0x18
mov ax, di
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret 0x18
xor edi, edi
mov ax, di
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret 0x18
push ebx
push ebp
call fcn.00476a10
add esp, 4
push eax
push ebp
call fcn.00476a10
add esp, 4
lea edx, [esp + 0x40]
push eax
push 0x73aab0
push 0x69db68
push edx
jmp 0x44a526
cmp ax, 5
mov ecx, 0x12c
jne 0x44a42c
mov ecx, 5
jmp 0x44a437
cmp ax, 6
jne 0x44a437
mov ecx, 0x18
movsx eax, word [esp + 0x144]
movsx ebp, cx
imul ebp, eax
cmp ebp, 0x7530
jle 0x44a452
mov ebp, 0x7530
mov ecx, ebp
shl ecx, 5
push ecx
call fcn.00643b70
mov edx, dword [esp + 0x150]
add esp, 4
mov edi, eax
push 0
push edx
jmp 0x44a4a8
movsx ebp, word [esp + 0x144]
movsx ecx, word [esp + 0x14c]
imul ebp, ecx
cmp ebp, 0x7530
jle 0x44a48e
mov ebp, 0x7530
mov edx, ebp
shl edx, 5
push edx
call fcn.00643b70
add esp, 4
mov edi, eax
mov eax, dword [esp + 0x14c]
push 0
push eax
push 4
push ebp
push edi
push ebx
mov ecx, esi
call fcn.0044a2f0
movsx dx, byte [ebx + 0xec]
mov ecx, dword [esp + 0x14c]
push ecx
mov ecx, dword [esp + 0x14c]
push edx
mov edx, dword [esp + 0x14c]
push ebx
push ecx
push eax
mov eax, dword [esp + 0x154]
push edx
push eax
push edi
mov ecx, esi
call fcn.00448bb0
push edi
mov esi, eax
call fcn.00643cfc
add esp, 4
mov ax, si
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x128
ret 0x18
push ebx
push ebp
call fcn.00476a10
add esp, 4
push eax
push ebp
call fcn.00476a10
add esp, 4
lea ecx, [esp + 0x40]
push eax
push 0x73aab0
push 0x69db50
push ecx
call dword [fcn.0065f1cc]
add esp, 0x18
lea edx, [esp + 0x38]
push 0x40
push 0x69a9d0
push edx
call dword [fcn.0065f1e8]
add esp, 0xc
mov dword [esp + 0x14], eax
test eax, eax
je case.0x44a351.4
push eax
call fcn.00476080
mov si, word [edi*2 + 0x6a2d64]
add esp, 4
cmp si, 1
mov ebp, eax
mov dword [esp + 0x10], esi
je 0x44a582
movsx ecx, si
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [esp + 0x10], edx
mov esi, edx
movsx eax, word [esp + 0x144]
movsx ecx, si
imul eax, ecx
shr ebp, 5
cmp eax, ebp
jae 0x44a599
mov ebp, eax
xor edi, edi
cmp ebp, edi
jne 0x44a5bd
mov ecx, dword [esp + 0x14]
push ecx
call dword [fcn.0065f1c0]
add esp, 4
pop edi
pop esi
pop ebp
xor ax, ax
pop ebx
add esp, 0x128
ret 0x18
mov eax, dword [esp + 0x14]
mov edx, ebp
neg edx
shl edx, 5
push 2
push edx
push eax
call dword [fcn.0065f1d4]
add esp, 0xc
cmp si, 1
je 0x44a71d
mov ecx, ebp
shl ecx, 5
push ecx
call fcn.00643b70
add esp, 4
cmp eax, edi
mov dword [esp + 0x24], eax
jne 0x44a5fc
mov edx, dword [esp + 0x14]
push edx
jmp 0x44a5a4
mov ecx, dword [esp + 0x14]
push ecx
push ebp
push 0x20
push eax
call dword [fcn.0065f1bc]
mov eax, ebp
add esp, 0x10
movsx ecx, si
cdq
idiv ecx
mov dword [esp + 0x1c], edi
mov ebp, eax
cmp ebp, edi
jle 0x44a707
jmp 0x44a62a
mov esi, dword [esp + 0x10]
movsx eax, si
mov edx, edi
mov ecx, edi
imul edx, eax
mov eax, dword [esp + 0x24]
push 0x20
shl edx, 5
shl ecx, 5
lea ebx, [edx + eax]
mov edx, dword [esp + 0x144]
push ebx
lea esi, [ecx + edx]
push esi
call dword [fcn.0065f1b0]
mov ecx, dword [esp + 0x1c]
add esp, 0xc
cmp cx, 1
jle 0x44a6a6
movsx ecx, cx
lea eax, [ebx + 0x2c]
lea ebx, [ecx - 1]
mov ecx, dword [esi + 8]
mov edx, dword [eax - 4]
cmp ecx, edx
ja 0x44a677
mov ecx, edx
mov dword [esi + 8], ecx
mov ecx, dword [esi + 0xc]
mov edx, dword [eax]
cmp ecx, edx
jb 0x44a685
mov ecx, edx
mov dword [esi + 0xc], ecx
mov ecx, dword [eax + 0xc]
mov edx, dword [esi + 0x18]
add eax, 0x20
add edx, ecx
dec ebx
mov dword [esi + 0x18], edx
fld dword [eax - 0x18]
fadd dword [esi + 0x14]
fstp dword [esi + 0x14]
jne 0x44a66b
mov ecx, dword [esp + 0x10]
movsx eax, cx
inc edi
mov edx, dword [esp + 0x24]
imul edi, eax
shl edi, 5
mov eax, dword [edi + edx - 0x10]
lea ecx, [edi + edx]
mov dword [esi + 0x10], eax
mov dx, word [esi]
mov ax, dx
xor ax, word [ecx - 0x20]
and eax, 0x7ff
xor eax, edx
mov word [esi], ax
mov dx, word [ecx - 0x20]
xor eax, edx
and eax, 0x7ff
xor eax, edx
mov word [esi], ax
mov eax, dword [esp + 0x1c]
mov cx, word [ecx - 0x1e]
inc eax
movsx edi, ax
cmp edi, ebp
mov word [esi + 2], cx
mov dword [esp + 0x1c], eax
jl 0x44a626
mov ebx, dword [esp + 0x13c]
xor edi, edi
mov edx, dword [esp + 0x24]
push edx
call fcn.00643cfc
mov esi, dword [esp + 0x144]
add esp, 4
jmp 0x44a736
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x140]
push eax
push ebp
push 0x20
push esi
call dword [fcn.0065f1bc]
add esp, 0x10
mov ecx, dword [esp + 0x14]
push ecx
call dword [fcn.0065f1c0]
mov eax, dword [esp + 0x14c]
add esp, 4
cmp ax, di
jl 0x44a766
cmp ax, 3
jg 0x44a766
pop edi
mov ax, bp
pop esi
pop ebp
pop ebx
add esp, 0x128
ret 0x18
push ebx
call fcn.00472c00
add esp, 4
cmp ax, 3
jne 0x44a77d
fld qword [0x662cb0]
jmp 0x44a783
fld qword [0x65f9b0]
mov eax, dword [esp + 0x2c]
fstp dword [esp + 0x10]
cmp ax, 5
je 0x44a797
cmp ax, 0x10
jne 0x44a79f
mov dword [esp + 0x10], 0x3c23d70a
xor ecx, ecx
cmp ebp, edi
jle 0x44a80c
xor eax, eax
shl eax, 5
add eax, esi
mov dword [esp + 0x20], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x18], edi
mov edx, dword [eax + 4]
mov dword [esp + 0x34], edi
mov dword [esp + 0x1c], edx
inc ecx
fild qword [esp + 0x1c]
fmul dword [esp + 0x10]
fstp dword [eax + 4]
mov edx, dword [eax + 0x10]
mov dword [esp + 0x24], edx
fild qword [esp + 0x24]
fmul dword [esp + 0x10]
fstp dword [eax + 0x10]
mov edx, dword [eax + 8]
mov dword [esp + 0x14], edx
fild qword [esp + 0x14]
fmul dword [esp + 0x10]
fstp dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x30], edx
fild qword [esp + 0x30]
fmul dword [esp + 0x10]
fstp dword [eax + 0xc]
movsx eax, cx
cmp eax, ebp
jl 0x44a7a7
push ebx
call fcn.00473df0
add esp, 4
test eax, eax
jne 0x44a82e
xor ecx, ecx
cmp ebp, edi
jle 0x44a82e
shl eax, 5
inc ecx
mov dword [eax + esi + 0x1c], edi
movsx eax, cx
cmp eax, ebp
jl 0x44a81f
cmp word [esp + 0x148], 4
jne 0x44a8a2
push ebx
call fcn.00473df0
mov eax, dword [esp + 0x30]
add esp, 4
cmp ax, 6
je 0x44a852
cmp ax, 0x11
jne 0x44a8a2
xor ecx, ecx
cmp ebp, edi
jle 0x44a8a2
xor eax, eax
shl eax, 5
add eax, esi
cmp dword [eax], 0x131a35f
jge 0x44a8a2
fld dword [eax + 4]
fmul dword [0x665d50]
inc ecx
fstp dword [eax + 4]
fld dword [eax + 0x10]
fmul dword [0x665d50]
fstp dword [eax + 0x10]
fld dword [eax + 8]
fmul dword [0x665d50]
fstp dword [eax + 8]
fld dword [eax + 0xc]
fmul dword [0x665d50]
fstp dword [eax + 0xc]
mov dword [eax + 0x1c], edi
movsx eax, cx
cmp eax, ebp
jl 0x44a85a
pop edi
mov ax, bp
pop esi
pop ebp
pop ebx
add esp, 0x128
ret 0x18