Function at 0x65d2ec
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 5
push 0
push 0
dec ecx
jne 0x65d2f5
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 8], ecx
mov ebx, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00408f58
mov eax, dword [ebp - 8]
call fcn.00408f58
mov eax, dword [ebp + 8]
call fcn.00408f58
xor eax, eax
push ebp
push 0x65d5b9
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0xd], 0
mov eax, dword [ebp - 4]
call fcn.0062750c
push 0
push 0x80
push 2
push 0
push 3
push 0xc0000000
mov eax, dword [ebp - 4]
call fcn.00409cdc
push eax
call sub.kernel32.dll_CreateFileW
mov edi, eax
cmp edi, 0xffffffff
je 0x65d561
mov eax, 0x800
call fcn.00406738
mov esi, eax
mov eax, esi
xor ecx, ecx
mov edx, 0x800
call fcn.00406d90
mov ecx, 0x65d5dc
mov edx, 0x800
mov eax, ebx
call fcn.006315dc
push 0
lea edx, [ebp - 0x1c]
mov eax, dword [0x6829c8]
movzx eax, byte [eax + 0x838]
call fcn.0041fe30
mov edx, dword [ebp - 0x1c]
lea eax, [ebp - 0x18]
mov ecx, 0
call fcn.004099f8
mov ecx, dword [ebp - 0x18]
mov edx, 0x800
mov eax, ebx
call fcn.00631424
push 0
lea edx, [ebp - 0x20]
mov eax, dword [0x6829c8]
mov eax, dword [eax + 0x24]
call fcn.006331d4
mov ecx, dword [ebp - 0x20]
mov edx, 0x800
mov eax, ebx
call fcn.00631424
push 0x7fffffff
push 0xfecd9826
lea eax, [ebp - 0x24]
call fcn.00630af0
mov eax, dword [ebp - 0x24]
lea edx, [ebp - 0xc]
call fcn.0040cd68
push 0
mov ecx, dword [ebp - 0xc]
mov edx, 0x800
mov eax, ebx
call fcn.00631424
push 0
push 0
push 0
push edi
call sub.kernel32.dll_SetFilePointer
push 0
lea eax, [ebp - 0x14]
push eax
push 0x800
push ebx
push edi
call sub.kernel32.dll_WriteFile_1
mov eax, esi
xor ecx, ecx
mov edx, 0x800
call fcn.00406d90
lea ecx, [ebp - 0x28]
mov dx, 0xfde9
mov eax, dword [ebp - 8]
call fcn.006330d0
mov edx, dword [ebp - 0x28]
mov ebx, dword [0x682594]
mov ebx, dword [ebx]
mov eax, esi
call ebx
lea eax, [ebp - 0x2c]
mov edx, dword [ebp + 8]
mov ecx, 0
call fcn.004099f8
mov edx, dword [ebp - 0x2c]
mov ebx, dword [0x682594]
mov ebx, dword [ebx]
lea eax, [esi + 0xc8]
call ebx
lea eax, [ebp - 0xc]
mov edx, 0x65d608
call fcn.00409338
push 0
mov ecx, dword [ebp - 0xc]
mov edx, 0x800
mov eax, esi
call fcn.00631424
lea eax, [ebp - 0xc]
mov edx, 0x65d620
call fcn.00409338
push 0
mov ecx, dword [ebp - 0xc]
mov edx, 0x800
mov eax, esi
call fcn.00631424
push 0
lea eax, [ebp - 0x14]
push eax
push 0x800
push esi
push edi
call sub.kernel32.dll_WriteFile_1
xor ebx, ebx
mov eax, 0xff
call fcn.00406ba0
mov byte [esi + ebx], al
inc ebx
cmp ebx, 0x800
jne 0x65d4d3
mov eax, dword [0x6829c8]
movzx eax, byte [eax + 0x838]
mov byte [esi], al
push 0
lea eax, [ebp - 0x14]
push eax
push 0x800
push esi
push edi
call sub.kernel32.dll_WriteFile_1
xor ebx, ebx
mov eax, 0xff
call fcn.00406ba0
mov byte [esi + ebx], al
inc ebx
cmp ebx, 0x800
jne 0x65d50b
push 0
lea eax, [ebp - 0x14]
push eax
push 0x800
mov ebx, esi
push ebx
push edi
call sub.kernel32.dll_WriteFile_1
mov byte [esi], 0
mov byte [esi + 1], 0xe6
push 0
lea eax, [ebp - 0x14]
push eax
push 2
push ebx
push edi
call sub.kernel32.dll_WriteFile_1
push edi
call sub.kernel32.dll_CloseHandle_1
mov byte [ebp - 0xd], 1
call fcn.0065cb6c
mov eax, esi
call fcn.00406754
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x65d5c0
lea eax, [ebp - 0x2c]
mov edx, 2
call fcn.00408f04
lea eax, [ebp - 0x24]
call fcn.00408e74
lea eax, [ebp - 0x20]
call fcn.00408e98
lea eax, [ebp - 0x1c]
call fcn.00408e74
lea eax, [ebp - 0x18]
call fcn.00408e98
lea eax, [ebp - 0xc]
call fcn.00408e98
lea eax, [ebp - 8]
mov edx, 2
call fcn.00408ed4
lea eax, [ebp + 8]
call fcn.00408e74
ret