Function at 0x409b80
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x4500b4]
mov ecx, dword [section..data]
imul eax, ecx
mov ecx, dword [ebp + 8]
sub esp, 0x440
mov dword [section..data], eax
call fcn.0040bb20
cmp eax, 0x8000
jbe 0x409e52
fld dword [0x4502e8]
fstp qword [ebp - 8]
fld dword [0x4502c0]
fsub dword [0x449ea8]
fcomp qword [ebp - 8]
fnstsw ax
test ah, 0x41
jp 0x409bec
mov dx, word [0x450208]
mov ecx, dword [0x4501d4]
movsx eax, dx
add eax, 0xf68e30e3
add ecx, eax
mov word [0x450208], cx
push ebx
push esi
lea edx, [ebp - 0x130]
push edi
push edx
call fcn.00411b10
mov esi, eax
call fcn.0040b960
movzx eax, al
and eax, 0x80000003
jns 0x409c11
dec eax
or eax, 0xfffffffc
inc eax
add eax, 7
push eax
lea ecx, [ebp + esi - 0x130]
push ecx
call fcn.0040ca50
inc word [0x45023c]
mov dx, word [0x45023c]
movsx eax, dx
mov dword [ebp - 4], eax
push 5
push 0x39aa
fild dword [ebp - 4]
fstp qword [ebp - 8]
fld dword [0x450360]
fadd qword [ebp - 8]
fstp dword [0x450360]
call fcn.0041a660
add esp, 0x14
mov ebx, eax
mov ecx, eax
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x409c60
lea edi, [ebp - 0x130]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x409c72
fld qword [0x450160]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov cx, word [0x4502bc]
movsx edx, cx
add edx, 0x18633930
mov dword [ebp - 4], edx
push 3
push 0xd45
fild dword [ebp - 4]
fsubp st(1)
fstp qword [0x450160]
call fcn.0041a660
push ebx
push 5
mov edi, eax
call fcn.004094f0
lea eax, [ebp - 0x130]
push edi
push eax
call fcn.0041f685
push edi
push 3
mov esi, eax
call fcn.004094f0
add esp, 0x20
test esi, esi
je 0x409e4f
mov edi, dword [ebp + 8]
push esi
push 1
mov ecx, edi
call fcn.0040bb20
push eax
mov ecx, edi
call fcn.00411180
push eax
call fcn.0041ff67
push esi
call fcn.0041fd9c
add esp, 0x14
mov ecx, edi
call fcn.0040d1f0
push 0x104
lea ecx, [ebp - 0x238]
push ecx
push 0
mov byte [ebp - 0x134], 0
call dword [0x451a8c]
mov edx, dword [0x450150]
mov ecx, dword [0x4501e8]
mov eax, 0xf3005228
sub eax, edx
sub eax, ecx
mov dword [ebp - 4], eax
fild dword [ebp - 4]
or ecx, 0xffffffff
mov byte [ebp - 0x239], 0
fstp qword [ebp - 0x10]
fld dword [0x450158]
mov dx, word [0x45039c]
add word [0x45039c], cx
fstp qword [ebp - 0x18]
add dword [0x4501e8], ecx
movsx eax, dx
mov dword [ebp - 4], eax
fild dword [ebp - 4]
fsubr qword [ebp - 0x18]
fsub dword [0x449ea4]
fcomp qword [ebp - 0x10]
fnstsw ax
test ah, 0x41
jne 0x409d9d
fld dword [0x4503dc]
fsub dword [0x449ea0]
fstp dword [0x4503dc]
push 0x15
push 0x2337
call fcn.0041a660
mov ecx, dword [0x4522f0]
mov edx, dword [0x45234c]
push ecx
push edx
mov esi, eax
lea eax, [ebp - 0x238]
push eax
push esi
lea ecx, [ebp - 0x440]
push 0x207
push ecx
call fcn.004200d9
push esi
push 0x15
call fcn.004094f0
mov edx, dword [0x4522f0]
push edx
call fcn.0040b2e0
fld dword [0x4500c0]
fmul dword [0x449e9c]
lea eax, [ebp - 0x440]
push eax
lea ecx, [ebp - 0x130]
push ecx
fstp dword [0x4500c0]
call fcn.0040bc00
push 0x208
lea edx, [ebp - 0x440]
push 0
push edx
call fcn.0041e9b0
add esp, 0x40
push 0x105
lea eax, [ebp - 0x238]
push 0
push eax
call fcn.0041e9b0
add esp, 0xc
push 0x15f90
call dword [0x451aa0]
lea ecx, [ebp - 0x130]
push ecx
call dword [0x4525a4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret