Function at 0x407695
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe8
push ebx
push esi
push edi
cmp dword [0x40a794], 0
je 0x4076b8
push 0
push 0
push 0x10
push dword [0x40a794]
call sub.user32.dll_SendMessageA
push 0x41c5b2
call sub.kernel32.dll_GetLocalTime
mov ax, word [0x41c5b2]
mov bx, word [0x41c5b4]
cmp ax, word [0x40a7cc]
jne 0x4076e1
cmp bx, word [0x40a7ce]
je 0x4076eb
call fcn.0040767f
call fcn.004075f3
mov esi, dword [ebp + 0xc]
mov al, byte [esi + 1]
mov ah, al
shl ah, 1
and ax, 0x803f
mov byte [ebp - 5], al
mov al, byte [esi + 2]
mov byte [ebp - 6], al
mov al, byte [esi + 3]
or al, ah
mov byte [ebp - 7], al
lea esi, [0x42608b]
xor edx, edx
mov dl, byte [ebp - 5]
mov byte [esi], dl
xor eax, eax
mov al, byte [ebp - 6]
mov byte [esi + 1], al
xor ecx, ecx
mov cl, byte [ebp - 7]
mov cl, byte [ecx + 0x40354f]
mov byte [esi + 2], cl
dec edx
imul edx, edx, 0xf0
add edx, eax
dec edx
imul ebx, edx, 8
mov edi, dword [ebx + 0x41d1da]
lea edx, [esi + 3]
mov cx, 0xe
jmp 0x407754
mov al, byte [edi]
or al, al
je 0x407759
mov byte [edx], al
inc edx
inc edi
dec ecx
or cx, cx
jne 0x407749
jmp 0x407761
mov byte [edx], 0x20
inc edx
dec cx
or cx, cx
jne 0x40775b
mov ax, word [0x41c5b2]
mov word [esi + 0x11], ax
mov ax, word [0x41c5b4]
mov word [esi + 0x13], ax
mov ax, word [0x41c5b8]
mov word [esi + 0x15], ax
mov ax, word [0x41c5b6]
mov word [esi + 0x17], ax
mov ax, word [0x41c5ba]
mov word [esi + 0x19], ax
mov ax, word [0x41c5bc]
mov word [esi + 0x1b], ax
mov ax, word [0x41c5be]
mov word [esi + 0x1d], ax
mov al, byte [ebp - 7]
mov byte [esi + 0x1f], al
mov ah, al
and al, 0xf
or al, al
je 0x4077c6
cmp al, 2
je 0x4077c6
cmp al, 4
je 0x4077c6
cmp al, 6
jne 0x4077d1
mov word [ebx + 0x41d1d8], 0
jmp 0x407810
cmp al, 1
jne 0x407810
test ah, 0x20
je 0x4077e5
mov word [ebx + 0x41d1d8], 3
jmp 0x4077fe
test ah, 0x10
je 0x4077f5
mov word [ebx + 0x41d1d8], 2
jmp 0x4077fe
mov word [ebx + 0x41d1d8], 1
push 0x40005
push dword [0x40a704]
push 0x6f
call sub.winmm.dll_PlaySoundA
cmp dword [0x40a79c], 0
je 0x40783e
push 2
push 0
push 0
push dword [0x40a79c]
call sub.kernel32.dll_SetFilePointer
push 0
lea eax, [ebp - 4]
push eax
push 0x20
push esi
push dword [0x40a79c]
call sub.kernel32.dll_WriteFile
xor eax, eax
mov al, byte [ebp - 5]
cmp eax, dword [0x40a7c4]
je 0x407925
lea ebx, [eax - 1]
xchg dword [0x40a7c4], ebx
mov dword [0x41c55e], 8
push 0x41c55e
push ebx
push 0x1305
push dword [0x40a77c]
call sub.user32.dll_SendMessageA
mov dword [0x41c55e], 2
mov dword [0x41c572], 1
push 0x41c55e
push ebx
push 0x1306
push dword [0x40a77c]
call sub.user32.dll_SendMessageA
mov dword [0x41c55e], 8
mov ebx, dword [0x40a7c4]
push 0
push ebx
push 0x130c
push dword [0x40a77c]
call sub.user32.dll_SendMessageA
push 0x41c55e
push ebx
push 0x1305
push dword [0x40a77c]
call sub.user32.dll_SendMessageA
mov dword [0x41c55e], 2
mov dword [0x41c572], 0
push 0x41c55e
push ebx
push 0x1306
push dword [0x40a77c]
call sub.user32.dll_SendMessageA
lea eax, [ebp - 0x18]
push eax
push dword [0x40a764]
call sub.user32.dll_GetClientRect
push 0
lea eax, [ebp - 0x18]
push eax
push dword [0x40a764]
call sub.user32.dll_InvalidateRect
push 0x42608b
push 0x130
push 0x111
push dword [0x40a708]
call sub.user32.dll_SendMessageA
pop edi
pop esi
pop ebx
leave
ret 8