Function at 0x4073e0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, 2
imul ecx, eax, 0x391
movsx edx, word [ecx + 0x48f8e0]
cmp edx, 0x43a6d361
jge 0x40742a
mov eax, 2
imul ecx, eax, 0x3cd
movsx edx, word [ecx + 0x48f8e0]
or edx, 0xabffcbe7
mov eax, 2
imul ecx, eax, 0x3cd
mov word [ecx + 0x48f8e0], dx
mov edx, 4
imul eax, edx, 0x5ea
mov ecx, dword [eax + 0x490b10]
add ecx, 0x4c5d3d7f
cmp ecx, 0xf8482a9d
jge 0x4074b8
mov edx, 4
imul eax, edx, 0x7e5
mov ecx, dword [eax + 0x490b10]
add ecx, 1
mov dword [ebp - 0xc], ecx
mov edx, 4
imul eax, edx, 0x7e5
mov ecx, dword [ebp - 0xc]
mov dword [eax + 0x490b10], ecx
cmp dword [ebp - 0xc], 0x1b61cbfb
je 0x4074b6
mov edx, 4
imul eax, edx, 0x6a5
mov ecx, 4
imul edx, ecx, 0x49f
mov ecx, dword [edx + 0x490b10]
shl ecx, 2
mov edx, dword [eax + 0x490b10]
imul edx, ecx
mov eax, 4
imul ecx, eax, 0x6a5
mov dword [ecx + 0x490b10], edx
jmp 0x4074de
mov edx, 4
imul eax, edx, 0x1fd
imul ecx, dword [eax + 0x490b10], 0x2765d16c
mov edx, 4
imul eax, edx, 0x1fd
mov dword [eax + 0x490b10], ecx
cmp dword [0x4930e4], 0
jne 0x407610
mov ecx, 4
imul edx, ecx, 0x26c
mov eax, dword [edx + 0x490b10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
imul edx, ecx, 0x26c
mov eax, dword [ebp - 0x10]
mov dword [edx + 0x490b10], eax
cmp dword [ebp - 0x10], 0xf19e52
jl 0x407559
mov ecx, 4
imul edx, ecx, 0x2c
mov eax, 4
imul ecx, eax, 0x334
mov eax, dword [ecx + 0x490b10]
sar eax, 3
and eax, 0x7253ee73
mov ecx, dword [edx + 0x490b10]
imul ecx, eax
mov edx, 4
imul eax, edx, 0x2c
mov dword [eax + 0x490b10], ecx
jmp 0x4075c5
mov ecx, 4
imul edx, ecx, 0x8bf
mov eax, 4
imul ecx, eax, 0x69b
mov eax, dword [ecx + 0x490b10]
add eax, 0x3d9c54d8
mov ecx, dword [edx + 0x490b10]
and ecx, eax
mov dword [ebp - 0x1c], ecx
mov edx, 4
imul eax, edx, 0x69b
mov ecx, dword [eax + 0x490b10]
sub ecx, 1
mov edx, 4
imul eax, edx, 0x69b
mov dword [eax + 0x490b10], ecx
cmp dword [ebp - 0x1c], 0xfb1ec31f
jle 0x4075c5
mov ecx, 2
imul edx, ecx, 0x591
movsx eax, word [edx + 0x48f8e0]
call fcn.00458be0
mov dword [0x4930e4], eax
mov ecx, 4
imul edx, ecx, 0x8b1
mov eax, dword [edx + 0x490b10]
not eax
cmp eax, 0x297d4ceb
jg 0x407610
mov ecx, 4
imul edx, ecx, 0x1cd
mov eax, dword [edx + 0x490b10]
xor eax, 0x126db8c1
mov ecx, 4
imul edx, ecx, 0x1cd
mov dword [edx + 0x490b10], eax
mov eax, 4
imul ecx, eax, 0x696
mov edx, dword [ecx + 0x490b10]
add edx, 0x8521
mov eax, 4
imul ecx, eax, 0x696
mov dword [ecx + 0x490b10], edx
push 3
push 0x1dde
call fcn.004199d0
add esp, 8
mov dword [ebp - 0x14], eax
mov edx, 4
imul eax, edx, 0x2c0
mov ecx, dword [eax + 0x490b10]
or ecx, 0x76adf0e1
mov edx, 4
imul eax, edx, 0x2c0
mov dword [eax + 0x490b10], ecx
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00466271
add esp, 8
mov dword [ebp - 8], eax
mov eax, 2
imul ecx, eax, 0x76b
movsx edx, word [ecx + 0x48f8e0]
sar edx, 5
cmp edx, 0xeedddbbe
jl 0x4076ca
mov eax, 4
imul ecx, eax, 0x8d4
mov edx, dword [ecx + 0x490b10]
xor edx, 0x84481390
mov eax, 4
imul ecx, eax, 0x8d4
mov dword [ecx + 0x490b10], edx
mov edx, dword [ebp - 0x14]
push edx
push 3
call fcn.00439550
add esp, 8
mov eax, 4
imul ecx, eax, 0x7d1
mov edx, dword [ecx + 0x490b10]
xor edx, 0x4209eba9
mov eax, 4
imul ecx, eax, 0x7d1
mov dword [ecx + 0x490b10], edx
cmp dword [ebp - 8], 0
jne 0x4078d4
mov edx, 2
imul eax, edx, 0x8d3
mov cx, word [eax + 0x48f8e0]
sub cx, 1
mov word [ebp - 2], cx
mov edx, 2
imul eax, edx, 0x8d3
mov cx, word [ebp - 2]
mov word [eax + 0x48f8e0], cx
movsx edx, word [ebp - 2]
and edx, 0xae4cf781
xor edx, 0x521a32dc
mov eax, 4
imul ecx, eax, 0x862
mov eax, dword [ecx + 0x490b10]
add eax, edx
mov ecx, 4
imul edx, ecx, 0x862
mov dword [edx + 0x490b10], eax
push 0x3e8
call dword [0x48f854]
mov eax, 2
imul ecx, eax, 0x52f
movsx edx, word [ecx + 0x48f8e0]
mov eax, 4
imul ecx, eax, 0x8c1
mov dword [ecx + 0x490b10], edx
push 3
push 0x1dde
call fcn.004199d0
add esp, 8
mov dword [ebp - 0x18], eax
mov edx, 4
imul eax, edx, 0x262
mov ecx, dword [eax + 0x490b10]
mov dword [ebp - 0x20], ecx
mov edx, 4
imul eax, edx, 0x262
mov ecx, dword [eax + 0x490b10]
sub ecx, 1
mov edx, 4
imul eax, edx, 0x262
mov dword [eax + 0x490b10], ecx
cmp dword [ebp - 0x20], 0x9540966e
jne 0x40783b
mov ecx, 4
imul edx, ecx, 0x1a
mov eax, dword [edx + 0x490b10]
mov dword [ebp - 0x24], eax
mov ecx, 4
imul edx, ecx, 0x1a
mov eax, dword [edx + 0x490b10]
sub eax, 1
mov ecx, 4
imul edx, ecx, 0x1a
mov dword [edx + 0x490b10], eax
cmp dword [ebp - 0x24], 0x801e5d80
je 0x40783b
mov eax, 2
imul ecx, eax, 0x8e2
movsx edx, word [ecx + 0x48f8e0]
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00466271
add esp, 8
mov dword [ebp - 8], eax
mov edx, 2
imul eax, edx, 0x828
mov ecx, 2
imul edx, ecx, 0x49e
movsx ecx, word [edx + 0x48f8e0]
xor ecx, 0xa1ad8d17
mov edx, 4
imul edx, edx, 0x452
or ecx, dword [edx + 0x490b10]
movsx eax, word [eax + 0x48f8e0]
add eax, ecx
mov ecx, 2
imul edx, ecx, 0x828
mov word [edx + 0x48f8e0], ax
mov eax, dword [ebp - 0x18]
push eax
push 3
call fcn.00439550
add esp, 8
mov ecx, 2
imul edx, ecx, 0x485
movsx eax, word [edx + 0x48f8e0]
sub eax, 0x378a43fd
mov ecx, 2
imul edx, ecx, 0x485
mov word [edx + 0x48f8e0], ax
mov eax, 2
imul ecx, eax, 0x213
movsx edx, word [ecx + 0x48f8e0]
sub edx, 0x66635c7
mov eax, 2
imul ecx, eax, 0x213
mov word [ecx + 0x48f8e0], dx
cmp dword [ebp - 8], 0
je 0x4079aa
mov edx, 4
imul eax, edx, 0x26a
mov ecx, dword [eax + 0x490b10]
add ecx, 0x57214ab7
mov edx, 4
imul eax, edx, 0x26a
mov dword [eax + 0x490b10], ecx
mov ecx, dword [ebp - 8]
push ecx
push 1
push 4
push 0x4930e4
call fcn.00466424
add esp, 0x10
mov edx, 4
imul eax, edx, 0x434
imul ecx, dword [eax + 0x490b10], 0x77bb3d6f
mov edx, 4
imul eax, edx, 0x434
mov dword [eax + 0x490b10], ecx
mov ecx, dword [ebp - 8]
push ecx
call fcn.00465f46
add esp, 4
mov edx, 4
imul eax, edx, 0x759
mov ecx, 4
imul edx, ecx, 0x13d
mov eax, dword [eax + 0x490b10]
and eax, dword [edx + 0x490b10]
mov ecx, 4
imul edx, ecx, 0x759
mov dword [edx + 0x490b10], eax
mov eax, 2
imul ecx, eax, 0x30f
movsx edx, word [ecx + 0x48f8e0]
shl edx, 2
mov eax, 0xf72ef05b
sub eax, edx
cmp eax, 0xa81d4176
jne 0x4079f6
mov ecx, 2
imul edx, ecx, 0x731
movsx eax, word [edx + 0x48f8e0]
add eax, 0x3c3a2cf5
mov ecx, 2
imul edx, ecx, 0x731
mov word [edx + 0x48f8e0], ax
mov esp, ebp
pop ebp
ret