Function at 0x40f150
Capabilities:
Write file on windows

Disassembly:
mov ax, word [0x482410]
or eax, 0x4233
mov word [0x482410], ax
mov eax, dword [0x489bc8]
lea ecx, [eax - 1]
mov dword [0x489bc8], ecx
add eax, 0x5ac78fa2
mov ecx, dword [0x483f64]
inc ecx
mov dword [0x483f64], ecx
or ecx, eax
cmp ecx, 0xa76a8804
jg 0x40f1a8
mov ax, word [0x48101e]
cwde
mov ecx, dword [0x4877b0]
xor ecx, eax
xor ecx, 0x17c01d43
mov dword [0x4877b0], ecx
jmp 0x40f1b2
mov dword [0x48d2dc], 0x12082017
push ebx
push edi
push esi
sub esp, 0x10
mov ebx, dword [esp + 0x20]
cmp dword [0x48f38c], 0
jne 0x40f1f5
mov ax, word [0x482388]
dec eax
mov word [0x482388], ax
call fcn.004385e0
mov dword [0x48f38c], eax
mov eax, dword [0x489f58]
dec eax
mov dword [0x489f58], eax
mov ecx, dword [0x48a23c]
sub eax, ecx
xor dword [0x485d28], eax
mov ax, word [0x47fccc]
cwde
sar eax, 0xa
mov ecx, dword [0x489304]
and ecx, eax
and ecx, 0xb6c96e67
mov dword [0x489304], ecx
mov dword [esp + 4], 3
mov dword [esp], 0x6f2d
call fcn.004272e0
mov edi, eax
xor dword [0x4865c8], 0x1383b7ac
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.0044e85f
mov esi, eax
add dword [0x48dec8], 0xb9ff403a
mov eax, dword [0x483524]
lea eax, [eax*4 + 0x32705ab5]
cmp eax, 0xb13118bf
jg 0x40f273
mov eax, dword [0x486c10]
not eax
mov ecx, dword [0x482f58]
add ecx, eax
xor dword [0x489c58], ecx
add dword [0x4862ac], 0x2c985778
mov eax, dword [0x483e7c]
cmp eax, 0x13cf99d7
jl 0x40f293
add dword [0x488cc0], 0x898d1527
mov byte [edi], 0
mov byte [edi + 1], 0
mov byte [edi + 2], 0
mov byte [edi + 3], 0
mov byte [edi + 4], 0
mov byte [edi + 5], 0
mov byte [edi + 6], 0
add dword [0x48e74c], 0xda2dff37
mov dword [esp], edi
call fcn.0044b150
xor dword [0x48cb2c], 0x872afd4b
mov ax, word [0x47e834]
mov eax, dword [0x483fec]
lea ecx, [eax + 1]
mov dword [0x483fec], ecx
mov ecx, 0x576f35ee
sub ecx, eax
and ecx, 0xa73ca2e0
mov eax, dword [0x489538]
sub eax, ecx
mov dword [0x489538], eax
test esi, esi
jne 0x40f44f
mov eax, dword [0x48e6a4]
imul eax, eax, 0x6c6ca074
mov dword [0x48e6a4], eax
mov dword [esp], 0x436
call dword [0x47ce00]
sub esp, 4
and dword [0x485e18], 0x8a01ba0a
mov dword [esp + 4], 3
mov dword [esp], 0x6f2d
call fcn.004272e0
mov edi, eax
mov ax, word [0x4816fa]
cwde
add eax, eax
mov ecx, dword [0x48530c]
xor ecx, eax
not ecx
cmp ecx, 0xcf8ce949
jg 0x40f36f
mov eax, dword [0x4851a8]
shl eax, 3
mov ecx, 0xa17bd312
sub ecx, eax
add dword [0x489f58], ecx
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.0044e85f
mov esi, eax
mov eax, dword [0x484770]
dec eax
mov dword [0x484770], eax
cmp eax, 0xcff937ff
jne 0x40f39b
add dword [0x488c64], 0x4499f43f
jmp 0x40f3b6
mov eax, dword [0x48a32c]
lea ecx, [eax + 1]
mov dword [0x48a32c], ecx
mov ecx, 0x5e101385
sub ecx, eax
add dword [0x484084], ecx
mov eax, dword [0x483524]
lea eax, [eax*4 + 0x32705ab5]
cmp eax, 0xb13118bf
jg 0x40f3de
mov eax, dword [0x486c10]
not eax
mov ecx, dword [0x482f58]
add ecx, eax
xor dword [0x489c58], ecx
add dword [0x4862ac], 0x2c985778
mov eax, dword [0x483e7c]
cmp eax, 0x13cf99d7
jl 0x40f3fe
add dword [0x488cc0], 0x898d1527
mov byte [edi], 0
mov byte [edi + 1], 0
mov byte [edi + 2], 0
mov byte [edi + 3], 0
mov byte [edi + 4], 0
mov byte [edi + 5], 0
mov byte [edi + 6], 0
add dword [0x48e74c], 0xda2dff37
mov dword [esp], edi
call fcn.0044b150
xor dword [0x48cb2c], 0x872afd4b
mov eax, dword [0x48cc78]
sar eax, 1
or eax, 0x35bb7acf
mov ecx, dword [0x483b04]
sub ecx, eax
mov dword [0x483b04], ecx
mov eax, dword [0x48cf30]
lea ecx, [eax - 1]
mov dword [0x48cf30], ecx
mov cx, word [0x4810e2]
movsx ecx, cx
and ecx, 0x94a73ea8
cmp eax, ecx
jg 0x40f4a2
mov eax, dword [0x483b70]
shr eax, 3
mov ecx, dword [0x4847fc]
imul ecx, eax
shl ecx, 7
add ecx, 0xc887e144
cmp ecx, 0x41085023
jg 0x40f4a2
mov eax, dword [0x485d1c]
add eax, 0x6e6720c
mov dword [0x488494], eax
test esi, esi
je 0x40f500
mov ax, word [0x47dbfa]
add eax, 0xfffff97e
mov word [0x47dbfa], ax
mov dword [esp + 0xc], esi
mov dword [esp + 8], 1
mov dword [esp + 4], 4
mov dword [esp], 0x48f38c
call fcn.0044ea12
mov eax, dword [0x488884]
and eax, 0xcccad948
xor dword [0x48a67c], eax
mov dword [esp], esi
call fcn.0044eb00
mov ax, word [0x47db5c]
or eax, 0x167c
mov word [0x47db5c], ax
mov dword [0x48b80c], 0x44cfed67
add esp, 0x10
pop esi
pop edi
pop ebx
ret