Function at 0x40e9c0
Capabilities:
Write file on windows

Disassembly:
sub esp, 0x4ec
push ebx
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_lstrlenA]
push esi
push edi
mov ebx, eax
mov esi, 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0x41b430
jmp 0x40e9f0
xor eax, eax
mov ecx, 0x18
lea edi, [esp + 0x50]
mov dword [esp + 0x4c], 0x5b0a0d
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x1c], eax
js 0x40ea2d
push eax
push str.DispMode_d
lea eax, [esp + 0x54]
push eax
call ebp
lea ecx, [esp + eax + 0x54]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x40ea3d
push str.DispMode_d
lea edx, [esp + 0x50]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x4173ec
lea eax, [esp + 0x50]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea ecx, [esp + 0x4c]
push ecx
call ebp
push 0
lea edx, [esp + 0x44]
push edx
push eax
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x58]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edi, dword [esp + 0x14]
and esi, eax
cmp edi, 0x41b430
je 0x40ea97
cmp edi, 0x41b578
je 0x40ea97
mov edi, dword [0x41b388]
and edi, 1
imul edi, edi, 0x148
add edi, 0x41b430
mov ecx, dword [edi]
push ecx
push str.Flag
lea edx, [esp + 0x11c]
push str._s_08x_r_n
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea eax, [esp + 0x114]
push eax
call ebp
push 0
lea ecx, [esp + 0x4c]
push ecx
push eax
lea edx, [esp + 0x120]
push edx
push ebx
mov dword [esp + 0x5c], eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
and esi, eax
mov eax, dword [edi + 4]
push eax
push str.CaptionHeight
lea ecx, [esp + 0x43c]
push str._s_d_r_n
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea edx, [esp + 0x434]
push edx
call ebp
push 0
lea ecx, [esp + 0x28]
push ecx
push eax
lea edx, [esp + 0x440]
push edx
push ebx
mov dword [esp + 0x38], eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
and esi, eax
mov eax, dword [edi + 8]
push eax
push str.FrameWidth
lea ecx, [esp + 0x1e4]
push str._s_d_r_n
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea edx, [esp + 0x1dc]
push edx
call ebp
push 0
lea ecx, [esp + 0x48]
push ecx
push eax
lea edx, [esp + 0x1e8]
push edx
push ebx
mov dword [esp + 0x58], eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
and esi, eax
mov eax, dword [edi + 0xc]
push eax
push str.TabSizeX
lea ecx, [esp + 0x374]
push str._s_d_r_n
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea edx, [esp + 0x36c]
push edx
call ebp
push 0
lea ecx, [esp + 0x30]
push ecx
push eax
lea edx, [esp + 0x378]
mov dword [esp + 0x38], eax
push edx
push ebx
call dword [sym.imp.KERNEL32.dll_WriteFile]
and esi, eax
mov eax, dword [edi + 0x10]
push eax
push str.TabSizeY
lea ecx, [esp + 0x2ac]
push str._s_d_r_n
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea edx, [esp + 0x2a4]
push edx
call ebp
push 0
lea ecx, [esp + 0x40]
push ecx
push eax
lea edx, [esp + 0x2b0]
push edx
push ebx
mov dword [esp + 0x50], eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
and esi, eax
mov eax, dword [edi + 0x14]
push eax
push str.ButtonSizeX
lea ecx, [esp + 0xb8]
push str._s_d_r_n
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea edx, [esp + 0xb0]
push edx
call ebp
push 0
lea ecx, [esp + 0x38]
push ecx
push eax
lea edx, [esp + 0xbc]
push edx
push ebx
mov dword [esp + 0x48], eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
and esi, eax
mov eax, dword [edi + 0x18]
push eax
push str.ButtonSizeY
lea ecx, [esp + 0x180]
push str._s_d_r_n
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea edx, [esp + 0x178]
push edx
call ebp
push 0
lea ecx, [esp + 0x24]
push ecx
push eax
lea edx, [esp + 0x184]
push edx
push ebx
mov dword [esp + 0x34], eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
and esi, eax
mov eax, dword [edi + 0x1c]
push eax
push str.IconSizeGet
lea ecx, [esp + 0x248]
push str._s_d_r_n
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea edx, [esp + 0x240]
push edx
call ebp
push 0
lea ecx, [esp + 0x2c]
mov dword [esp + 0x2c], eax
push ecx
push eax
lea edx, [esp + 0x24c]
push edx
push ebx
call dword [sym.imp.KERNEL32.dll_WriteFile]
and esi, eax
mov eax, dword [edi + 0x20]
push eax
push str.IconSizeDisp
lea ecx, [esp + 0x310]
push str._s_d_r_n
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea edx, [esp + 0x308]
push edx
call ebp
push 0
lea ecx, [esp + 0x34]
push ecx
push eax
lea edx, [esp + 0x314]
push edx
push ebx
mov dword [esp + 0x44], eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
and esi, eax
mov eax, dword [edi + 0x24]
push eax
push str.ButtonNumX
lea ecx, [esp + 0x3d8]
push str._s_d_r_n
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea edx, [esp + 0x3d0]
push edx
call ebp
push 0
lea ecx, [esp + 0x3c]
push ecx
push eax
lea edx, [esp + 0x3dc]
push edx
push ebx
mov dword [esp + 0x4c], eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
and esi, eax
mov eax, dword [edi + 0x28]
push eax
push str.ButtonNumY
lea ecx, [esp + 0x4a0]
push str._s_d_r_n
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea edx, [esp + 0x498]
push edx
call ebp
push 0
lea ecx, [esp + 0x1c]
push ecx
push eax
lea edx, [esp + 0x4a4]
push edx
push ebx
mov dword [esp + 0x2c], eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edi, dword [esp + 0x10]
push edi
and esi, eax
call fcn.0040ede0
push edi
and esi, eax
call fcn.0040f030
and esi, eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x1c]
add esp, 8
add eax, 0x148
cmp eax, 0x41b6c0
mov dword [esp + 0x14], eax
jl 0x40e9f0
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x4ec
ret