Function at 0x40130f
Capabilities:
Set registry value
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x8c
push ebx
push esi
push edi
lea eax, [esp + 0x20]
mov dword [esp + 0x20], 8
push eax
mov dword [esp + 0x28], pe_nt_image_headers32
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
mov esi, dword [ebp + 0x10]
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x401341
sub ecx, edx
mov edi, 0x104
push edi
push 0x4945c0
xor ebx, ebx
lea eax, [ecx - 2]
push eax
lea eax, [esi + 1]
push eax
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, dword [ebp + 8]
mov dword [0x4945bc], eax
mov dword [0x4949b0], 0x58
mov dword [0x4949b4], ebx
mov dword [0x4949b8], eax
mov dword [0x4949bc], ebx
mov dword [0x4949c0], ebx
mov dword [0x4949cc], 0x4945c0
mov dword [0x4949d0], edi
mov dword [0x4949d4], ebx
mov dword [0x4949dc], ebx
mov dword [0x4949e4], 0x80000
mov dword [0x4949e0], ebx
mov dword [0x494a04], ebx
call fcn.0040b7e6
push ebx
test eax, eax
jne 0x4013e4
push 0x490b88
push 0x4802b8
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
push ebx
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 0x4930e4
push ebx
push 0x20019
push ebx
push ebx
push ebx
push str.SOFTWARESkylonManager
push connect
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov ecx, dword [0x4930e4]
mov edi, connect
push edi
push 0x494d10
mov edx, 0x480334
call fcn.004012e2
mov ecx, dword [0x4930e4]
mov edx, str.Left
push edi
push 0x494d0c
call fcn.004012e2
mov ecx, dword [0x4930e4]
mov edx, str.Width
push edi
push 0x494d14
call fcn.004012e2
mov ecx, dword [0x4930e4]
mov edx, str.Height
push edi
push 0x494d18
call fcn.004012e2
mov eax, dword [0x4945bc]
add esp, 0x20
mov edi, dword [sym.imp.USER32.dll_LoadIconW]
mov dword [esp + 0x4c], str.DiaryMainWindowClass
mov dword [esp + 0x30], ebx
push str.MAINICON
push eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], eax
mov dword [esp + 0x30], ebx
call edi
push 0x7f00
push ebx
mov ebx, dword [sym.imp.USER32.dll_LoadCursorW]
mov dword [esp + 0x44], eax
call ebx
and dword [esp + 0x48], 0
and dword [esp + 0x44], 0
mov dword [esp + 0x40], eax
lea eax, [esp + 0x28]
push eax
mov dword [esp + 0x30], 0x401787
call dword [sym.imp.USER32.dll_RegisterClassW]
test ax, ax
je 0x401772
mov eax, dword [0x4945bc]
xor ecx, ecx
push str.MAINICON
push eax
mov dword [esp + 0x7c], 0x4803e8
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], eax
mov dword [esp + 0x58], ecx
call edi
push 0x7f00
push 0
mov dword [esp + 0x6c], eax
call ebx
mov dword [esp + 0x68], eax
xor ebx, ebx
lea eax, [esp + 0x50]
mov dword [esp + 0x54], 0x404ad1
push eax
mov dword [esp + 0x74], ebx
mov dword [esp + 0x70], ebx
call dword [sym.imp.USER32.dll_RegisterClassW]
test ax, ax
je 0x401774
push ebx
push dword [0x4945bc]
push ebx
push ebx
push dword [0x494d18]
push dword [0x494d14]
push dword [0x494d10]
push dword [0x494d0c]
push 0xcf0000
push 0x4945c0
push str.DiaryMainWindowClass
push ebx
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov edi, eax
test edi, edi
jne 0x401574
push ebx
push 0x490b88
push 0x480408
jmp 0x4013d6
push 1
push edi
call dword [sym.imp.SHELL32.dll_DragAcceptFiles]
mov ecx, dword [0x4930e4]
mov edx, str.Maximized
push ebx
push 0x494d1c
call fcn.004012e2
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop ecx
pop ecx
push dword [0x4930e4]
call ebx
cmp dword [0x494d1c], 0
je 0x4015b0
push 3
jmp 0x4015b2
push 1
push edi
call dword [sym.imp.USER32.dll_ShowWindow]
push edi
call dword [sym.imp.USER32.dll_UpdateWindow]
mov ecx, edi
mov dword [0x494974], 1
call fcn.00404c16
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x4015d4
sub esi, ecx
jne 0x4015f0
push 0x490b88
push edi
call dword [sym.imp.USER32.dll_SetWindowTextW]
call fcn.0040518a
mov esi, dword [sym.imp.USER32.dll_GetMessageW]
jmp 0x401624
lea eax, [esp + 0x7c]
push eax
push dword [0x4930d8]
push edi
call dword [sym.imp.USER32.dll_TranslateAcceleratorW]
test eax, eax
jne 0x401619
lea eax, [esp + 0x7c]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [esp + 0x7c]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
xor eax, eax
push eax
push eax
push eax
lea eax, [esp + 0x88]
push eax
call esi
test eax, eax
jne 0x4015f8
mov eax, dword [0x494a10]
mov esi, dword [sym.imp.USER32.dll_DestroyWindow]
test eax, eax
je 0x401649
push eax
call esi
mov eax, dword [0x4949a4]
test eax, eax
je 0x401655
push eax
call esi
mov eax, dword [0x4930b0]
test eax, eax
je 0x401661
push eax
call esi
xor esi, esi
push esi
push 0x4930e4
push esi
push 0x20006
push esi
push esi
push esi
push str.SOFTWARESkylonManager
push connect
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov ecx, dword [0x494d0c]
mov eax, dword [0x494d14]
mov edx, dword [0x494d10]
add eax, ecx
mov dword [esp + 0x18], eax
mov eax, dword [0x494d18]
push esi
add eax, edx
mov dword [esp + 0x18], edx
push 1
mov dword [esp + 0x24], eax
lea eax, [esp + 0x18]
push 0xcf0000
push eax
mov dword [esp + 0x20], ecx
call dword [sym.imp.USER32.dll_AdjustWindowRectEx]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
sub eax, ecx
push 4
pop edi
push edi
push 0x494d1c
push edi
push esi
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov dword [0x494d14], eax
mov eax, dword [esp + 0x2c]
push str.Maximized
push dword [0x4930e4]
sub eax, edx
mov dword [0x494d10], edx
mov dword [0x494d0c], ecx
mov dword [0x494d18], eax
call esi
push edi
push 0x494d10
push edi
push 0
push 0x480334
push dword [0x4930e4]
call esi
push edi
push 0x494d0c
push edi
push 0
push str.Left
push dword [0x4930e4]
call esi
push edi
push 0x494d14
push edi
push 0
push str.Width
push dword [0x4930e4]
call esi
push edi
push 0x494d18
push edi
push 0
push str.Height
push dword [0x4930e4]
call esi
push dword [0x4930e4]
call ebx
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x10
xor ebx, ebx
push ebx
push 0x490b88
push 0x4803a8
jmp 0x4013d6