Function at 0x406583
Capabilities:
Accept command line arguments
Check mutex and terminate process on windows
Check mutex on windows
Get common file path
Get geographical location
Identify system language via api
Link many functions at runtime
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x68
push ebx
push esi
xor ebx, ebx
push edi
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x14], ebx
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push ebx
push ebx
mov dword [0x428e78], eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
test eax, eax
je 0x40666b
push 9
pop ecx
push 0x42bc10
push 0x5c
xor eax, eax
mov dword [ebp - 0x68], ebx
lea edi, [ebp - 0x64]
push 0xd
mov dword [0x429284], ebx
rep stosd dword es:[edi], eax
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectW]
mov esi, dword [sym.imp.USER32.dll_GetSysColor]
push 8
pop edi
push edi
call esi
push 5
mov dword [0x42c430], eax
call esi
mov dword [0x421028], eax
call dword [sym.imp.KERNEL32.dll_GetACP]
mov dword [0x421af8], eax
call dword [sym.imp.KERNEL32.dll_GetOEMCP]
mov dword [0x421d08], eax
mov eax, dword [0x421af8]
mov dword [0x421d70], eax
mov dword [0x429b98], ebx
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
push 0x400
mov esi, 0x426110
push esi
push 0xd
push 0x400
mov word [0x429b90], ax
mov word [0x429bf4], ax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x406ed3
cmp word [0x426110], 0x30
jne 0x406eb0
mov eax, 0x3e8
mov dword [0x42c4e0], edi
jmp 0x406ebf
push 9
pop ecx
push 0x426918
push 0x3c
xor eax, eax
mov dword [ebp - 0x68], ebx
lea edi, [ebp - 0x64]
push 0xd
mov dword [0x429284], 1
rep stosd dword es:[edi], eax
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
mov esi, dword [sym.imp.USER32.dll_GetSysColor]
push 8
pop edi
push edi
call esi
push 5
mov dword [0x42c430], eax
call esi
mov dword [0x421028], eax
call dword [sym.imp.KERNEL32.dll_GetACP]
mov dword [0x421af8], eax
call dword [sym.imp.KERNEL32.dll_GetOEMCP]
mov dword [0x421d08], eax
mov eax, dword [0x421af8]
mov dword [0x421d70], eax
mov dword [0x429b98], ebx
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
push 0x400
mov esi, 0x428e80
push esi
push 0xd
push 0x400
mov word [0x429b90], ax
mov word [0x429bf4], ax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
test eax, eax
je 0x40673f
cmp byte [0x428e80], 0x30
jne 0x40671c
mov eax, 0x3e8
mov dword [0x42c488], edi
jmp 0x40672b
mov eax, 0x1f4
mov dword [0x42c488], 4
mov dword [0x42c4a4], eax
mov dword [0x42c4ac], eax
mov dword [0x42c4a8], eax
mov dword [0x42c4b0], eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push 0x104
mov edi, 0x42d510
push edi
push eax
mov dword [0x421d50], eax
call fcn.0040ace1
push edi
push str._sAkelPad.ini
mov edi, 0x425fc0
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
push edi
call fcn.0040abcb
add esp, 0x1c
test eax, eax
je 0x406793
push edi
push section..data
push str.SaveSettings
push str.Options
call fcn.00409cc2
add esp, 0x10
xor edi, edi
inc edi
cmp dword [section..data], edi
jne 0x4067a5
call fcn.0040bec9
jmp 0x4067aa
call fcn.0040c849
mov eax, dword [0x421d70]
cmp eax, 0x4b0
je 0x4067c4
cmp eax, 0x4b1
je 0x4067c4
cmp eax, 0xfde9
jne 0x4067ca
mov dword [0x429b98], edi
cmp dword [0x42bfb0], ebx
mov ecx, dword [0x429b98]
mov dword [0x421d68], eax
mov eax, dword [0x42d828]
mov dword [0x426914], ecx
mov dword [0x42d824], eax
jne 0x4067f8
push 0x42bfb0
call fcn.0040ed86
pop ecx
push 0x426988
mov dword [0x426988], 0x44
call dword [sym.imp.KERNEL32.dll_GetStartupInfoA]
movzx eax, word [0x4269b8]
cmp eax, ebx
mov dword [0x4269cc], eax
jne 0x406823
mov dword [0x4269cc], edi
test byte [0x4269b5], 0x10
jne 0x40687b
push str.AkelPad_Mutex
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
cmp eax, ebx
mov dword [0x42bc74], eax
je 0x40687b
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x40687b
push 0xffffffffffffffff
push dword [0x42bc74]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [0x42bc74]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push dword [0x42bc74]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x42bc74], ebx
call fcn.00409ae3
mov dword [0x42bc0c], eax
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 8]
push eax
push str.riched20.dll
call fcn.00412b26
add esp, 0x14
cmp dword [ebp - 8], 5
jl 0x4068bb
jne 0x4068b3
cmp dword [ebp - 0x10], 0x1e
jl 0x4068bb
mov dword [0x421d60], ebx
jmp 0x4068c1
mov dword [0x421d60], edi
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 8]
push eax
push str.comctl32.dll
call fcn.00412b26
add esp, 0x14
cmp dword [ebp - 8], 4
jl 0x4068f4
jne 0x4068ec
cmp dword [ebp - 0x10], 0x47
jl 0x4068f4
mov dword [0x425fb4], ebx
jmp 0x4068fa
mov dword [0x425fb4], edi
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.GetCPInfoExA
push eax
mov dword [ebp - 0x18], eax
call edi
push str.GetLongPathNameA
push dword [ebp - 0x18]
mov dword [0x42bc6c], eax
call edi
push str.shell32.dll
mov dword [0x4269d0], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str.ExtractIconExA
push eax
mov dword [ebp - 0x18], eax
call edi
push str.SHGetPathFromIDListA
push dword [ebp - 0x18]
mov dword [0x421d4c], eax
call edi
push str.SHBrowseForFolderA
push dword [ebp - 0x18]
mov dword [0x428e74], eax
call edi
cmp dword [0x42d824], ebx
mov dword [0x426de0], eax
je 0x406994
cmp dword [0x42103c], ebx
je 0x406994
push ebx
push str.AkelPad3
call dword [sym.imp.USER32.dll_FindWindowA]
cmp eax, ebx
mov dword [ebp - 4], eax
je 0x406994
push eax
call fcn.0040b0d4
pop ecx
mov dword [ebp - 0x14], 1
mov eax, dword [ebp - 0xc]
cmp byte [eax], bl
je 0x406b85
lea ecx, [ebp - 0xc]
push ecx
push esi
push eax
call fcn.00409b65
add esp, 0xc
test eax, eax
je 0x406b85
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0x41d808
push esi
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x4069da
mov dword [0x42c5b4], 1
jmp 0x406b6d
push 0x41d804
push esi
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x4069f9
mov dword [0x42c2dc], 1
jmp 0x406b6d
push 0x41d800
push esi
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x406a18
mov dword [0x42c2dc], 2
jmp 0x406b6d
push 0x41d7fc
push esi
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x406a37
mov dword [0x42c2e0], 1
jmp 0x406b6d
push 0x41d7f8
push esi
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x406a56
mov dword [0x42c2e0], 2
jmp 0x406b6d
cmp byte [0x428e80], bl
je 0x406b6d
push esi
push 0x426e38
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp dword [0x42d824], ebx
jne 0x406ae1
cmp dword [0x42c5e0], ebx
je 0x406ac6
push 0x426e38
call fcn.0040ad31
test eax, eax
pop ecx
je 0x406ac6
push 0x426e38
push 0x41d5a0
call dword [sym.imp.USER32.dll_FindWindowA]
cmp eax, ebx
je 0x406ac6
push eax
call dword [sym.imp.USER32.dll_GetParent]
cmp eax, ebx
mov dword [ebp - 4], eax
je 0x406ac6
push eax
call fcn.0040b0d4
mov eax, dword [ebp - 0xc]
cmp byte [eax], bl
pop ecx
je 0x407644
jmp 0x406b6d
mov eax, dword [ebp - 0xc]
cmp byte [eax], bl
je 0x406b85
push 0x1000
call fcn.0040b93c
pop ecx
mov dword [ebp - 4], eax
jmp 0x406b0a
cmp dword [ebp - 4], ebx
jne 0x406b0f
mov eax, dword [ebp - 0xc]
cmp byte [eax], bl
je 0x406b85
push 0x1000
call fcn.0040b93c
cmp eax, ebx
pop ecx
mov dword [ebp - 4], eax
je 0x406b6d
mov dword [ebp - 0x14], 1
cmp dword [ebp - 4], ebx
je 0x406b6d
cmp dword [0x42c5b4], ebx
je 0x406b24
push ebx
push 1
push 0x403
push dword [ebp - 4]
call edi
mov eax, dword [0x42c2dc]
cmp eax, ebx
je 0x406b39
push ebx
push eax
push 0x404
push dword [ebp - 4]
call edi
mov eax, dword [0x42c2e0]
cmp eax, ebx
je 0x406b4e
push ebx
push eax
push 0x405
push dword [ebp - 4]
call edi
push 0x426e38
call dword [sym.imp.KERNEL32.dll_GlobalAddAtomA]
movzx eax, ax
push ebx
or eax, 0x30000
push eax
push 0x402
push dword [ebp - 4]
call edi
lea eax, [ebp - 0xc]
push eax
push esi
push dword [ebp - 0xc]
call fcn.00409b65
add esp, 0xc
test eax, eax
jne 0x4069bb
cmp dword [ebp - 0x14], ebx
jne 0x407644
cmp byte [0x42bc78], bl
mov eax, dword [0x421d50]
mov dword [0x429b9c], eax
mov edi, 0x4269e0
je 0x406c05
push 0x42bc78
push 0x42d510
push str._sAkelFilesLangs_s
push esi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
push esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
cmp eax, ebx
mov dword [0x429b9c], eax
jne 0x406c05
mov eax, dword [0x421d50]
push 0x400
push esi
push 0xc
push eax
mov dword [0x429b9c], eax
call fcn.0040b4e0
push 0x42bc78
push esi
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x1c
push 0x30
push 0x41d4d8
push edi
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
push str.riched20.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
cmp eax, ebx
mov dword [ebp - 0x1c], eax
jne 0x406c47
push 0x400
push esi
push 0xc
push dword [0x429b9c]
call fcn.0040b4e0
push str.riched20.dll
push esi
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x1c
push 0x10
push 0x41d4d8
push edi
jmp 0x406ea4
push 0x104
push 0x429288
push 0x3a
push dword [0x429b9c]
call fcn.0040b4e0
add esp, 0x10
xor eax, eax
cmp byte [0x429288], bl
je 0x406c81
lea ecx, [eax + 0x429288]
cmp byte [ecx], 0x7c
jne 0x406c78
mov byte [ecx], bl
inc eax
cmp byte [eax + 0x429288], bl
jne 0x406c6b
mov edi, 0xfa1
push edi
push dword [0x429b9c]
mov byte [eax + 0x429289], bl
call fcn.0040b3b4
push 0x3e9
push dword [0x429b9c]
mov dword [0x425fa8], eax
call fcn.0040b408
push ebx
push ebx
push ebx
push 1
push 0x3ea
push dword [0x429b9c]
mov dword [0x42bc04], eax
call fcn.0040b45c
push edi
push dword [0x429b9c]
mov dword [0x426910], eax
call fcn.0040b360
push 0xfa2
push dword [0x429b9c]
mov dword [0x4269d4], eax
call fcn.0040b360
add esp, 0x38
mov dword [0x421d5c], eax
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
mov eax, dword [0x421d50]
mov dword [ebp - 0x58], eax
mov eax, dword [0x42bc04]
push 0x7f00
push ebx
mov dword [ebp - 0x68], 0xb
mov dword [ebp - 0x64], 0x403198
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], 0x1e
mov dword [ebp - 0x54], eax
call dword [sym.imp.USER32.dll_LoadCursorA]
push 5
mov dword [ebp - 0x50], eax
call dword [sym.imp.GDI32.dll_GetStockObject]
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x68]
mov dword [ebp - 0x48], edi
mov edi, dword [sym.imp.USER32.dll_RegisterClassA]
push eax
mov dword [ebp - 0x44], str.AkelPad3
call edi
test ax, ax
je 0x407644
cmp dword [0x42d824], ebx
mov eax, dword [0x421d50]
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x68]
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x5c], 0x1e
mov dword [ebp - 0x60], ebx
push eax
jne 0x406d99
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x64], 0x40318c
mov dword [ebp - 0x44], 0x41d5a0
jmp 0x406dae
mov dword [ebp - 0x68], 3
mov dword [ebp - 0x64], 0x401445
mov dword [ebp - 0x44], 0x41d520
call edi
test ax, ax
je 0x407644
push ebx
push dword [0x421d50]
push dword [0x4269d4]
push ebx
push dword [0x421010]
push dword [0x42100c]
push dword [0x421008]
push dword [0x421004]
push 0xcf0000
push 0x41d4d8
push str.AkelPad3
push ebx
call dword [sym.imp.USER32.dll_CreateWindowExA]
cmp eax, ebx
mov dword [0x42bc70], eax
je 0x407644
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
mov edi, dword [sym.imp.USER32.dll_GetMessageA]
jmp 0x406e70
cmp eax, 0xffffffff
je 0x406e86
mov eax, dword [0x42bfa0]
cmp eax, ebx
je 0x406e2e
lea ecx, [ebp - 0x40]
push ecx
push eax
call dword [sym.imp.USER32.dll_IsDialogMessageA]
test eax, eax
jne 0x406e70
lea eax, [ebp - 0x40]
push eax
push 0x42bf8c
call fcn.00411a03
test eax, eax
pop ecx
pop ecx
jne 0x406e70
lea eax, [ebp - 0x40]
push eax
push dword [0x425fa8]
push dword [0x42bc70]
call dword [sym.imp.USER32.dll_TranslateAcceleratorA]
test eax, eax
jne 0x406e70
lea eax, [ebp - 0x40]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x40]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
push ebx
push ebx
lea eax, [ebp - 0x40]
push ebx
push eax
call edi
cmp eax, ebx
jne 0x406e11
cmp eax, 0xffffffff
jne 0x407644
push 0x400
push esi
push 1
push dword [0x429b9c]
call fcn.0040b4e0
add esp, 0x10
push 0x10
push 0x41d4d8
push esi
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x407644
mov eax, 0x1f4
mov dword [0x42c4e0], 4
mov dword [0x42c4fc], eax
mov dword [0x42c504], eax
mov dword [0x42c500], eax
mov dword [0x42c508], eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push 0x104
mov edi, 0x42d618
push edi
push eax
mov dword [0x421d50], eax
call fcn.0040ad08
push edi
push 0x41d7c0
mov edi, 0x421b00
push edi
call dword [sym.imp.USER32.dll_wsprintfW]
push edi
call fcn.0040abf9
add esp, 0x1c
test eax, eax
je 0x406f27
push edi
push section..data
push 0x41d7a4
push 0x41d794
call fcn.00409cf9
add esp, 0x10
xor edi, edi
inc edi
cmp dword [section..data], edi
jne 0x406f39
call fcn.0040c389
jmp 0x406f3e
call fcn.0040cc8e
mov eax, dword [0x421d70]
cmp eax, 0x4b0
je 0x406f58
cmp eax, 0x4b1
je 0x406f58
cmp eax, 0xfde9
jne 0x406f5e
mov dword [0x429b98], edi
cmp dword [0x42bfb0], ebx
mov ecx, dword [0x429b98]
mov dword [0x421d68], eax
mov eax, dword [0x42d828]
mov dword [0x426914], ecx
mov dword [0x42d824], eax
jne 0x406f8c
push 0x42bfb0
call fcn.0040ed86
pop ecx
push 0x4260c8
mov dword [0x4260c8], 0x44
call dword [sym.imp.KERNEL32.dll_GetStartupInfoW]
movzx eax, word [0x4260f8]
cmp eax, ebx
mov dword [0x4269cc], eax
jne 0x406fb7
mov dword [0x4269cc], edi
test byte [0x4260f5], 0x10
jne 0x40700f
push str.AkelPad_Mutex
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
cmp eax, ebx
mov dword [0x42bc74], eax
je 0x40700f
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x40700f
push 0xffffffffffffffff
push dword [0x42bc74]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [0x42bc74]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push dword [0x42bc74]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x42bc74], ebx
call fcn.00409b1b
mov dword [0x421afc], eax
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 8]
push eax
push 0x41d778
call fcn.00412bdf
add esp, 0x14
cmp dword [ebp - 8], 5
jl 0x40704f
jne 0x407047
cmp dword [ebp - 0x10], 0x1e
jl 0x40704f
mov dword [0x421d60], ebx
jmp 0x407055
mov dword [0x421d60], edi
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 8]
push eax
push 0x41d75c
call fcn.00412bdf
add esp, 0x14
cmp dword [ebp - 8], 4
jl 0x407088
jne 0x407080
cmp dword [ebp - 0x10], 0x47
jl 0x407088
mov dword [0x425fb4], ebx
jmp 0x40708e
mov dword [0x425fb4], edi
push 0x41d740
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.GetCPInfoExW
push eax
mov dword [ebp - 0x18], eax
call edi
push str.GetLongPathNameW
push dword [ebp - 0x18]
mov dword [0x428e7c], eax
call edi
push 0x41d704
mov dword [0x425fa4], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push str.ExtractIconExW
push eax
mov dword [ebp - 0x18], eax
call edi
push str.SHGetPathFromIDListW
push dword [ebp - 0x18]
mov dword [0x429bfc], eax
call edi
push str.SHBrowseForFolderW
push dword [ebp - 0x18]
mov dword [0x421d64], eax
call edi
cmp dword [0x42d824], ebx
mov dword [0x421af4], eax
je 0x407128
cmp dword [0x42103c], ebx
je 0x407128
push ebx
push 0x41d6b4
call dword [sym.imp.USER32.dll_FindWindowW]
cmp eax, ebx
mov dword [ebp - 4], eax
je 0x407128
push eax
call fcn.0040b0d4
pop ecx
mov dword [ebp - 0x14], 1
mov eax, dword [ebp - 0xc]
cmp word [eax], bx
je 0x40731e
lea ecx, [ebp - 0xc]
push ecx
push esi
push eax
call fcn.00409bff
add esp, 0xc
test eax, eax
je 0x40731e
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0x41d6ac
push esi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x40716f
mov dword [0x42c5b4], 1
jmp 0x407306
push 0x41d6a4
push esi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x40718e
mov dword [0x42c2dc], 1
jmp 0x407306
push 0x41d69c
push esi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x4071ad
mov dword [0x42c2dc], 2
jmp 0x407306
push 0x41d694
push esi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x4071cc
mov dword [0x42c2e0], 1
jmp 0x407306
push 0x41d68c
push esi
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x4071eb
mov dword [0x42c2e0], 2
jmp 0x407306
cmp word [0x426110], bx
je 0x407306
push esi
push 0x421d78
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
cmp dword [0x42d824], ebx
jne 0x407279
cmp dword [0x42c5e0], ebx
je 0x40725d
push 0x421d78
call fcn.0040ad8a
test eax, eax
pop ecx
je 0x40725d
push 0x421d78
push str.AkelPad_SDI_Class
call dword [sym.imp.USER32.dll_FindWindowW]
cmp eax, ebx
je 0x40725d
push eax
call dword [sym.imp.USER32.dll_GetParent]
cmp eax, ebx
mov dword [ebp - 4], eax
je 0x40725d
push eax
call fcn.0040b0d4
mov eax, dword [ebp - 0xc]
cmp word [eax], bx
pop ecx
je 0x407644
jmp 0x407306
mov eax, dword [ebp - 0xc]
cmp word [eax], bx
je 0x40731e
push 0x1000
call fcn.0040b9e2
pop ecx
mov dword [ebp - 4], eax
jmp 0x4072a3
cmp dword [ebp - 4], ebx
jne 0x4072a8
mov eax, dword [ebp - 0xc]
cmp word [eax], bx
je 0x40731e
push 0x1000
call fcn.0040b9e2
cmp eax, ebx
pop ecx
mov dword [ebp - 4], eax
je 0x407306
mov dword [ebp - 0x14], 1
cmp dword [ebp - 4], ebx
je 0x407306
cmp dword [0x42c5b4], ebx
je 0x4072bd
push ebx
push 1
push 0x403
push dword [ebp - 4]
call edi
mov eax, dword [0x42c2dc]
cmp eax, ebx
je 0x4072d2
push ebx
push eax
push 0x404
push dword [ebp - 4]
call edi
mov eax, dword [0x42c2e0]
cmp eax, ebx
je 0x4072e7
push ebx
push eax
push 0x405
push dword [ebp - 4]
call edi
push 0x421d78
call dword [sym.imp.KERNEL32.dll_GlobalAddAtomW]
movzx eax, ax
push ebx
or eax, 0x30000
push eax
push 0x402
push dword [ebp - 4]
call edi
lea eax, [ebp - 0xc]
push eax
push esi
push dword [ebp - 0xc]
call fcn.00409bff
add esp, 0xc
test eax, eax
jne 0x407150
cmp dword [ebp - 0x14], ebx
jne 0x407644
cmp word [0x42bd80], bx
mov eax, dword [0x421d50]
mov dword [0x429b9c], eax
mov edi, 0x429390
je 0x40739f
push 0x42bd80
push 0x42d618
push 0x41d660
push esi
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
push esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp eax, ebx
mov dword [0x429b9c], eax
jne 0x40739f
mov eax, dword [0x421d50]
push 0x400
push esi
push 0xc
push eax
mov dword [0x429b9c], eax
call fcn.0040b51d
push 0x42bd80
push esi
push edi
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x1c
push 0x30
push 0x41d510
push edi
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
push 0x41d778
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp eax, ebx
mov dword [ebp - 0x1c], eax
jne 0x4073e1
push 0x400
push esi
push 0xc
push dword [0x429b9c]
call fcn.0040b51d
push 0x41d778
push esi
push edi
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x1c
push 0x10
push 0x41d510
push edi
jmp 0x40763d
push 0x104
mov edi, 0x425d78
push edi
push 0x3a
push dword [0x429b9c]
call fcn.0040b51d
add esp, 0x10
xor eax, eax
cmp word [0x425d78], bx
je 0x40741c
mov ecx, edi
cmp word [ecx], 0x7c
jne 0x407412
mov word [ecx], bx
inc eax
inc edi
inc edi
cmp word [edi], bx
mov ecx, edi
jne 0x407409
mov edi, 0xfa1
push edi
push dword [0x429b9c]
mov word [eax*2 + 0x425d7a], bx
call fcn.0040b3de
push 0x3e9
push dword [0x429b9c]
mov dword [0x425fa8], eax
call fcn.0040b432
push ebx
push ebx
push ebx
push 1
push 0x3ea
push dword [0x429b9c]
mov dword [0x42bc04], eax
call fcn.0040b49e
push edi
push dword [0x429b9c]
mov dword [0x426910], eax
call fcn.0040b38a
push 0xfa2
push dword [0x429b9c]
mov dword [0x4269d4], eax
call fcn.0040b38a
add esp, 0x38
mov dword [0x421d5c], eax
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
mov eax, dword [0x421d50]
mov dword [ebp - 0x58], eax
mov eax, dword [0x42bc04]
push 0x7f00
push ebx
mov dword [ebp - 0x68], 0xb
mov dword [ebp - 0x64], 0x404b92
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], 0x1e
mov dword [ebp - 0x54], eax
call dword [sym.imp.USER32.dll_LoadCursorA]
push 5
mov dword [ebp - 0x50], eax
call dword [sym.imp.GDI32.dll_GetStockObject]
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x68]
mov dword [ebp - 0x48], edi
mov edi, dword [sym.imp.USER32.dll_RegisterClassW]
push eax
mov dword [ebp - 0x44], 0x41d6b4
call edi
test ax, ax
je 0x407644
cmp dword [0x42d824], ebx
mov eax, dword [0x421d50]
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x68]
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x5c], 0x1e
mov dword [ebp - 0x60], ebx
push eax
jne 0x407536
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x64], 0x403192
mov dword [ebp - 0x44], str.AkelPad_SDI_Class
jmp 0x40754b
mov dword [ebp - 0x68], 3
mov dword [ebp - 0x64], 0x40144b
mov dword [ebp - 0x44], str.AkelPad_MDI_Class
call edi
test ax, ax
je 0x407644
push ebx
push dword [0x421d50]
push dword [0x4269d4]
push ebx
push dword [0x421010]
push dword [0x42100c]
push dword [0x421008]
push dword [0x421004]
push 0xcf0000
push 0x41d510
push 0x41d6b4
push ebx
call dword [sym.imp.USER32.dll_CreateWindowExW]
cmp eax, ebx
mov dword [0x42bc70], eax
je 0x407644
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
mov edi, dword [sym.imp.USER32.dll_GetMessageW]
jmp 0x40760d
cmp eax, 0xffffffff
je 0x40761f
mov eax, dword [0x42bfa0]
cmp eax, ebx
je 0x4075cb
lea ecx, [ebp - 0x40]
push ecx
push eax
call dword [sym.imp.USER32.dll_IsDialogMessageW]
test eax, eax
jne 0x40760d
lea eax, [ebp - 0x40]
push eax
push 0x42bf8c
call fcn.00411b3b
test eax, eax
pop ecx
pop ecx
jne 0x40760d
lea eax, [ebp - 0x40]
push eax
push dword [0x425fa8]
push dword [0x42bc70]
call dword [sym.imp.USER32.dll_TranslateAcceleratorW]
test eax, eax
jne 0x40760d
lea eax, [ebp - 0x40]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x40]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
push ebx
push ebx
lea eax, [ebp - 0x40]
push ebx
push eax
call edi
cmp eax, ebx
jne 0x4075ae
cmp eax, 0xffffffff
jne 0x407644
push 0x400
push esi
push 1
push dword [0x429b9c]
call fcn.0040b51d
add esp, 0x10
push 0x10
push 0x41d510
push esi
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
push 0x42bf8c
call fcn.00409692
mov dword [esp], 0x42bf94
call fcn.00409514
cmp dword [ebp - 0x1c], ebx
mov esi, dword [sym.imp.KERNEL32.dll_FreeLibrary]
pop ecx
je 0x40766b
push dword [ebp - 0x1c]
call esi
mov eax, dword [0x429b9c]
cmp eax, ebx
je 0x40767f
cmp eax, dword [0x421d50]
je 0x40767f
push eax
call esi
push ebx
call dword [sym.imp.KERNEL32.dll_ExitProcess]