Function at 0x408280
Capabilities:
Write file on windows

Disassembly:
push edi
push esi
sub esp, 0x6f8
mov eax, dword [esp + 0x704]
mov dword [esp + 0x6f4], eax
mov cx, word [0x4934a4]
mov ax, cx
add eax, 0xfcd3ddb6
mov cx, ax
mov word [0x4934a4], cx
mov eax, dword [esp + 0x6f4]
mov ecx, eax
call fcn.00440290
cmp eax, 0x8025
jbe 0x4089ed
mov eax, dword [0x495880]
and eax, 0x975b5884
mov dword [0x495880], eax
mov eax, dword [0x494ab4]
shl eax, 9
mov ecx, dword [0x495a10]
imul ecx, ecx, 0xd3f91e50
add eax, ecx
mov dx, word [0x492072]
mov cx, dx
or ecx, eax
mov dx, cx
mov word [0x492072], dx
mov eax, dword [0x4951e0]
xor eax, 0xfdac873
mov dword [0x4951e0], eax
mov eax, dword [0x496158]
add eax, 0x10b82043
mov dword [0x496158], eax
mov eax, esp
lea ecx, [esp + 0x5a7]
mov dword [eax], ecx
mov dword [esp + 0x4c], ecx
call fcn.0042fb30
mov dword [esp + 0x5a0], eax
mov eax, dword [0x495edc]
and eax, 0xd0110000
or eax, 0x21c49adc
mov ecx, dword [0x494e54]
xor ecx, eax
mov dword [0x494e54], ecx
call fcn.00451340
movzx ecx, al
and ecx, 3
add ecx, 7
mov esi, dword [esp + 0x5a0]
lea esi, [esp + esi + 0x5a7]
mov edi, esp
mov dword [edi + 4], ecx
mov dword [edi], esi
call fcn.004168a0
mov dx, word [0x4936d2]
mov cx, dx
add ecx, 0x401c83e1
mov dx, cx
mov word [0x4936d2], dx
mov ecx, esp
mov dword [ecx + 4], 5
mov dword [ecx], 0xdd5
call fcn.00416c70
mov dword [esp + 0x6f0], eax
mov eax, dword [0x495b8c]
or eax, 0xb46bfd01
mov dword [0x495b8c], eax
mov eax, dword [esp + 0x6f0]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x4c]
mov dword [ecx], eax
call fcn.00455a80
mov word [0x4923a4], 0xd84f
mov ecx, esp
mov dword [ecx + 4], 3
mov dword [ecx], 0x38b2
mov dword [esp + 0x48], eax
call fcn.00416c70
mov dword [esp + 0x6ec], eax
mov eax, dword [0x496024]
inc eax
mov dword [0x496024], eax
xor eax, 0xe575
mov dx, word [0x492f36]
mov cx, dx
imul ecx, eax
mov dx, cx
mov word [0x492f36], dx
mov eax, dword [esp + 0x6f0]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 5
call fcn.0044ad10
mov eax, dword [0x493cac]
sar eax, 5
cmp eax, 0xf507098
je 0x408474
mov eax, dword [0x4948d0]
dec eax
mov dword [0x4948d0], eax
imul eax, eax, 0xcec74549
mov ecx, dword [0x4951c0]
or ecx, eax
mov dword [0x4951c0], ecx
mov eax, dword [esp + 0x6ec]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x5a7]
mov dword [ecx], eax
call fcn.0045d362
mov dword [esp + 0x6e4], eax
mov dx, word [0x492884]
movsx eax, dx
xor eax, 0x7785be8a
mov ecx, dword [0x495cd0]
sub ecx, eax
mov dword [0x495cd0], ecx
mov eax, dword [esp + 0x6ec]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 3
call fcn.0044ad10
mov dx, word [0x4923e6]
movsx eax, dx
or eax, 0xfffb57df
mov ecx, dword [0x495b4c]
xor ecx, eax
mov dword [0x495b4c], ecx
cmp dword [esp + 0x6e4], 0
je 0x408960
mov eax, 0x3cc0d742
mov ecx, dword [0x496128]
shl ecx, 5
add ecx, 0xe5415295
and ecx, 0x433f
mov dx, cx
mov word [0x4934a4], dx
mov ecx, dword [0x4962d0]
or ecx, 0x4c765992
mov dword [0x4962d0], ecx
mov ecx, dword [esp + 0x6e4]
mov esi, dword [esp + 0x6f4]
mov dword [esp + 0x44], ecx
mov ecx, esi
mov dword [esp + 0x40], eax
call fcn.00440290
mov ecx, dword [esp + 0x6f4]
mov dword [esp + 0x3c], eax
call fcn.00439b80
mov ecx, esp
mov esi, dword [esp + 0x44]
mov dword [ecx + 0xc], esi
mov esi, dword [esp + 0x3c]
mov dword [ecx + 4], esi
mov dword [ecx], eax
mov dword [ecx + 8], 1
call fcn.0045d515
mov ecx, dword [0x495e60]
add ecx, 0xe1070064
mov dword [0x495e60], ecx
mov ecx, dword [esp + 0x6e4]
mov esi, esp
mov dword [esi], ecx
mov dword [esp + 0x38], eax
call fcn.0045d603
mov dx, word [0x491e50]
mov cx, dx
inc ecx
mov di, cx
mov word [0x491e50], di
movsx ecx, dx
mov esi, dword [0x494f10]
add esi, ecx
mov dword [0x494f10], esi
mov ecx, dword [esp + 0x6f4]
mov dword [esp + 0x34], eax
call fcn.00433650
mov dword [0x496500], 0x532e994c
mov byte [esp + 0x179], 0
mov eax, dword [0x493bf4]
mov ecx, eax
inc ecx
mov dword [0x493bf4], ecx
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jle 0x408646
mov eax, 0x545a1280
mov ecx, dword [0x496360]
shl ecx, 4
add ecx, 0x1f824f19
cmp eax, ecx
jne 0x408641
mov eax, 0x48b32211
mov ecx, dword [0x495e94]
mov edx, dword [0x495190]
shl edx, 1
sub ecx, edx
cmp eax, ecx
jl 0x40863c
jmp 0x40863c
jmp 0x408641
jmp 0x408655
mov eax, dword [0x496180]
add eax, 0x67c54d7
mov dword [0x496180], eax
mov eax, dword [0x491c88]
mov ecx, esp
lea edx, [esp + 0x50]
mov dword [ecx + 4], edx
mov dword [ecx + 8], 0x129
mov dword [ecx], 0
mov dword [esp + 0x30], edx
call eax
sub esp, 0xc
mov ecx, dword [0x494fc0]
imul ecx, ecx, 0x2932c204
mov dword [0x494fc0], ecx
mov byte [esp + 0x59f], 0
mov si, word [0x492bce]
mov cx, si
dec ecx
mov si, cx
mov word [0x492bce], si
mov si, word [0x492180]
mov dx, si
sub edx, ecx
mov si, dx
mov word [0x492180], si
mov ecx, esp
mov dword [ecx + 4], 0x15
mov dword [ecx], 0x2201
mov dword [esp + 0x2c], eax
call fcn.00416c70
mov dword [esp + 0x6e8], eax
mov dword [0x4956d4], 0x7716d879
mov eax, dword [0x4972d4]
mov ecx, dword [0x4972bc]
mov edx, dword [esp + 0x6e8]
mov edi, esp
mov dword [edi + 0x10], eax
mov dword [edi + 0xc], ecx
mov eax, dword [esp + 0x30]
mov dword [edi + 8], eax
mov dword [edi + 4], edx
lea ecx, [esp + 0x17a]
mov dword [edi], ecx
call fcn.00455c6b
mov ecx, dword [0x493fd4]
cmp ecx, 0xdf988833
mov dword [esp + 0x28], eax
jg 0x408747
mov ax, word [0x492606]
mov cx, ax
add ecx, 0x8b9b94e6
mov ax, cx
mov word [0x492606], ax
mov eax, dword [esp + 0x6e8]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x15
call fcn.0044ad10
mov eax, dword [0x494ccc]
mov ecx, 0xcc8fa0e0
sub ecx, eax
or ecx, 0xe168e346
mov eax, dword [0x4953dc]
cmp ecx, eax
jle 0x40878d
mov eax, dword [0x496184]
imul eax, eax, 0xac800f4d
mov dword [0x496184], eax
mov eax, 0x80445c04
mov ecx, dword [0x4972d4]
mov edx, esp
mov dword [edx], ecx
mov dword [esp + 0x24], eax
call fcn.00433d00
mov ecx, dword [0x4938b4]
mov edx, dword [0x4950b0]
sub edx, ecx
mov dword [0x4950b0], edx
mov ecx, esp
lea edx, [esp + 0x17a]
mov dword [ecx + 4], edx
lea edx, [esp + 0x5a7]
mov dword [ecx], edx
mov dword [esp + 0x20], eax
call fcn.0041e990
mov eax, dword [0x494ad4]
mov ecx, dword [0x493718]
and eax, ecx
mov ecx, dword [esp + 0x24]
cmp ecx, eax
jg 0x40880d
mov ax, word [0x4929aa]
movsx ecx, ax
add ecx, 0x5f9d21c5
mov edx, dword [0x4963e0]
sub edx, ecx
mov dword [0x4963e0], edx
mov eax, 0x1d27503e
mov ecx, esp
lea edx, [esp + 0x17a]
mov dword [ecx], edx
mov dword [ecx + 4], 0x426
mov dword [esp + 0x1c], eax
call fcn.004199c0
mov eax, dword [0x495238]
mov ecx, dword [0x49592c]
not ecx
sub eax, ecx
mov ecx, dword [0x49428c]
xor ecx, eax
mov dword [0x49428c], ecx
mov eax, esp
lea ecx, [esp + 0x50]
mov dword [eax], ecx
mov dword [eax + 4], 0x12a
call fcn.004199c0
mov eax, dword [0x494f74]
mov ecx, dword [0x495bd0]
add ecx, 0xc44f5282
xor eax, ecx
mov ecx, dword [esp + 0x1c]
cmp ecx, eax
jne 0x4088a5
mov ax, word [0x493244]
mov cx, ax
imul ecx, ecx, 0xcb9e960e
mov ax, word [0x492ab0]
mov dx, ax
add edx, ecx
mov ax, dx
mov word [0x492ab0], ax
jmp 0x4088bd
mov ax, word [0x492d34]
mov cx, ax
and ecx, 0xc6f7
mov ax, cx
mov word [0x492d34], ax
mov eax, dword [0x491ce4]
mov ecx, esp
mov dword [ecx], 0x16149
call eax
sub esp, 4
mov eax, dword [0x493fa4]
mov ecx, 0x735da
sub ecx, eax
mov eax, dword [0x495ab4]
sar eax, 2
and eax, 0xfcd36f80
xor eax, 0xccd40f4a
cmp ecx, eax
je 0x408904
mov eax, dword [0x494b18]
xor eax, 0xf9ce1eef
mov dword [0x494b18], eax
mov eax, 0xa7743540
mov ecx, dword [0x491c34]
mov edx, esp
lea esi, [esp + 0x5a7]
mov dword [edx], esi
mov dword [esp + 0x18], eax
call ecx
sub esp, 4
mov di, word [0x4925fc]
mov cx, di
dec ecx
mov di, cx
mov word [0x4925fc], di
movsx ecx, di
add ecx, 0x858d2fbd
mov edx, dword [esp + 0x18]
cmp edx, ecx
mov dword [esp + 0x14], eax
jne 0x40895b
mov dword [0x4966f4], 0xab3fd7a9
jmp 0x408960
mov eax, dword [0x493c84]
sar eax, 9
mov ecx, dword [0x4969ac]
lea eax, [eax + ecx + 0x7f7d2525]
mov dword [0x4969ac], eax
mov eax, esp
lea ecx, [esp + 0x5a7]
mov dword [eax], ecx
mov dword [eax + 4], 0x13d
call fcn.004199c0
mov eax, dword [0x494ba0]
xor eax, 0xffffffff
imul eax, eax, 0x479bf019
add eax, 0xfd43c201
cmp eax, 0x1437228d
je 0x4089e8
mov eax, 0x257fe645
mov ecx, dword [0x494988]
sar ecx, 1
xor ecx, 0x3e012010
cmp eax, ecx
jge 0x4089e3
mov ax, word [0x4922ac]
mov cx, ax
imul ecx, ecx, 0xcc79297b
mov ax, cx
mov word [0x4922ac], ax
jmp 0x4089e8
jmp 0x4089ed
mov eax, dword [0x4951f8]
xor eax, 0x8241eaed
mov dword [0x4951f8], eax
add esp, 0x6f8
pop esi
pop edi
ret