Function at 0x408e64
Capabilities:
Write file on windows

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x73c
mov ecx, dword [esp + 0x750]
add dword [0x492944], 0x2fa201f5
call fcn.00412d1e
cmp eax, 0x8060
jb 0x409227
mov eax, dword [0x48ee3c]
imul eax, eax, 0xc64a6f06
or eax, 0xe42d
mov cx, word [0x4a2f8e]
add ecx, eax
mov word [0x4a2f8e], cx
mov ax, word [0x4a1a8a]
and eax, 0xc863
mov word [0x4a1a8a], ax
mov eax, dword [0x491d7c]
imul eax, eax, 0xe254c45c
mov dword [0x491d7c], eax
add dword [0x48b7c0], 0x6b097eb9
lea eax, [esp + 0x5c5]
push eax
mov esi, eax
call fcn.00426f41
add esp, 4
mov edi, eax
mov eax, dword [0x48c6c8]
dec eax
mov dword [0x48c6c8], eax
xor dword [0x48d438], eax
call fcn.00426336
and al, 3
movzx eax, al
add eax, 7
lea ecx, [esp + edi + 0x5c5]
push eax
push ecx
call fcn.0040200e
add esp, 8
mov ax, word [0x49f8ac]
imul eax, eax, 0x1b4c
mov word [0x49f8ac], ax
mov ebp, 5
push ebp
push 0x31be
call fcn.0042fb82
add esp, 8
mov edi, eax
mov dword [0x498c2c], 0x637c1e23
push edi
push esi
call fcn.0043f180
add esp, 8
xor dword [0x48d948], 0x79947379
mov esi, 3
push esi
push 0x7046
call fcn.0042fb82
add esp, 8
mov ebx, eax
or dword [0x497640], 0xd6ddea8b
push edi
push ebp
lea ebp, [esp + 0x5cd]
call fcn.00415560
add esp, 8
add dword [0x48f5c4], 0x9414bf72
push ebx
push ebp
call fcn.0043f5ea
add esp, 8
mov edi, eax
or dword [0x4932dc], 0xa3bffc3b
push ebx
push esi
call fcn.00415560
add esp, 8
mov eax, dword [0x48a2fc]
imul eax, eax, 0xb7a43141
mov ecx, dword [0x493dd4]
lea eax, [eax + ecx + 0x2b220fce]
mov dword [0x493dd4], eax
test edi, edi
je 0x4091e6
mov ax, word [0x49f408]
shl eax, 5
mov cx, word [0x49c9b0]
and ecx, eax
and ecx, 0xbcc0
mov word [0x49c9b0], cx
mov eax, dword [0x4987b0]
imul eax, eax, 0xf4ba6180
or dword [0x484e10], eax
mov esi, dword [esp + 0x750]
mov ecx, esi
call fcn.00412d1e
mov ebx, eax
mov ecx, esi
call fcn.0042965c
push edi
push 1
push ebx
push eax
call fcn.0043f97b
add esp, 0x10
mov eax, dword [0x4853b0]
dec eax
mov dword [0x4853b0], eax
mov ecx, dword [0x484d60]
lea edx, [ecx - 1]
mov dword [0x484d60], edx
imul eax, ecx
cmp eax, 0xfd9fb975
jg 0x409063
add dword [0x496758], 0xa8a585cd
push edi
call fcn.0043fa61
add esp, 4
mov ax, word [0x49afc2]
cwde
xor eax, 0x29d6ab2e
or dword [0x492150], eax
mov ecx, esi
call fcn.0041a670
xor dword [0x492120], 0xc6788110
xor ebx, ebx
mov byte [esp + 0x164], bl
mov dword [0x497d90], 0x7d8587c8
mov eax, 0x163
lea edi, [esp + 1]
push eax
push edi
push 0
call dword [0x48438c]
mov dword [0x4979c0], 0x1f36d54a
mov byte [esp + 0x5c4], bl
or dword [0x491ff8], 0xf43ae1ac
mov ebp, 0x15
push ebp
push 0x644d
call fcn.0042fb82
add esp, 8
mov esi, eax
mov eax, dword [0x48dfb8]
imul eax, eax, 0x78bef3f6
mov dword [0x48dfb8], eax
lea ebx, [esp + 0x165]
push dword [0x4a5854]
push dword [0x4a583c]
push edi
push esi
push ebx
call fcn.0040f575
add esp, 0x14
mov eax, dword [0x490904]
lea ecx, [eax - 1]
mov dword [0x490904], ecx
xor eax, 0xa4adc118
and dword [0x4901e8], eax
push esi
push ebp
call fcn.00415560
add esp, 8
add dword [0x498848], 0xc8c75f63
push dword [0x4a5854]
call fcn.0041585d
add esp, 4
xor dword [0x489b68], 0x4970ee5e
push ebx
lea ebp, [esp + 0x5c9]
push ebp
call fcn.0041af98
add esp, 8
and dword [0x48774c], 0x10916640
push 0x460
push ebx
call fcn.0042e56a
add esp, 8
mov ax, word [0x49c690]
push 0x164
push edi
call fcn.0042e56a
add esp, 8
add dword [0x492c10], 0xb1ebcb97
push 0x164d0
call dword [0x4843e8]
mov eax, dword [0x48a2b4]
mov ecx, dword [0x498c78]
add ecx, 0x715d58e0
xor ecx, eax
cmp ecx, 0xdc375afa
jg 0x4091cf
or dword [0x499ad8], 0xc449f077
push ebp
call dword [0x484338]
mov ax, word [0x49e5ec]
cwde
sar eax, 3
add dword [0x4857e8], eax
mov eax, dword [0x494780]
inc eax
mov dword [0x494780], eax
imul eax, eax, 0x61624d2e
add dword [0x49911c], eax
push 0x177
push ebp
call fcn.0042e56a
add esp, 8
mov ax, word [0x4a388a]
mov cx, word [0x49f7c2]
imul ecx, eax
imul eax, ecx, 0x3c5d
mov word [0x49f7c2], ax
mov eax, dword [0x490248]
xor dword [0x4992c8], 0xec50264d
add esp, 0x73c
pop esi
pop edi
pop ebx
pop ebp
ret