Function at 0x40a140
Capabilities:
Write file on windows

Disassembly:
mov ax, word [0x488cec]
cwde
shr eax, 2
mov cx, word [0x4819c6]
xor ecx, eax
mov word [0x4819c6], cx
mov eax, dword [0x48bc68]
add eax, 0x45392fd1
cmp eax, 0x949fe072
jl 0x40a18a
mov eax, dword [0x492c84]
add eax, 0xa5777d4
xor eax, 0x8186f13d
mov ecx, dword [0x4913e8]
sub ecx, eax
mov dword [0x4913e8], ecx
jmp 0x40a194
or dword [0x48f3c0], 0x283cc9b4
push ebx
push edi
push esi
sub esp, 0x10
mov ebx, dword [esp + 0x20]
cmp dword [0x49d690], 0
jne 0x40a1cb
mov ax, word [0x4866fc]
add eax, 0x5c75
mov word [0x4866fc], ax
call fcn.0041d190
mov dword [0x49d690], eax
mov word [0x484c0c], 0x90e4
mov ax, word [0x48405c]
add eax, 0x11
mov word [0x48405c], ax
mov dword [esp + 4], 3
mov dword [esp], 0x1922
call fcn.00428130
mov edi, eax
mov eax, dword [0x491f2c]
lea ecx, [eax + 1]
mov dword [0x491f2c], ecx
mov cx, word [0x488894]
movsx ecx, cx
add ecx, eax
and ecx, 0xcd07663f
add dword [0x49232c], ecx
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.00452d1e
mov esi, eax
add dword [0x495bd0], 0x697755bd
and dword [0x48d8a8], 0xf5a97fff
mov eax, dword [0x497ee0]
sar eax, 0xa
mov ecx, dword [0x49324c]
lea edx, [ecx - 1]
mov dword [0x49324c], edx
mov edx, dword [0x48de90]
xor edx, ecx
or edx, eax
mov eax, dword [0x48a114]
lea ecx, [eax + 1]
mov dword [0x48a114], ecx
and eax, 0xfcecfc42
cmp edx, eax
jle 0x40a27a
mov dword [0x498774], 0xbb9b0edf
mov eax, dword [0x4922ac]
add eax, 0x17d5c976
mov ecx, dword [0x490174]
imul ecx, eax
mov dword [0x490174], ecx
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 [0x49a2e4], 0xb98a7839
mov dword [esp], edi
call fcn.0044edf0
mov eax, dword [0x48bcf8]
dec eax
mov dword [0x48bcf8], eax
xor eax, 0x19f2dbe1
mov ecx, dword [0x48c9ec]
sub ecx, eax
mov dword [0x48c9ec], ecx
mov eax, dword [0x490c7c]
xor eax, 0x1d6a3e29
or dword [0x48afa4], eax
test esi, esi
je 0x40a301
add dword [0x493888], 0x72571b21
jmp 0x40a470
mov eax, dword [0x49c898]
add eax, 0xecfbd311
cmp eax, 0x5225d6d9
jl 0x40a31c
add dword [0x4943e4], 0xa02280a7
mov dword [esp], 0x432
call dword [0x480900]
sub esp, 4
mov eax, dword [0x48adec]
sar eax, 6
imul eax, eax, 0xb940d05f
cmp eax, 0xde1bdaf7
jl 0x40a34b
add dword [0x490134], 0x8ad16a04
mov dword [esp + 4], 3
mov dword [esp], 0x1922
call fcn.00428130
mov edi, eax
mov ax, word [0x4860dc]
cwde
mov ecx, dword [0x491be0]
not ecx
add ecx, eax
add dword [0x491ab0], ecx
mov dword [esp + 4], edi
mov dword [esp], ebx
call fcn.00452d1e
mov esi, eax
inc dword [0x492b94]
mov eax, dword [0x48dee4]
cmp eax, 0x8d78cfc4
jne 0x40a3a8
mov eax, dword [0x49a770]
imul eax, eax, 0x51d5b70
mov dword [0x49a770], eax
and dword [0x48d8a8], 0xf5a97fff
mov eax, dword [0x497ee0]
sar eax, 0xa
mov ecx, dword [0x49324c]
lea edx, [ecx - 1]
mov dword [0x49324c], edx
mov edx, dword [0x48de90]
xor edx, ecx
or edx, eax
mov eax, dword [0x48a114]
lea ecx, [eax + 1]
mov dword [0x48a114], ecx
and eax, 0xfcecfc42
cmp edx, eax
jle 0x40a3f4
mov dword [0x498774], 0xbb9b0edf
mov eax, dword [0x4922ac]
add eax, 0x17d5c976
mov ecx, dword [0x490174]
imul ecx, eax
mov dword [0x490174], ecx
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 [0x49a2e4], 0xb98a7839
mov dword [esp], edi
call fcn.0044edf0
mov eax, dword [0x48bcf8]
dec eax
mov dword [0x48bcf8], eax
xor eax, 0x19f2dbe1
mov ecx, dword [0x48c9ec]
sub ecx, eax
mov dword [0x48c9ec], ecx
add dword [0x496c74], 0x6560f84f
add dword [0x493888], 0x72571b21
test esi, esi
je 0x40a4d0
or dword [0x48f2cc], 0xbeee54f8
mov dword [esp + 0xc], esi
mov dword [esp + 8], 1
mov dword [esp + 4], 4
mov dword [esp], 0x49d690
call fcn.00452fe4
mov eax, dword [0x48f2e8]
add eax, 0xbc818ed5
or eax, 0x2e0dbaf6
and dword [0x4920e8], eax
mov dword [esp], esi
call fcn.004530d2
mov eax, dword [0x496fcc]
lea ecx, [eax + 1]
mov dword [0x496fcc], ecx
and eax, 0x6a66d196
xor dword [0x48aeb8], eax
xor dword [0x48ce40], 0x7be4fe40
add esp, 0x10
pop esi
pop edi
pop ebx
ret