Function at 0x409800
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xdd8
mov byte [ebp - 0x618], 0
mov dword [ebp - 0x628], 0
mov dword [ebp - 0x218], 0
mov byte [ebp - 0x700], 0
mov byte [ebp - 0x1d8], 0
mov dword [ebp - 0x51c], 0
mov dword [ebp - 0x1fc], 0
mov dword [ebp - 0x1f4], 0
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 0x1f0], 0
mov dword [ebp - 0x638], 0
mov dword [ebp - 0x630], 0
mov dword [ebp - 0x634], 0
mov dword [ebp - 0x62c], 0
mov dword [ebp - 4], 0x40c548
mov dword [ebp - 0x1ec], 0
mov dword [ebp - 0xec], 0x40c54c
mov dword [ebp - 0x624], 0
mov dword [ebp - 0x620], 0
mov byte [ebp - 0xe8], 0
push 0
push 0x80
push 2
push 0
push 0
push 0x40000000
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x214], eax
lea ecx, [ebp - 0x618]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
sub eax, 2
mov dword [ebp - 0x628], eax
mov edx, dword [ebp - 4]
push edx
lea eax, [ebp - 0x1d8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp dword [ebp - 0x214], 0xffffffff
jne 0x409946
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x1ec], eax
mov ecx, dword [ebp - 0x1ec]
add ecx, dword [ebp - 0x1fc]
mov dword [ebp - 0x1ec], ecx
mov edx, dword [ebp - 0x51c]
push edx
call dword [sym.imp.GDI32.dll_GetBkColor]
xor al, al
jmp 0x409b8f
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 1
mov dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 4]
push ecx
lea edx, [ebp - 0x618]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [ebp - 0xec]
push eax
lea ecx, [ebp - 0x618]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea edx, [ebp - 0x618]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
sub eax, 2
mov dword [ebp - 0x628], eax
push 0
lea eax, [ebp - 0xf0]
push eax
mov ecx, dword [ebp - 0xf0]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp - 0x214]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x4099c0
xor al, al
jmp 0x409b8f
mov ecx, dword [ebp - 0x628]
push ecx
push 0x40c550
lea edx, [ebp - 0x1d8]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov eax, dword [ebp - 0x214]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x10
lea ecx, [ebp - 0x1e8]
push ecx
call fcn.004095d0
add esp, 8
push 0
call dword [sym.imp.USER32.dll_IsWindowVisible]
mov dword [ebp - 0x1ec], eax
mov edx, dword [ebp - 0x1f8]
mov dword [ebp - 0x638], edx
lea eax, [ebp - 0x638]
push eax
lea ecx, [ebp - 0x1fc]
push ecx
call dword [sym.imp.USER32.dll_EqualRect]
push 0x44
lea edx, [ebp - 0x568]
push edx
call fcn.004095d0
add esp, 8
mov eax, dword [ebp - 0x51c]
push eax
call dword [sym.imp.GDI32.dll_GetBkColor]
lea ecx, [ebp - 0x618]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
sub eax, 2
mov dword [ebp - 0x628], eax
mov dword [ebp - 0x568], 0x44
lea edx, [ebp - 0x624]
push edx
push 0
call dword [sym.imp.USER32.dll_ClientToScreen]
mov dword [ebp - 0x620], eax
mov eax, dword [ebp - 0x624]
mov dword [ebp - 0x1ec], eax
mov dword [ebp - 0x53c], 1
xor ecx, ecx
mov word [ebp - 0x538], cx
lea edx, [ebp - 0x618]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
sub eax, 2
mov dword [ebp - 0x628], eax
push str._f____tv48.
lea ecx, [ebp - 0x518]
call section..text
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x61c], eax
push 0x40f118
lea ecx, [ebp - 0x518]
call section..text
push eax
mov eax, dword [ebp - 0x61c]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x210], eax
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x1ec], eax
mov ecx, dword [ebp - 0x1ec]
add ecx, dword [ebp - 0x1fc]
mov dword [ebp - 0x1ec], ecx
lea edx, [ebp - 0x1e8]
push edx
lea eax, [ebp - 0x568]
push eax
push 0
push 0
push 0x4000000
push 0
push 0
push 0
push 0
mov ecx, dword [ebp + 8]
push ecx
call dword [ebp - 0x210]
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x1ec], eax
mov edx, dword [ebp - 0x1ec]
add edx, dword [ebp - 0x1fc]
mov dword [ebp - 0x1ec], edx
mov eax, dword [ebp - 0x1e8]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
call dword [sym.imp.USER32.dll_IsWindowVisible]
mov dword [ebp - 0x1ec], eax
mov ecx, dword [ebp - 0x1e4]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, 1
jmp 0x409b8f
mov esp, ebp
pop ebp
ret