Function at 0x40c970
Capabilities:
Write file on windows

Disassembly:
sub esp, 0xd0
push ebx
push ebp
push esi
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push edi
xor eax, eax
mov dword [esp + 0x18], 0x5b0a0d
mov ecx, 0x18
lea edi, [esp + 0x1c]
rep stosd dword es:[edi], eax
push str.Keyboard
lea eax, [esp + 0x1c]
push eax
call esi
push 0x4173ec
lea ecx, [esp + 0x1c]
push ecx
call esi
lea edx, [esp + 0x18]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push 0
lea ecx, [esp + 0x14]
push ecx
push eax
lea edx, [esp + 0x24]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xf0]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
mov ebx, eax
and ebx, 1
xor esi, esi
xor ebp, ebp
jmp 0x40c9f0
test ebp, ebp
mov cx, word [esi*2 + 0x41b038]
mov word [esp + 0x10], cx
mov eax, str.Page_03u
jl 0x40ca19
push ebp
push eax
lea edx, [esp + 0x84]
push edx
call edi
add esp, 0xc
lea eax, [esp + 0x7c]
movzx ecx, word [esp + 0x10]
push ecx
push eax
lea edx, [esp + 0x20]
push str._s_04x_r_n
push edx
call edi
add esp, 0x10
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push 0
lea ecx, [esp + 0x18]
push ecx
push eax
lea edx, [esp + 0x24]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xf0]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
and ebx, eax
inc esi
inc ebp
cmp ebp, 0xe
jl 0x40c9f0
xor ebp, ebp
jmp 0x40ca70
test ebp, ebp
mov cx, word [esi*2 + 0x41b038]
mov word [esp + 0x14], cx
mov eax, str.Button_03u
jl 0x40ca99
push ebp
push eax
lea edx, [esp + 0x84]
push edx
call edi
add esp, 0xc
lea eax, [esp + 0x7c]
movzx ecx, word [esp + 0x14]
push ecx
push eax
lea edx, [esp + 0x20]
push str._s_04x_r_n
push edx
call edi
add esp, 0x10
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push 0
lea ecx, [esp + 0x14]
push ecx
push eax
lea edx, [esp + 0x24]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xf0]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
and ebx, eax
inc esi
inc ebp
cmp ebp, 0x13
jl 0x40ca70
xor ebp, ebp
jmp 0x40caf0
test ebp, ebp
mov cx, word [esi*2 + 0x41b038]
mov word [esp + 0x14], cx
mov eax, str.General_03u
jl 0x40cb19
push ebp
push eax
lea edx, [esp + 0x84]
push edx
call edi
add esp, 0xc
lea eax, [esp + 0x7c]
movzx ecx, word [esp + 0x14]
push ecx
push eax
lea edx, [esp + 0x20]
push str._s_04x_r_n
push edx
call edi
add esp, 0x10
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push 0
lea ecx, [esp + 0x14]
push ecx
push eax
lea edx, [esp + 0x24]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xf0]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
and ebx, eax
inc esi
inc ebp
cmp ebp, 0xa
jl 0x40caf0
xor ebp, ebp
lea esi, [esi*2 + 0x41b038]
jmp 0x40cb70
test ebp, ebp
mov cx, word [esi]
mov word [esp + 0x14], cx
mov eax, str.Menu_03u
jl 0x40cb94
push ebp
push eax
lea edx, [esp + 0x84]
push edx
call edi
add esp, 0xc
lea eax, [esp + 0x7c]
movzx ecx, word [esp + 0x14]
push ecx
push eax
lea edx, [esp + 0x20]
push str._s_04x_r_n
push edx
call edi
add esp, 0x10
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push 0
lea ecx, [esp + 0x14]
push ecx
push eax
lea edx, [esp + 0x24]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xf0]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
and ebx, eax
add esi, 2
inc ebp
cmp ebp, 0x20
jl 0x40cb70
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0xd0
ret