Function at 0x410624
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
push ebx
push esi
push edi
mov esi, ecx
call sub.MFC42u.DLL_AfxGetModuleState
mov ebx, dword [eax + 4]
lea eax, [ebp - 0x2c]
push eax
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_GetWindowRect]
lea eax, [ebp - 0x58]
mov ecx, esi
push eax
mov dword [ebp - 0x58], 0x2c
call sub.MFC42u.DLL_CWnd::GetWindowPlacement
mov edi, dword [sym.imp.MSVCRT.dll_fopen]
push 0x41b3c8
push str.LoveString.ini
call edi
pop ecx
test eax, eax
pop ecx
jne 0x4106b6
push 0x41b3b4
push str.LoveString.ini
call edi
mov edi, eax
pop ecx
test edi, edi
pop ecx
je 0x4106be
push 0xfe
push 0xff
lea eax, [ebp - 2]
push str._c_c
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
push edi
push 1
lea eax, [ebp - 2]
push 2
push eax
call dword [sym.imp.MSVCRT.dll_fwrite]
push edi
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 0x24
jmp 0x4106be
push eax
call dword [sym.imp.MSVCRT.dll_fclose]
pop ecx
mov eax, dword [ebp - 0x34]
mov edi, str.Setting
sub eax, dword [ebp - 0x3c]
mov ecx, ebx
push eax
push str.MainWidth
push edi
call sub.MFC42u.DLL_CWinApp::WriteProfileInt
push dword [ebp - 0x3c]
mov ecx, ebx
push str.MainLeft
push edi
call sub.MFC42u.DLL_CWinApp::WriteProfileInt
push dword [ebp - 0x38]
mov ecx, ebx
push str.MainTop
push edi
call sub.MFC42u.DLL_CWinApp::WriteProfileInt
push dword [esi + 0x3274]
mov ecx, ebx
push str.Transparent
push edi
call sub.MFC42u.DLL_CWinApp::WriteProfileInt
push dword [esi + 0x86c]
mov ecx, ebx
push str.Effect
push edi
call sub.MFC42u.DLL_CWinApp::WriteProfileInt
lea eax, [esi + 0x64]
mov ecx, ebx
push eax
push str.FindCaption
push edi
call sub.MFC42u.DLL_CWinApp::WriteProfileStringW
push dword [esi + 0x9c8]
mov ecx, ebx
push str.FontHeight
push edi
call sub.MFC42u.DLL_CWinApp::WriteProfileInt
push dword [esi + 0x9cc]
mov ecx, ebx
push 0x41b288
push edi
call sub.MFC42u.DLL_CWinApp::WriteProfileInt
lea ecx, [esi + 0x864]
call dword [sym.imp.winhook.dll_public:_int___thiscall_CWinHOOK::GetDefIndex_void_]
push eax
push str.DefIndex
push edi
mov ecx, ebx
mov dword [esi + 0x60], eax
call sub.MFC42u.DLL_CWinApp::WriteProfileInt
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x410782
push 0
jmp 0x410784
push 1
push str.Minimize
push edi
mov ecx, ebx
call sub.MFC42u.DLL_CWinApp::WriteProfileInt
push dword [esi + 0x3274]
mov ecx, ebx
push str.Transparent
push edi
call sub.MFC42u.DLL_CWinApp::WriteProfileInt
push 0
lea ecx, [esi + 0x33dc]
call fcn.004053e7
push 0
push 0x11
push dword [eax + 4]
mov dword [ebp - 8], eax
call dword [sym.imp.USER32.dll_GetMenuState]
test al, 8
je 0x4107c9
push 1
jmp 0x4107cb
push 0
push str.TopMost
push edi
mov ecx, ebx
call sub.MFC42u.DLL_CWinApp::WriteProfileInt
mov eax, dword [ebp - 8]
push 0
push 0x14
push dword [eax + 4]
call dword [sym.imp.USER32.dll_GetMenuState]
test al, 8
je 0x4107f0
push 1
jmp 0x4107f2
push 0
push str.Inlay
push edi
mov ecx, ebx
call sub.MFC42u.DLL_CWinApp::WriteProfileInt
mov eax, dword [ebp - 8]
push 0
push 0x12
push dword [eax + 4]
call dword [sym.imp.USER32.dll_GetMenuState]
test al, 8
je 0x410817
push 1
jmp 0x410819
push 0
push str.WatchClipboard
push edi
mov ecx, ebx
call sub.MFC42u.DLL_CWinApp::WriteProfileInt
xor edi, edi
cmp dword [esi + 0x327c], edi
je 0x4109ec
lea eax, [ebp - 0x1c]
push eax
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [esi + 0x86c]
sub eax, edi
je 0x4109ec
dec eax
dec eax
je 0x410980
dec eax
je 0x410921
push edi
mov edi, dword [sym.imp.USER32.dll_GetSystemMetrics]
call edi
push 1
mov ebx, eax
call edi
mov ecx, eax
mov eax, ebx
sub eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x1c]
cdq
sub eax, edx
mov edi, eax
mov eax, ecx
sub eax, dword [ebp - 0x10]
sar edi, 1
add eax, dword [ebp - 0x18]
sub edi, dword [ebp - 0x1c]
cdq
sub eax, edx
mov ebx, eax
mov eax, dword [esi + 0x3274]
sar ebx, 1
sub ebx, dword [ebp - 0x18]
mov dword [ebp - 4], eax
test eax, eax
jl 0x4109ec
imul eax, eax, 0xff
mov dword [ebp - 8], eax
mov ecx, dword [esi + 0x3274]
push 1
mov eax, ecx
push 0
sub eax, dword [ebp - 4]
push 0
mov dword [ebp - 0xc], eax
imul eax, ebx
cdq
idiv ecx
add eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebp - 0xc]
imul eax, edi
cdq
idiv ecx
mov ecx, esi
add eax, dword [ebp - 0x1c]
push eax
push dword [sym.imp.MFC42u.DLL_CWndconstCWnd::wndNoTopMost]
call sub.MFC42u.DLL_CWnd::SetWindowPos
test esi, esi
jne 0x4108ee
and dword [ebp - 0xc], esi
jmp 0x4108f4
mov eax, dword [esi + 0x20]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 8]
push 2
push 0x64
cdq
pop ecx
idiv ecx
mov ecx, esi
push eax
push 0
push dword [ebp - 0xc]
call fcn.0040d860
dec dword [ebp - 4]
sub dword [ebp - 8], 0xff
cmp dword [ebp - 4], 0
jge 0x4108ad
jmp 0x4109ec
mov eax, dword [esi + 0x3274]
cmp eax, edi
jl 0x4109ec
mov ebx, eax
imul ebx, ebx, 0xff
inc eax
mov dword [ebp - 8], eax
push 3
push edi
push edi
push edi
push edi
mov ecx, esi
push dword [sym.imp.MFC42u.DLL_CWndconstCWnd::wndNoTopMost]
call sub.MFC42u.DLL_CWnd::SetWindowPos
cmp esi, edi
jne 0x410957
mov dword [ebp - 0xc], edi
jmp 0x41095d
mov eax, dword [esi + 0x20]
mov dword [ebp - 0xc], eax
push 2
mov eax, ebx
push 0x64
cdq
pop ecx
idiv ecx
mov ecx, esi
push eax
push edi
push dword [ebp - 0xc]
call fcn.0040d860
sub ebx, 0xff
dec dword [ebp - 8]
jne 0x41093b
jmp 0x4109ec
mov ebx, dword [esi + 0x3274]
cmp ebx, edi
jl 0x4109ec
mov eax, ebx
imul eax, eax, 0xff
mov dword [ebp - 8], eax
mov eax, dword [esi + 0x3274]
mov ecx, dword [ebp - 0x18]
sub eax, ebx
push 1
push edi
push edi
lea ecx, [ecx + eax*2]
add eax, ecx
mov ecx, esi
push eax
push dword [ebp - 0x1c]
push dword [sym.imp.MFC42u.DLL_CWndconstCWnd::wndNoTopMost]
call sub.MFC42u.DLL_CWnd::SetWindowPos
cmp esi, edi
jne 0x4109c3
mov dword [ebp - 0xc], edi
jmp 0x4109c9
mov eax, dword [esi + 0x20]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 8]
push 2
push 0x64
cdq
pop ecx
idiv ecx
mov ecx, esi
push eax
push edi
push dword [ebp - 0xc]
call fcn.0040d860
sub dword [ebp - 8], 0xff
dec ebx
cmp ebx, edi
jge 0x410995
mov ecx, esi
call sub.MFC42u.DLL_CWnd::Default
pop edi
pop esi
pop ebx
leave
ret