Function at 0x40d710
Capabilities:
Create process on windows
Delete file
Get common file path
Set current directory
Set registry value

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x41378a
push eax
mov eax, 0x2b74
mov dword fs:[0], esp
call fcn.00412700
push ebx
push ebp
push esi
mov ebp, ecx
xor ebx, ebx
push edi
push ebx
lea ecx, [esp + 0x68]
call fcn.0040b710
push ebx
mov ecx, ebp
mov dword [esp + 0x2b90], ebx
call sub.MFC42.DLL_CWnd::ShowWindow
call sub.MFC42.DLL_AfxGetModuleState
mov eax, dword [eax + 4]
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x41f244
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ebx
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x314]
call fcn.00405db0
mov ecx, 0xff
xor eax, eax
lea edi, [esp + 0x2479]
mov byte [esp + 0x2478], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0xff
xor eax, eax
lea edi, [esp + 0x1261]
mov byte [esp + 0x1260], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0xb
mov ecx, 0x420980
mov byte [esp + 0x2b90], 1
stosb byte es:[edi], al
call fcn.0040a5c0
cmp eax, 1
jne 0x40d7e1
push str.OnAuthOk:__ACL_ONLYED
push 0x418244
call fcn.00401710
add esp, 8
jmp 0x40d92f
mov ecx, 0x41f5b8
call fcn.004057c0
lea ecx, [esp + 0x1260]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea edx, [esp + 0x1260]
push 0x418464
push edx
call dword [sym.imp.MSVCRT.dll_fopen]
mov esi, eax
push esi
call dword [sym.imp.MSVCRT.dll_fclose]
push str.OnAuthOk:__Create
push 0x418244
call fcn.00401710
lea eax, [esp + 0x1274]
push eax
push str.OnAuthOk:__Create__s
push 0x418244
call fcn.00401710
add esp, 0x20
cmp esi, ebx
je 0x40d92f
lea ecx, [esp + 0x2478]
lea edx, [esp + 0x1260]
push ecx
push ebx
push edx
call dword [sym.imp.SHELL32.dll_FindExecutableA]
cmp eax, 0x20
jb 0x40d907
lea eax, [esp + 0x24]
lea ecx, [esp + 0x2478]
push eax
push ecx
lea ecx, [esp + 0x318]
mov dword [esp + 0x2c], ebx
call fcn.00406170
mov edx, dword [esp + 0x24]
mov esi, eax
lea eax, [esp + 0x2478]
push edx
push eax
push str._File:_s_Version:__d
push 0x418244
call fcn.00401710
add esp, 0x10
cmp esi, 1
jne 0x40d907
mov eax, dword [esp + 0x24]
cmp eax, 0xc
jne 0x40dc09
mov ecx, 0x41f288
call fcn.00403150
test eax, eax
jne 0x40db6c
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], ebx
push ecx
push 0x20019
push ebx
push str.SOFTWAREMicrosoftOfficeWordAddInsMSO07EHW.Connect
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x40da18
mov edx, dword [esp + 0x18]
push edx
push str._RegOpenKeyEx_in___x_
push 0x418244
call fcn.00401710
add esp, 0xc
lea ecx, [esp + 0x1260]
push ecx
push str.OnAuthOk:__Delete__s
push 0x418244
call fcn.00401710
add esp, 0xc
lea edx, [esp + 0x1260]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, 0x41f288
call fcn.004031a0
test eax, eax
jne 0x40dda3
mov ecx, 0x41f288
call fcn.00403150
test eax, eax
jne 0x40dda3
push str.DS_VERSION__..._DSAgent_sdsman__Check...........__
push 0x418244
call fcn.00401710
mov esi, dword [sym.imp.USER32.dll_FindWindowA]
add esp, 8
push str.SDSMAN
push 0
call esi
mov ebx, eax
push str.CommAgent
push 0
mov dword [esp + 0x28], ebx
call esi
test ebx, ebx
jne 0x40dced
push ebx
mov ecx, ebp
call sub.MFC42.DLL_CWnd::ShowWindow
push str.DS_VERSION__..._DSAgent_sdsman__is_Not_Executed__
push 0x418244
call fcn.00401710
add esp, 8
lea eax, [esp + 0x1c]
mov ecx, 0x41f248
push str.SOMWT001
push eax
call fcn.00402910
mov esi, dword [eax]
lea ecx, [esp + 0x20]
push str.SOMER032
push ecx
mov ecx, 0x41f248
mov byte [esp + 0x2b94], 6
call fcn.00402910
mov eax, dword [eax]
mov edx, dword [ebp + 0x20]
push 0x10
push esi
push eax
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [esp + 0x20]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2b8c], 1
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp + 0x20]
push ebx
push 0x3e8
push 4
push eax
call dword [sym.imp.USER32.dll_SetTimer]
jmp 0x410370
push 0xc
mov ecx, 0x420980
call fcn.0040a5c0
cmp eax, 1
jne 0x40da40
push str._RegOpenKeyEx_out_OLEMODE
push 0x418244
call fcn.00401710
add esp, 8
jmp 0x40d907
push 0xe
mov ecx, 0x420980
call fcn.0040a5c0
cmp eax, 1
mov eax, dword [esp + 0x18]
push eax
jne 0x40dae3
push str._RegOpenKeyEx_MSO07EHW.Connect___x__ACL_OFFICEX
push 0x418244
call fcn.00401710
add esp, 0xc
lea ecx, [esp + 0x1260]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea edx, [esp + 0x1c]
push str.SOMWT001
push edx
mov ecx, 0x41f248
call fcn.00402910
mov esi, dword [eax]
lea eax, [esp + 0x20]
push str.This_Version_of_Document_Security_Agent_doesnt_support_Office_2007.
push eax
mov ecx, 0x41f248
mov byte [esp + 0x2b94], 2
call fcn.00402910
mov eax, dword [eax]
mov ecx, dword [ebp + 0x20]
push 0x10
push esi
push eax
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [esp + 0x20]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2b8c], 1
call sub.MFC42.DLL_CString::CString
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x60]
jmp 0x410370
push str._RegOpenKeyEx_MSO07EHW.Connect___x_
push 0x418244
call fcn.00401710
add esp, 0xc
lea ecx, [esp + 0x1260]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea edx, [esp + 0x1c]
push str.SOMWT001
push edx
mov ecx, 0x41f248
call fcn.00402910
mov esi, dword [eax]
lea eax, [esp + 0x20]
push str.This_document_doesnt_support_the_version_of_Office_2007.
push eax
mov ecx, 0x41f248
mov byte [esp + 0x2b94], 3
call fcn.00402910
mov eax, dword [eax]
mov ecx, dword [ebp + 0x20]
push 0x10
push esi
push eax
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [esp + 0x20]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2b8c], 1
call sub.MFC42.DLL_CString::CString
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x60]
jmp 0x410370
push 0xe
mov ecx, 0x420980
call fcn.0040a5c0
test eax, eax
jne 0x40d907
push str._RegOpenKeyEx_Not_DS_ACL_OFFICEX_0
push 0x418244
call fcn.00401710
add esp, 8
lea eax, [esp + 0x1260]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [esp + 0x1c]
push str.SOMWT001
push ecx
mov ecx, 0x41f248
call fcn.00402910
mov esi, dword [eax]
lea edx, [esp + 0x20]
push str.This_document_doesnt_support_the_version_of_Office_2007.
push edx
mov ecx, 0x41f248
mov byte [esp + 0x2b94], 4
call fcn.00402910
mov eax, dword [eax]
push 0x10
push esi
push eax
mov eax, dword [ebp + 0x20]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [esp + 0x20]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2b8c], 1
call sub.MFC42.DLL_CString::CString
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x60]
jmp 0x410370
cmp eax, 0xb
jne 0x40d907
push 0xe
mov ecx, 0x420980
call fcn.0040a5c0
cmp eax, 1
jne 0x40d907
push 0xd
mov ecx, 0x420980
call fcn.0040a5c0
push eax
mov eax, dword [esp + 0x28]
push eax
push str._RegOpenKeyEx_2003___d__ACL_OLEDOC___d_
push 0x418244
call fcn.00401710
add esp, 0x10
mov ecx, 0x420980
push 0xd
call fcn.0040a5c0
test eax, eax
jne 0x40d907
mov ecx, dword [esp + 0x24]
push ecx
push str._RegOpenKeyEx_2003___d__ACL_OLEDOC_FALSE
push 0x418244
call fcn.00401710
add esp, 0xc
lea edx, [esp + 0x1260]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [esp + 0x1c]
push str.SOMWT001
push eax
mov ecx, 0x41f248
call fcn.00402910
mov esi, dword [eax]
lea ecx, [esp + 0x20]
push str.This_document_can_be_accessed_with_Office_2007.
push ecx
mov ecx, 0x41f248
mov byte [esp + 0x2b94], 5
call fcn.00402910
mov eax, dword [eax]
mov edx, dword [ebp + 0x20]
push 0x10
push esi
push eax
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [esp + 0x20]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2b8c], 1
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x60]
jmp 0x410370
test eax, eax
jne 0x40dda3
mov ecx, 0x40
lea edi, [esp + 0x1c9]
mov byte [esp + 0x1c8], al
push 0x104
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [esp + 0x1cc]
push ecx
stosb byte es:[edi], al
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
mov edi, str.SoftCampSDSCOMAGENT.EXE
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x1c8]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x30], 0x6bd
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x1c8]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
mov dword [esp + 0x34], ecx
lea ecx, [esp + 0x30]
push ecx
push 0
lea eax, [esp + 0x1d0]
push 0x4a
push ebx
mov dword [esp + 0x48], eax
call dword [sym.imp.USER32.dll_SendMessageA]
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
push str.Not_Executed_ComAgent
push 0x418244
call fcn.00401710
add esp, 8
mov ebx, 1
mov ecx, ebp
push ebx
call sub.MFC42.DLL_CWnd::UpdateData
push 0xa
mov ecx, 0x420980
call fcn.0040a5c0
cmp eax, ebx
jne 0x40ded6
mov eax, dword [ebp + 0x3b8]
lea edi, [ebp + 0x3b8]
push eax
mov ecx, 0x420980
call fcn.0040a610
test eax, eax
je 0x40df39
mov edx, dword [edi]
push str.SOMWT001
mov eax, dword [edx - 8]
test eax, eax
jne 0x40de49
lea eax, [esp + 0x20]
mov ecx, 0x41f248
push eax
call fcn.00402910
mov esi, dword [eax]
lea ecx, [esp + 0x20]
push str.SOMWT003
push ecx
mov ecx, 0x41f248
mov byte [esp + 0x2b94], 7
call fcn.00402910
mov eax, dword [eax]
mov edx, dword [ebp + 0x20]
push 0x10
push esi
push eax
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [esp + 0x20]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2b8c], bl
call sub.MFC42.DLL_CString::CString
jmp 0x40deac
lea eax, [esp + 0x20]
mov ecx, 0x41f248
push eax
call fcn.00402910
mov esi, dword [eax]
lea ecx, [esp + 0x20]
push str.SOMER009
push ecx
mov ecx, 0x41f248
mov byte [esp + 0x2b94], 8
call fcn.00402910
mov eax, dword [eax]
mov edx, dword [ebp + 0x20]
push 0x10
push esi
push eax
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [esp + 0x20]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2b8c], 1
call sub.MFC42.DLL_CString::CString
push 0x41f244
mov ecx, edi
call sub.MFC42.DLL_CString::operator
push 0
mov ecx, ebp
call sub.MFC42.DLL_CWnd::UpdateData
push 0x3e8
mov ecx, ebp
call sub.MFC42.DLL_CWnd::GetDlgItem
mov ecx, eax
call sub.MFC42.DLL_CWnd::SetFocus
push 5
mov ecx, ebp
call sub.MFC42.DLL_CWnd::ShowWindow
jmp 0x410370
xor eax, eax
mov ecx, 8
mov dword [esp + 0x31], eax
lea edi, [esp + 0x44]
mov dword [esp + 0x35], eax
lea edx, [esp + 0x44]
mov dword [esp + 0x39], eax
mov byte [esp + 0x30], 0
mov dword [esp + 0x3d], eax
mov word [esp + 0x41], ax
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x30]
mov byte [esp + 0x43], al
push ecx
push 0x20
push edx
call fcn.00411ae0
add esp, 0xc
lea eax, [esp + 0x30]
mov ecx, 0x41f5b8
push eax
call fcn.00405a80
mov ecx, 5
lea esi, [esp + 0x30]
mov edi, 0x420ba4
mov ebx, 1
rep movsd dword es:[edi], dword [esi]
push 0
mov ecx, ebp
call sub.MFC42.DLL_CWnd::ShowWindow
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + 0xdc]
test eax, eax
je 0x40df61
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 0xdc], 0
push 0xb
mov ecx, 0x420980
call fcn.0040a5c0
cmp eax, ebx
jne 0x40dff9
mov ecx, 0x41f5b8
call fcn.004039f0
cmp eax, ebx
jne 0x40ec75
push 0
mov ecx, ebp
call sub.MFC42.DLL_CWnd::ShowWindow
lea ecx, [esp + 0x1c]
push str.SOMWT001
push ecx
mov ecx, 0x41f248
call fcn.00402910
mov esi, dword [eax]
lea edx, [esp + 0x20]
push str.SOMER012
push edx
mov ecx, 0x41f248
mov byte [esp + 0x2b94], 9
call fcn.00402910
mov eax, dword [eax]
push 0x10
push esi
push eax
mov eax, dword [ebp + 0x20]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [esp + 0x20]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2b8c], 1
call sub.MFC42.DLL_CString::CString
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x60]
jmp 0x410370
mov eax, dword [ebp + 0xf8]
mov ecx, dword [ebp + 0xf4]
push eax
push ecx
push str.CheckAclFromSomFile:_OnAuthOk__d__d_
push 0x418244
call fcn.00401710
add esp, 0x10
mov ecx, 0x420980
push 0
call fcn.0040b070
test eax, eax
je 0x40e0c4
mov ecx, 0x41f288
call fcn.004037b0
test eax, eax
jne 0x40e051
push 3
mov ecx, 0x420980
call fcn.0040a5c0
cmp eax, ebx
jne 0x40e051
mov dword [esi + 0xf0], ebx
mov ecx, 0x420980
call fcn.0040b460
lea edx, [esp + 0x1c]
push str.SOMWT001
push edx
mov ecx, 0x41f248
call fcn.00402910
mov esi, dword [eax]
lea eax, [esp + 0x20]
push str.SOMER002
push eax
mov ecx, 0x41f248
mov byte [esp + 0x2b94], 0xb
call fcn.00402910
mov eax, dword [eax]
mov ecx, dword [ebp + 0x20]
push 0x10
push esi
push eax
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [esp + 0x20]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2b8c], 1
call sub.MFC42.DLL_CString::CString
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x60]
jmp 0x410370
push 8
mov ecx, 0x420980
call fcn.0040a5c0
cmp eax, ebx
jne 0x40e695
push 0xc
mov ecx, 0x420980
call fcn.0040a5c0
cmp eax, ebx
jne 0x40e695
mov ecx, 0x420980
call fcn.0040a8a0
test eax, eax
je 0x40e306
cmp eax, 0xffffffbc
je 0x40e279
cmp eax, 0xffffffbd
je 0x40e1e2
cmp eax, 0xffffffbe
push str.SOMWT001
je 0x40e17e
lea eax, [esp + 0x20]
mov ecx, 0x41f248
push eax
call fcn.00402910
mov esi, dword [eax]
lea ecx, [esp + 0x20]
push str.SOMER012
push ecx
mov ecx, 0x41f248
mov byte [esp + 0x2b94], 0xf
call fcn.00402910
mov eax, dword [eax]
mov edx, dword [ebp + 0x20]
push 0x10
push esi
push eax
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [esp + 0x20]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2b8c], 1
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x60]
jmp 0x410370
lea eax, [esp + 0x1c]
mov ecx, 0x41f248
push eax
call fcn.00402910
mov esi, dword [eax]
lea ecx, [esp + 0x28]
push str.SOMER001
push ecx
mov ecx, 0x41f248
mov byte [esp + 0x2b94], 0xc
call fcn.00402910
mov eax, dword [eax]
mov edx, dword [ebp + 0x20]
push 0x10
push esi
push eax
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [esp + 0x28]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x18]
mov byte [esp + 0x2b8c], 1
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x60]
jmp 0x410370
mov ecx, 0x41f288
call fcn.004037b0
test eax, eax
jne 0x40e206
push 3
mov ecx, 0x420980
call fcn.0040a5c0
cmp eax, ebx
jne 0x40e206
mov dword [esi + 0xf0], ebx
mov ecx, 0x420980
call fcn.0040b460
lea eax, [esp + 0x2c]
push str.SOMWT001
push eax
mov ecx, 0x41f248
call fcn.00402910
mov esi, dword [eax]
lea ecx, [esp + 0x24]
push str.SOMER002
push ecx
mov ecx, 0x41f248
mov byte [esp + 0x2b94], 0xd
call fcn.00402910
mov eax, dword [eax]
mov edx, dword [ebp + 0x20]
push 0x10
push esi
push eax
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2b8c], 1
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x60]
jmp 0x410370
mov ecx, 0x41f288
call fcn.004037b0
test eax, eax
jne 0x40e29d
push 3
mov ecx, 0x420980
call fcn.0040a5c0
cmp eax, ebx
jne 0x40e29d
mov dword [esi + 0xf0], ebx
lea eax, [esp + 0x10]
push str.SOMWT001
push eax
mov ecx, 0x41f248
call fcn.00402910
mov esi, dword [eax]
lea ecx, [esp + 0x14]
push str.SOMER003
push ecx
mov ecx, 0x41f248
mov byte [esp + 0x2b94], 0xe
call fcn.00402910
mov eax, dword [eax]
mov edx, dword [ebp + 0x20]
push 0x10
push esi
push eax
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov byte [esp + 0x2b8c], 1
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x60]
jmp 0x410370
push str.CSOMAuthorizeDlg.OnAuthOk_
push 0x418244
call fcn.00401710
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x1d1]
mov byte [esp + 0x1d0], 0
rep stosd dword es:[edi], eax
add esp, 8
lea ecx, [esp + 0x1c8]
stosw word es:[edi], ax
push 0x104
push ecx
push 0
stosb byte es:[edi], al
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push str.DSOHMAN
push 0
call dword [sym.imp.USER32.dll_FindWindowA]
mov ebx, dword [sym.imp.SHELL32.dll_ShellExecuteA]
test eax, eax
jne 0x40e409
push 0
push 0
push 0
mov ecx, 0x41f5b8
call fcn.004057a0
push eax
push str.open
push 0
call ebx
mov esi, eax
mov ecx, 0x41f5b8
push esi
call fcn.004057a0
push eax
push str.CSOMAuthorizeDlg.OnAuthOk.ShellExecute:___s___d_
push 0x418244
call fcn.00401710
add esp, 0x10
cmp esi, 0x20
jge 0x40e3fe
lea edx, [esp + 0x14]
push str.SOMWT001
push edx
mov ecx, 0x41f248
call fcn.00402910
mov esi, dword [eax]
lea eax, [esp + 0x10]
push str.SOMER011
push eax
mov ecx, 0x41f248
mov byte [esp + 0x2b94], 0x10
call fcn.00402910
mov eax, dword [eax]
mov ecx, dword [ebp + 0x20]
push 0x10
push esi
push eax
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x2b8c], 1
call sub.MFC42.DLL_CString::CString
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0xc5]
mov byte [esp + 0xc4], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
xor edx, edx
xor eax, eax
mov dl, byte [0x420bb7]
mov al, byte [0x420bb6]
push edx
push eax
mov eax, dword [0x420bb4]
xor ecx, ecx
mov cl, ah
and eax, 0xff
push ecx
push eax
xor edx, edx
xor eax, eax
mov dl, byte [0x420bb3]
mov al, byte [0x420bb2]
push edx
push eax
mov eax, dword [0x420bb0]
xor ecx, ecx
mov cl, ah
and eax, 0xff
push ecx
push eax
xor edx, edx
xor eax, eax
mov dl, byte [0x420baf]
mov al, byte [0x420bae]
push edx
push eax
mov eax, dword [0x420bac]
xor ecx, ecx
mov cl, ah
and eax, 0xff
push ecx
push eax
xor edx, edx
xor eax, eax
mov dl, byte [0x420bab]
mov al, byte [0x420baa]
push edx
push eax
mov eax, dword [0x420ba8]
xor ecx, ecx
mov cl, ah
and eax, 0xff
push ecx
push eax
xor edx, edx
xor eax, eax
mov dl, byte [0x420ba7]
mov al, byte [0x420ba6]
push edx
push eax
mov eax, dword [0x420ba4]
xor ecx, ecx
mov esi, dword [sym.imp.MSVCRT.dll_sprintf]
mov cl, ah
and eax, 0xff
push ecx
lea edx, [esp + 0x214]
push eax
push edx
lea eax, [esp + 0x118]
push str.__s___c_c_c_c_c_c_c_c_c_c_c_c_c_c_c_c_c_c_c_c
push eax
call esi
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x120]
rep stosd dword es:[edi], eax
xor ecx, ecx
mov cl, byte [0x420bb7]
push ecx
mov eax, dword [0x420bb4]
xor edx, edx
mov dl, byte [0x420bb6]
xor ecx, ecx
mov cl, ah
push edx
and eax, 0xff
push ecx
push eax
xor edx, edx
mov dl, byte [0x420bb3]
xor eax, eax
mov al, byte [0x420bb2]
push edx
push eax
mov eax, dword [0x420bb0]
xor ecx, ecx
xor edx, edx
mov dl, byte [0x420baf]
mov cl, ah
and eax, 0xff
push ecx
push eax
xor eax, eax
mov al, byte [0x420bae]
push edx
push eax
mov eax, dword [0x420bac]
xor ecx, ecx
xor edx, edx
mov dl, byte [0x420bab]
mov cl, ah
and eax, 0xff
push ecx
push eax
xor eax, eax
mov al, byte [0x420baa]
push edx
push eax
mov eax, dword [0x420ba8]
xor ecx, ecx
xor edx, edx
mov dl, byte [0x420ba7]
mov cl, ah
and eax, 0xff
push ecx
push eax
xor eax, eax
mov al, byte [0x420ba6]
push edx
push eax
mov eax, dword [0x420ba4]
xor ecx, ecx
lea edx, [esp + 0x26c]
mov cl, ah
and eax, 0xff
push ecx
push eax
push edx
lea eax, [esp + 0x174]
push str.__s__t_02X_02X_02X_02X_02X_02X_02X_02X_02X_02X_02X_02X_02X_02X_02X_02X_02X_02X_02X_02X
push eax
call esi
mov edx, dword [0x420ba4]
xor ecx, ecx
mov cl, byte [0x420bb7]
add esp, 0xb8
and edx, 0xff
lea eax, [esp + 0x1c8]
push ecx
push edx
push eax
push str.CSOMAuthorizeDlg.OnAuthOk::__ModuleParam___s____02X_02X_
push 0x418244
call fcn.00401710
add esp, 0x14
lea ecx, [esp + 0xc4]
push 1
push 0
push ecx
mov ecx, 0x41f5b8
call fcn.00405780
push eax
push str.open
push 0
call ebx
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
mov ecx, 0x41f5b8
call fcn.00405780
push eax
push str.CSOMAuthorizeDlg.OnAuthOk.ShellExecute:___s___d__Error:_d_
push 0x418244
call fcn.00401710
add esp, 0x14
cmp esi, 0x20
jge 0x40ec62
lea edx, [esp + 0x14]
push str.SOMWT001
push edx
mov ecx, 0x41f248
call fcn.00402910
mov edi, dword [eax]
lea eax, [esp + 0x10]
push str.SOMER011
push eax
mov ecx, 0x41f248
mov byte [esp + 0x2b94], 0x11
call fcn.00402910
mov eax, dword [eax]
mov ecx, dword [ebp + 0x20]
push 0x10
push edi
push eax
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString
mov byte [esp + 0x2b8c], 1
lea ecx, [esp + 0x14]
jmp 0x40ec5d
push 9
mov ecx, 0x420980
call fcn.0040a5c0
cmp eax, ebx
jne 0x40ec82
push 0xc
mov ecx, 0x420980
call fcn.0040a5c0
cmp eax, ebx
jne 0x40ec82
mov ecx, 0x420980
call fcn.0040a8a0
test eax, eax
je 0x40e8d7
cmp eax, 0xffffffbc
je 0x40e84a
cmp eax, 0xffffffbd
je 0x40e7b3
cmp eax, 0xffffffbe
push str.SOMWT001
je 0x40e74f
lea eax, [esp + 0x18]
mov ecx, 0x41f248
push eax
call fcn.00402910
mov esi, dword [eax]
lea ecx, [esp + 0x10]
push str.SOMER012
push ecx
mov ecx, 0x41f248
mov byte [esp + 0x2b94], 0x15
call fcn.00402910
mov eax, dword [eax]
mov edx, dword [ebp + 0x20]
push 0x10
push esi
push eax
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x2b8c], 1
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x60]
jmp 0x410370
lea eax, [esp + 0x24]
mov ecx, 0x41f248
push eax
call fcn.00402910
mov esi, dword [eax]
lea ecx, [esp + 0x2c]
push str.SOMER001
push ecx
mov ecx, 0x41f248
mov byte [esp + 0x2b94], 0x12
call fcn.00402910
mov eax, dword [eax]
mov edx, dword [ebp + 0x20]
push 0x10
push esi
push eax
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [esp + 0x2c]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x2b8c], 1
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x60]
jmp 0x410370
mov ecx, 0x41f288
call fcn.004037b0
test eax, eax
jne 0x40e7d7
push 3
mov ecx, 0x420980
call fcn.0040a5c0
cmp eax, ebx
jne 0x40e7d7
mov dword [esi + 0xf0], ebx
mov ecx, 0x420980
call fcn.0040b460
lea eax, [esp + 0x28]
push str.SOMWT001
push eax
mov ecx, 0x41f248
call fcn.00402910
mov esi, dword [eax]
lea ecx, [esp + 0x1c]
push str.SOMER002
push ecx
mov ecx, 0x41f248
mov byte [esp + 0x2b94], 0x13
call fcn.00402910
mov eax, dword [eax]
mov edx, dword [ebp + 0x20]
push 0x10
push esi
push eax
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x28]
mov byte [esp + 0x2b8c], 1
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x60]
jmp 0x410370
mov ecx, 0x41f288
call fcn.004037b0
test eax, eax
jne 0x40e86e
push 3
mov ecx, 0x420980
call fcn.0040a5c0
cmp eax, ebx
jne 0x40e86e
mov dword [esi + 0xf0], ebx
lea eax, [esp + 0x24]
push str.SOMWT001
push eax
mov ecx, 0x41f248
call fcn.00402910
mov esi, dword [eax]
lea ecx, [esp + 0x18]
push str.SOMER003
push ecx
mov ecx, 0x41f248
mov byte [esp + 0x2b94], 0x14
call fcn.00402910
mov eax, dword [eax]
mov edx, dword [ebp + 0x20]
push 0x10
push esi
push eax
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x24]
mov byte [esp + 0x2b8c], 1
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x60]
jmp 0x410370
push 0x41e6f0
push 0x418244
call fcn.00401710
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0xcd]
mov byte [esp + 0xcc], 0
rep stosd dword es:[edi], eax
add esp, 8
lea ecx, [esp + 0xc4]
stosw word es:[edi], ax
push 0x104
push ecx
push 0
stosb byte es:[edi], al
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push str.DSOHMAN
push 0
call dword [sym.imp.USER32.dll_FindWindowA]
mov ebx, dword [sym.imp.SHELL32.dll_ShellExecuteA]
test eax, eax
jne 0x40e9da
push 0
push 0
push 0
mov ecx, 0x41f5b8
call fcn.004057a0
push eax
push str.open
push 0
call ebx
mov esi, eax
mov ecx, 0x41f5b8
push esi
call fcn.004057a0
push eax
push str.CSOMAuthorizeDlg.OnAuthOk.ShellExecute:___s___d_
push 0x418244
call fcn.00401710
add esp, 0x10
cmp esi, 0x20
jge 0x40e9cf
lea edx, [esp + 0x14]
push str.SOMWT001
push edx
mov ecx, 0x41f248
call fcn.00402910
mov esi, dword [eax]
lea eax, [esp + 0x10]
push str.SOMER011
push eax
mov ecx, 0x41f248
mov byte [esp + 0x2b94], 0x16
call fcn.00402910
mov eax, dword [eax]
mov ecx, dword [ebp + 0x20]
push 0x10
push esi
push eax
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x2b8c], 1
call sub.MFC42.DLL_CString::CString
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x1c9]
mov byte [esp + 0x1c8], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
xor edx, edx
xor eax, eax
mov dl, byte [0x420bb7]
mov al, byte [0x420bb6]
push edx
push eax
mov eax, dword [0x420bb4]
xor ecx, ecx
mov cl, ah
and eax, 0xff
push ecx
push eax
xor edx, edx
xor eax, eax
mov dl, byte [0x420bb3]
mov al, byte [0x420bb2]
push edx
push eax
mov eax, dword [0x420bb0]
xor ecx, ecx
mov cl, ah
and eax, 0xff
push ecx
push eax
xor edx, edx
xor eax, eax
mov dl, byte [0x420baf]
mov al, byte [0x420bae]
push edx
push eax
mov eax, dword [0x420bac]
xor ecx, ecx
mov cl, ah
and eax, 0xff
push ecx
push eax
xor edx, edx
xor eax, eax
mov dl, byte [0x420bab]
mov al, byte [0x420baa]
push edx
push eax
mov eax, dword [0x420ba8]
xor ecx, ecx
mov cl, ah
and eax, 0xff
push ecx
push eax
xor edx, edx
xor eax, eax
mov dl, byte [0x420ba7]
mov al, byte [0x420ba6]
push edx
push eax
mov eax, dword [0x420ba4]
xor ecx, ecx
mov esi, dword [sym.imp.MSVCRT.dll_sprintf]
mov cl, ah
and eax, 0xff
push ecx
lea edx, [esp + 0x110]
push eax
push edx
lea eax, [esp + 0x21c]
push str.__s___c_c_c_c_c_c_c_c_c_c_c_c_c_c_c_c_c_c_c_c
push eax
call esi
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x224]
rep stosd dword es:[edi], eax
xor ecx, ecx
mov cl, byte [0x420bb7]
push ecx
mov eax, dword [0x420bb4]
xor edx, edx
mov dl, byte [0x420bb6]
xor ecx, ecx
mov cl, ah
push edx
and eax, 0xff
push ecx
push eax
xor edx, edx
mov dl, byte [0x420bb3]
xor eax, eax
mov al, byte [0x420bb2]
push edx
push eax
mov eax, dword [0x420bb0]
xor ecx, ecx
xor edx, edx
mov dl, byte [0x420baf]
mov cl, ah
and eax, 0xff
push ecx
push eax
xor eax, eax
mov al, byte [0x420bae]
push edx
push eax
mov eax, dword [0x420bac]
xor ecx, ecx
xor edx, edx
mov dl, byte [0x420bab]
mov cl, ah
and eax, 0xff
push ecx
push eax
xor eax, eax
mov al, byte [0x420baa]
push edx
push eax
mov eax, dword [0x420ba8]
xor ecx, ecx
xor edx, edx
mov dl, byte [0x420ba7]
mov cl, ah
and eax, 0xff
push ecx
push eax
xor eax, eax
mov al, byte [0x420ba6]
push edx
push eax
mov eax, dword [0x420ba4]
xor ecx, ecx
lea edx, [esp + 0x168]
mov cl, ah
and eax, 0xff
push ecx
push eax
push edx
lea eax, [esp + 0x278]
push str.__s__t_02X_02X_02X_02X_02X_02X_02X_02X_02X_02X_02X_02X_02X_02X_02X_02X_02X_02X_02X_02X
push eax
call esi
mov edx, dword [0x420ba4]
xor ecx, ecx
mov cl, byte [0x420bb7]
add esp, 0xb8
and edx, 0xff
lea eax, [esp + 0xc4]
push ecx
push edx
push eax
push str.CSOMAuthorizeDlg.OnAuthOk::__ModuleParam___s____02X_02X_
push 0x418244
call fcn.00401710
add esp, 0x14
lea ecx, [esp + 0x1c8]
push 1
push 0
push ecx
mov ecx, 0x41f5b8
call fcn.00405790
push eax
push str.open
push 0
call ebx
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
mov ecx, 0x41f5b8
call fcn.00405780
push eax
push str.CSOMAuthorizeDlg.OnAuthOk.ShellExecute:___s___d__Error:_d_
push 0x418244
call fcn.00401710
add esp, 0x14
cmp esi, 0x20
jge 0x40ec62
lea edx, [esp + 0x14]
push str.SOMWT001
push edx
mov ecx, 0x41f248
call fcn.00402910
mov edi, dword [eax]
lea eax, [esp + 0x10]
push str.SOMER011
push eax
mov ecx, 0x41f248
mov byte [esp + 0x2b94], 0x17
call fcn.00402910
mov eax, dword [eax]
mov ecx, dword [ebp + 0x20]
push 0x10
push edi
push eax
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString
mov byte [esp + 0x2b8c], 1
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::CString
push esi
push str.CSOMAuthorizeDlg.OnAuthOk:_IMG_VIEWER___d_
push 0x418244
call fcn.00401710
add esp, 0xc
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x60]
jmp 0x410370
push 0xc
mov ecx, 0x420980
call fcn.0040a5c0
cmp eax, ebx
jne 0x40f41a
mov ecx, 0x420980
call fcn.0040a8a0
test eax, eax
je 0x40eeb0
cmp eax, 0xffffffbc
je 0x40ee23
cmp eax, 0xffffffbd
je 0x40ed8c
cmp eax, 0xffffffbe
push str.SOMWT001
je 0x40ed28
lea eax, [esp + 0x18]
mov ecx, 0x41f248
push eax
call fcn.00402910
mov esi, dword [eax]
lea ecx, [esp + 0x10]
push str.SOMER012
push ecx
mov ecx, 0x41f248
mov byte [esp + 0x2b94], 0x1b
call fcn.00402910
mov eax, dword [eax]
mov edx, dword [ebp + 0x20]
push 0x10
push esi
push eax
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x2b8c], 1
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x60]
jmp 0x410370
lea eax, [esp + 0x24]
mov ecx, 0x41f248
push eax
call fcn.00402910
mov esi, dword [eax]
lea ecx, [esp + 0x2c]
push str.SOMER001
push ecx
mov ecx, 0x41f248
mov byte [esp + 0x2b94], 0x18
call fcn.00402910
mov eax, dword [eax]
mov edx, dword [ebp + 0x20]
push 0x10
push esi
push eax
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [esp + 0x2c]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x2b8c], 1
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x60]
jmp 0x410370
mov ecx, 0x41f288
call fcn.004037b0
test eax, eax
jne 0x40edb0
push 3
mov ecx, 0x420980
call fcn.0040a5c0
cmp eax, ebx
jne 0x40edb0
mov dword [esi + 0xf0], ebx
mov ecx, 0x420980
call fcn.0040b460
lea eax, [esp + 0x28]
push str.SOMWT001
push eax
mov ecx, 0x41f248
call fcn.00402910
mov esi, dword [eax]
lea ecx, [esp + 0x1c]
push str.SOMER002
push ecx
mov ecx, 0x41f248
mov byte [esp + 0x2b94], 0x19
call fcn.00402910
mov eax, dword [eax]
mov edx, dword [ebp + 0x20]
push 0x10
push esi
push eax
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x28]
mov byte [esp + 0x2b8c], 1
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x60]
jmp 0x410370
mov ecx, 0x41f288
call fcn.004037b0
test eax, eax
jne 0x40ee47
push 3
mov ecx, 0x420980
call fcn.0040a5c0
cmp eax, ebx
jne 0x40ee47
mov dword [esi + 0xf0], ebx
lea eax, [esp + 0x24]
push str.SOMWT001
push eax
mov ecx, 0x41f248
call fcn.00402910
mov esi, dword [eax]
lea ecx, [esp + 0x18]
push str.SOMER003
push ecx
mov ecx, 0x41f248
mov byte [esp + 0x2b94], 0x1a
call fcn.00402910
mov eax, dword [eax]
mov edx, dword [ebp + 0x20]
push 0x10
push esi
push eax
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x24]
mov byte [esp + 0x2b8c], 1
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x60]
jmp 0x410370
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x41f244
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x1664]
call fcn.00405db0
mov ecx, 0xff
xor eax, eax
lea edi, [esp + 0x2079]
mov byte [esp + 0x2078], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0xff
xor eax, eax
lea edi, [esp + 0x196d]
mov byte [esp + 0x196c], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x41f5b8
mov byte [esp + 0x2b8c], 0x1c
stosb byte es:[edi], al
call fcn.004057c0
lea ecx, [esp + 0x196c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea edx, [esp + 0x196c]
push 0x418464
push edx
call dword [sym.imp.MSVCRT.dll_fopen]
mov esi, eax
push esi
call dword [sym.imp.MSVCRT.dll_fclose]
push str.OnAuthOk:__Create
push 0x418244
call fcn.00401710
lea eax, [esp + 0x1980]
push eax
push str.OnAuthOk:__Create__s
push 0x418244
call fcn.00401710
add esp, 0x20
test esi, esi
je 0x40f075
lea ecx, [esp + 0x2078]
lea edx, [esp + 0x196c]
push ecx
push 0
push edx
call dword [sym.imp.SHELL32.dll_FindExecutableA]
cmp eax, 0x20
jb 0x40f04d
lea eax, [esp + 0x18]
lea ecx, [esp + 0x2078]
push eax
push ecx
lea ecx, [esp + 0x1668]
mov dword [esp + 0x20], 0
call fcn.00406170
mov edx, dword [esp + 0x18]
mov esi, eax
lea eax, [esp + 0x2078]
push edx
push eax
push str._File:_s_Version:__d
push 0x418244
call fcn.00401710
add esp, 0x10
cmp esi, 1
jne 0x40f04d
cmp dword [esp + 0x18], 8
jne 0x40f04d
lea ecx, [esp + 0x196c]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea edx, [esp + 0x14]
push str.SOMWT001
push edx
mov ecx, 0x41f248
call fcn.00402910
mov esi, dword [eax]
lea eax, [esp + 0x10]
push str.SOMER025
push eax
mov ecx, 0x41f248
mov byte [esp + 0x2b94], 0x1d
call fcn.00402910
mov eax, dword [eax]
push 0x10
push esi
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x2b8c], 0x1c
call sub.MFC42.DLL_CString::CString
jmp 0x40f3fe
lea eax, [esp + 0x196c]
push eax
push str.OnAuthOk:__Delete__s
push 0x418244
call fcn.00401710
add esp, 0xc
lea ecx, [esp + 0x196c]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0xc5]
mov byte [esp + 0xc4], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea edx, [esp + 0xc4]
push 0x104
push edx
push 0
stosb byte es:[edi], al
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push str.DSOHMAN
push 0
call dword [sym.imp.USER32.dll_FindWindowA]
mov ebx, dword [sym.imp.SHELL32.dll_ShellExecuteA]
test eax, eax
jne 0x40f166
push 0
push 0
push 0
mov ecx, 0x41f5b8
call fcn.004057a0
push eax
push str.open
push 0
call ebx
mov esi, eax
mov ecx, 0x41f5b8
push esi
call fcn.004057a0
push eax
push str.CSOMAuthorizeDlg.OnAuthOk.ShellExecute:___s___d_
push 0x418244
call fcn.00401710
add esp, 0x10
cmp esi, 0x20
jge 0x40f15b
lea eax, [esp + 0x14]
push str.SOMWT001
push eax
mov ecx, 0x41f248
call fcn.00402910
mov esi, dword [eax]
lea ecx, [esp + 0x10]
push str.SOMER011
push ecx
mov ecx, 0x41f248
mov byte [esp + 0x2b94], 0x1e
call fcn.00402910
mov eax, dword [eax]
mov edx, dword [ebp + 0x20]
push 0x10
push esi
push eax
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x2b8c], 0x1c
call sub.MFC42.DLL_CString::CString
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x1c9]
mov byte [esp + 0x1c8], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
xor eax, eax
xor ecx, ecx
mov al, byte [0x420bb7]
mov cl, byte [0x420bb6]
push eax
mov eax, dword [0x420bb4]
xor edx, edx
push ecx
mov dl, ah
and eax, 0xff
push edx
push eax
xor eax, eax
xor ecx, ecx
mov al, byte [0x420bb3]
mov cl, byte [0x420bb2]
push eax
mov eax, dword [0x420bb0]
xor edx, edx
push ecx
mov dl, ah
and eax, 0xff
push edx
push eax
xor eax, eax
xor ecx, ecx
mov al, byte [0x420baf]
mov cl, byte [0x420bae]
push eax
mov eax, dword [0x420bac]
xor edx, edx
push ecx
mov dl, ah
and eax, 0xff
push edx
push eax
xor eax, eax
xor ecx, ecx
mov al, byte [0x420bab]
mov cl, byte [0x420baa]
push eax
mov eax, dword [0x420ba8]
xor edx, edx
push ecx
mov dl, ah
and eax, 0xff
push edx
push eax
xor eax, eax
xor ecx, ecx
mov al, byte [0x420ba7]
mov cl, byte [0x420ba6]
push eax
mov eax, dword [0x420ba4]
xor edx, edx
mov esi, dword [sym.imp.MSVCRT.dll_sprintf]
mov dl, ah
push ecx
and eax, 0xff
push edx
push eax
lea eax, [esp + 0x114]
push eax
lea ecx, [esp + 0x21c]
push str._s_t_c_c_c_c_c_c_c_c_c_c_c_c_c_c_c_c_c_c_c_c
push ecx
call esi
xor eax, eax
xor edx, edx
mov dl, byte [0x420bb7]
mov ecx, 0x41
lea edi, [esp + 0x224]
push edx
rep stosd dword es:[edi], eax
mov al, byte [0x420bb6]
xor ecx, ecx
push eax
mov eax, dword [0x420bb4]
mov cl, ah
and eax, 0xff
push ecx
push eax
xor edx, edx
xor eax, eax
mov dl, byte [0x420bb3]
mov al, byte [0x420bb2]
push edx
push eax
mov eax, dword [0x420bb0]
xor ecx, ecx
mov cl, ah
and eax, 0xff
push ecx
push eax
xor edx, edx
xor eax, eax
mov dl, byte [0x420baf]
mov al, byte [0x420bae]
push edx
push eax
mov eax, dword [0x420bac]
xor ecx, ecx
mov cl, ah
and eax, 0xff
push ecx
push eax
xor edx, edx
xor eax, eax
mov dl, byte [0x420bab]
mov al, byte [0x420baa]
push edx
push eax
mov eax, dword [0x420ba8]
xor ecx, ecx
mov cl, ah
and eax, 0xff
push ecx
push eax
xor edx, edx
xor eax, eax
mov dl, byte [0x420ba7]
mov al, byte [0x420ba6]
push edx
push eax
mov eax, dword [0x420ba4]
xor ecx, ecx
mov cl, ah
and eax, 0xff
push ecx
lea edx, [esp + 0x16c]
push eax
push edx
lea eax, [esp + 0x278]
push str._s_t_02X_02X_02X_02X_02X_02X_02X_02X_02X_02X_02X_02X_02X_02X_02X_02X_02X_02X_02X_02X
push eax
call esi
mov edx, dword [0x420ba4]
xor ecx, ecx
mov cl, byte [0x420bb7]
add esp, 0xb8
and edx, 0xff
lea eax, [esp + 0xc4]
push ecx
push edx
push eax
push str.CSOMAuthorizeDlg.OnAuthOk::__ModuleParam___s____02X_02X_
push 0x418244
call fcn.00401710
add esp, 0x14
lea ecx, [esp + 0x1c8]
push 1
push 0
push ecx
mov ecx, 0x41f5b8
call fcn.004057b0
push eax
push str.open
push 0
call ebx
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
mov ecx, 0x41f5b8
call fcn.004057b0
push eax
push str.CSOMAuthorizeDlg.OnAuthOk.ShellExecute:___s___d__Error:_d_
push 0x418244
call fcn.00401710
add esp, 0x14
cmp esi, 0x20
jge 0x40f3eb
lea edx, [esp + 0x14]
push str.SOMWT001
push edx
mov ecx, 0x41f248
call fcn.00402910
mov edi, dword [eax]
lea eax, [esp + 0x10]
push str.SOMER011
push eax
mov ecx, 0x41f248
mov byte [esp + 0x2b94], 0x1f
call fcn.00402910
mov eax, dword [eax]
mov ecx, dword [ebp + 0x20]
push 0x10
push edi
push eax
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x2b8c], 0x1c
call sub.MFC42.DLL_CString::CString
push esi
push str.CSOMAuthorizeDlg.OnAuthOk:_OLE_VIEWER___d_
push 0x418244
call fcn.00401710
add esp, 0xc
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x60]
mov byte [esp + 0x2b8c], 1
lea ecx, [esp + 0x1660]
jmp 0x41036b
push 0x418468
push 0x420868
call dword [sym.imp.MSVCRT.dll_fopen]
mov esi, eax
add esp, 8
test esi, esi
je 0x410370
mov ecx, dword [0x420864]
xor ebx, ebx
push ebx
lea eax, [ecx + ecx*2]
shl eax, 3
sub eax, ecx
mov ecx, dword [0x41fe00]
lea eax, [eax + eax*2]
mov edx, dword [ecx + eax*4 - 0x14]
push edx
push esi
call dword [sym.imp.MSVCRT.dll_fseek]
mov eax, dword [0x420864]
add esp, 0xc
dec eax
mov ecx, 0x41f5b8
push esi
push eax
call fcn.00404bf0
push esi
call dword [sym.imp.MSVCRT.dll_fclose]
mov ecx, 0xff
xor eax, eax
lea edi, [esp + 0xe65]
mov byte [esp + 0xe64], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0xff
xor eax, eax
lea edi, [esp + 0x621]
mov byte [esp + 0x620], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0xa21]
mov byte [esp + 0xa20], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x41f244
stosb byte es:[edi], al
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x287c]
call fcn.00405db0
push ecx
mov byte [esp + 0x2b90], 0x20
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x41f244
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x1d70]
call fcn.00405db0
mov ecx, 0x41f5b8
mov byte [esp + 0x2b8c], 0x21
mov dword [esp + 0x28], ebx
mov dword [esp + 0x14], ebx
call fcn.004055d0
mov ecx, 0x41f5b8
mov ebx, eax
call fcn.004055e0
mov ecx, 0x41f288
mov dword [esp + 0x2c], eax
call fcn.004037b0
mov esi, eax
mov ecx, 0x41f5b8
mov dword [esp + 0x10], esi
call fcn.004057c0
lea ecx, [esp + 0x61c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push ebx
push str.ConnectProgram_Index__d_
push 0x418244
call fcn.00401710
add esp, 0xc
cmp ebx, 0xc
je 0x40f711
lea edx, [esp + 0xe60]
lea eax, [esp + 0x61c]
push edx
push 0
push eax
call dword [sym.imp.SHELL32.dll_FindExecutableA]
mov edi, eax
lea ecx, [esp + 0x61c]
push edi
push ecx
push str.FindExecutable:_s_Errcode:_d_
push 0x418244
call fcn.00401710
lea edx, [esp + 0xe70]
push edi
push edx
push str.FindExecutable:_s_Errcode:_d_
push 0x418244
call fcn.00401710
add esp, 0x20
test esi, esi
jne 0x40f647
cmp ebx, 6
je 0x40f67c
cmp edi, 0x20
jae 0x40f673
lea eax, [esp + 0x61c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [esp + 0x14]
push str.SOMWT001
push ecx
mov ecx, 0x41f248
call fcn.00402910
mov esi, dword [eax]
lea edx, [esp + 0x10]
push str.SOMER011
push edx
mov ecx, 0x41f248
mov byte [esp + 0x2b94], 0x22
call fcn.00402910
mov eax, dword [eax]
push 0x10
push esi
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x2b8c], 0x21
call sub.MFC42.DLL_CString::CString
jmp 0x410341
cmp esi, 1
jne 0x40f673
lea eax, [esp + 0xe60]
mov ecx, ebp
push eax
push ebx
call fcn.00410980
test eax, eax
jne 0x40f673
lea ecx, [esp + 0x61c]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x410341
cmp ebx, 6
jne 0x40f711
mov ecx, 0xff
xor eax, eax
lea edi, [esp + 0x2079]
mov byte [esp + 0x2078], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea edx, [esp + 0x2078]
push 0x400
push edx
push str.AcroRd32.exe
lea ecx, [esp + 0x1d78]
stosb byte es:[edi], al
call fcn.004061b0
cmp eax, 1
jne 0x40f711
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0xe60]
lea edx, [esp + 0xe60]
rep stosd dword es:[edi], eax
lea edi, [esp + 0x2078]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0xe60]
push ecx
push str.GetApplicationPathName_AcroRd32.exe___s_
push 0x418244
call fcn.00401710
mov esi, dword [esp + 0x1c]
add esp, 0xc
lea edx, [esp + 0x28]
lea eax, [esp + 0xe60]
push edx
push eax
lea ecx, [esp + 0x2880]
call fcn.00406170
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0xe60]
push ecx
push edx
push str.File:_s_Version:__d
push 0x418244
mov edi, eax
call fcn.00401710
add esp, 0x10
test edi, edi
je 0x40f895
cmp ebx, 8
jne 0x40f895
push ecx
lea eax, [esp + 0xe64]
mov ecx, esp
mov dword [esp + 0x14], esp
push eax
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x1664]
call fcn.00405db0
lea ecx, [esp + 0x18]
mov byte [esp + 0x2b8c], 0x23
push ecx
lea ecx, [esp + 0x1664]
call fcn.00405ea0
mov edx, dword [esp + 0x18]
mov byte [esp + 0x2b8c], 0x24
push edx
push str.File:__s
push 0x418244
call fcn.00401710
mov eax, dword [esp + 0x24]
push str.taro13.exe
push eax
call dword [sym.imp.MSVCRT.dll__mbsicmp]
add esp, 0x14
test eax, eax
je 0x40f870
push str.This_Process_taro__is_low_version
push 0x418244
call fcn.00401710
add esp, 8
lea ecx, [esp + 0x61c]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea edx, [esp + 0x14]
push str.SOMWT001
push edx
mov ecx, 0x41f248
call fcn.00402910
mov esi, dword [eax]
lea eax, [esp + 0x10]
push str.SOMER026
push eax
mov ecx, 0x41f248
mov byte [esp + 0x2b94], 0x25
call fcn.00402910
mov eax, dword [eax]
push 0x10
push esi
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x2b8c], 0x24
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x18]
mov byte [esp + 0x2b8c], 0x23
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1660]
mov byte [esp + 0x2b8c], 0x21
call fcn.00405e40
jmp 0x410341
lea ecx, [esp + 0x18]
mov byte [esp + 0x2b8c], 0x23
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1660]
mov byte [esp + 0x2b8c], 0x21
call fcn.00405e40
push str._______________________________________.1
push 0x418244
call fcn.00401710
add esp, 4
lea edx, [esp + 0x620]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x1d70]
call fcn.00405e50
lea eax, [esp + 0xa1c]
mov ecx, 0x41fcdc
push eax
push 1
call fcn.00407790
mov edi, dword [sym.imp.USER32.dll_MessageBoxA]
test eax, eax
jne 0x40f95b
lea ecx, [esp + 0x10]
push str.SOMWT001
push ecx
mov ecx, 0x41f248
call fcn.00402910
mov eax, dword [eax]
push 0x30
push eax
mov eax, dword [ebp + 0x20]
lea edx, [esp + 0xa24]
push edx
push eax
call edi
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString
test esi, esi
jne 0x40fa95
push 0xf
mov ecx, 0x420980
call fcn.0040a5c0
cmp eax, 1
jne 0x40fa95
push ebx
mov ecx, ebp
call fcn.00410d30
test eax, eax
jne 0x40f950
lea ecx, [esp + 0x61c]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x410341
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
push str._______________________________________.2
push 0x418244
call fcn.00401710
add esp, 8
mov ecx, 0x420980
push 2
call fcn.0040a5c0
cmp eax, 1
je 0x40f9a4
push 4
mov ecx, 0x420980
call fcn.0040a5c0
cmp eax, 1
je 0x40f9a4
push 5
mov ecx, 0x420980
call fcn.0040a5c0
cmp eax, 1
jne 0x40faa8
lea eax, [esp + 0xb20]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 3
mov ecx, 0x420980
call fcn.0040a5c0
push eax
push esi
push str._CSOMAuthorizeDlg::OnAuth__CheckOpenAbleAcl__FALSE__nProductVersion___d__ACL_DESTROY___d
push 0x418244
call fcn.00401710
add esp, 0x10
mov ecx, 0x420980
call fcn.0040a8a0
test eax, eax
je 0x40faa8
lea ecx, [esp + 0x61c]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 3
mov ecx, 0x420980
call fcn.0040a5c0
push eax
push esi
push str._CSOMAuthorizeDlg::OnAuth__CheckOpenAbleAcl__FALSE__nProductVersion___d__ACL_DESTROY___d
push 0x418244
call fcn.00401710
add esp, 0x10
test esi, esi
jne 0x40fa38
push 3
mov ecx, 0x420980
call fcn.0040a5c0
cmp eax, 1
jne 0x40fa38
mov edx, dword [esp + 0x1c]
mov dword [edx + 0xf0], eax
lea eax, [esp + 0x14]
push str.SOMWT001
push eax
mov ecx, 0x41f248
call fcn.00402910
mov esi, dword [eax]
lea ecx, [esp + 0x10]
push str.SOMER003
push ecx
mov ecx, 0x41f248
mov byte [esp + 0x2b94], 0x26
call fcn.00402910
mov eax, dword [eax]
mov edx, dword [ebp + 0x20]
push 0x10
push esi
push eax
push edx
call edi
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x2b8c], 0x21
call sub.MFC42.DLL_CString::CString
jmp 0x410341
lea edx, [esp + 0x61c]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x410341
push str._______________________________________.3
push 0x418244
call fcn.00401710
add esp, 8
mov ecx, ebp
call fcn.00410500
test eax, eax
jne 0x40fb2e
lea eax, [esp + 0x61c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [esp + 0x14]
push str.SOMWT001
push ecx
mov ecx, 0x41f248
call fcn.00402910
mov esi, dword [eax]
lea edx, [esp + 0x10]
push str.SOMER010
push edx
mov ecx, 0x41f248
mov byte [esp + 0x2b94], 0x27
call fcn.00402910
mov eax, dword [eax]
push 0x10
push esi
push eax
push 0
call edi
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x2b8c], 0x21
call sub.MFC42.DLL_CString::CString
jmp 0x410341
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
mov ecx, ebp
call sub.MFC42.DLL_CWnd::ShowWindow
cmp ebx, 1
je 0x40fb5b
cmp ebx, 6
je 0x40fb5b
cmp ebx, 9
je 0x40fb5b
cmp ebx, 0xc
je 0x40fb5b
cmp ebx, 7
jne 0x40fb62
mov edi, 1
jmp 0x40fb66
mov edi, dword [esp + 0x14]
cmp dword [esp + 0x2c], 1
jne 0x40fb89
mov eax, dword [ebp + 0x268]
test eax, eax
jne 0x40fb89
push str.REGISTER_OFFICE_ADDIN
push 0x418244
call fcn.00401710
add esp, 8
mov esi, dword [esp + 0x20]
test esi, esi
je 0x40fc0c
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::CString_1
lea eax, [esp + 0x61c]
lea ecx, [esp + 0x18]
push eax
push 0x41a380
push ecx
mov byte [esp + 0x2b98], 0x28
call sub.MFC42.DLL_CString::Format
mov edx, dword [esp + 0x24]
mov eax, dword [edx - 8]
push eax
push str.SendMessage_SDSMAN_MSG_SOM_ADDFILE__d___
push 0x418244
call fcn.00401710
mov eax, dword [esp + 0x30]
mov dword [esp + 0x48], 0x54a
add esp, 0x18
mov ecx, dword [eax - 8]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x30]
inc ecx
push eax
push 0
push 0x4a
push esi
mov dword [esp + 0x44], ecx
call dword [sym.imp.USER32.dll_SendMessageA]
lea ecx, [esp + 0x18]
mov byte [esp + 0x2b8c], 0x21
call sub.MFC42.DLL_CString::CString
push str._______________________________________.4
push 0x418244
call fcn.00401710
add esp, 8
cmp edi, 1
jne 0x41003e
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_1
cmp ebx, edi
mov byte [esp + 0x2b8c], 0x29
je 0x40ff0b
cmp ebx, 6
je 0x40ff0b
cmp ebx, 9
jne 0x40fcc1
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0xc4]
push 0x104
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xc8]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
mov edi, str.mspaint.exe
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xc4]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea eax, [esp + 0x61c]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0xc8]
lea edx, [esp + 0x28]
push ecx
push str.__s____s_
push edx
jmp 0x40ff25
cmp ebx, 7
jne 0x40fd39
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0xc4]
push 0x104
rep stosd dword es:[edi], eax
lea eax, [esp + 0xc8]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
mov edi, str._notepad.exe
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xc4]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea eax, [esp + 0x61c]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0xc8]
lea edx, [esp + 0x28]
push ecx
push str.__s____s_
push edx
jmp 0x40ff25
cmp ebx, 0xc
jne 0x40fefb
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x1c8]
push 0x80000002
rep stosd dword es:[edi], eax
mov ecx, 0x41
lea edi, [esp + 0xc8]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x48]
call fcn.00408b10
mov bl, 0x2a
lea ecx, [esp + 0x18]
mov byte [esp + 0x2b8c], bl
call sub.MFC42.DLL_CString::CString_1
push str.SOFTWAREMicrosoftMediaPlayer
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2b90], 0x2b
call sub.MFC42.DLL_CString::operator
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x44]
push eax
push 0x80000002
call fcn.00408c40
mov esi, dword [sym.imp.MSVCRT.dll_sprintf]
cmp eax, 1
jne 0x40fdda
lea ecx, [esp + 0x1c8]
push 0x104
push ecx
push str.Installation_Directory
lea ecx, [esp + 0x50]
call fcn.00408d10
lea ecx, [esp + 0x44]
call fcn.00408c90
jmp 0x40fe4c
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0xb20]
lea edx, [esp + 0xb20]
push 0x104
push edx
rep stosd dword es:[edi], eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
push ecx
lea eax, [esp + 0xb24]
mov ecx, esp
mov dword [esp + 0x14], esp
push eax
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x1d70]
call fcn.00405e50
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x1d70]
call fcn.00405f50
mov eax, dword [eax]
lea edx, [esp + 0x1c8]
push eax
push str._sProgram_FilesWindows_Media_Player
push edx
call esi
add esp, 0xc
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString
lea eax, [esp + 0x1c8]
lea ecx, [esp + 0xc4]
push eax
push str._swmplayer.exe
push ecx
call esi
lea edx, [esp + 0xd0]
push 0
push edx
call dword [sym.imp.MSVCRT.dll__access]
add esp, 0x14
cmp eax, 0xffffffff
jne 0x40fea5
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0xc4]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x1c8]
lea ecx, [esp + 0xc4]
push eax
push str._smplayer2.exe
push ecx
call esi
add esp, 0xc
lea edx, [esp + 0xc4]
push str.c:dssom.avi
push edx
lea eax, [esp + 0x2c]
push str.__s____s_
push eax
call sub.MFC42.DLL_CString::Format
mov ecx, dword [esp + 0x34]
push ecx
push str.WMPLAYER:__s
push 0x418244
call fcn.00401710
add esp, 0x1c
lea ecx, [esp + 0x18]
mov byte [esp + 0x2b8c], bl
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x44]
mov byte [esp + 0x2b8c], 0x29
call fcn.00408b90
jmp 0x40ff2d
push 0x41f244
lea ecx, [esp + 0x28]
call sub.MFC42.DLL_CString::operator
jmp 0x40ff2d
lea edx, [esp + 0x61c]
lea eax, [esp + 0xe60]
push edx
push eax
lea ecx, [esp + 0x2c]
push str.__s____s_
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0x10
mov edx, dword [esp + 0x24]
push edx
push str.CreateProcess:_CmdLine_____s_
push 0x418244
call fcn.00401710
mov ecx, 0x11
xor eax, eax
lea edi, [esp + 0x2d8]
add esp, 0xc
rep stosd dword es:[edi], eax
mov dword [esp + 0x30], eax
lea ecx, [esp + 0x30]
mov dword [esp + 0x34], eax
lea edx, [esp + 0x2cc]
mov dword [esp + 0x38], eax
push ecx
push edx
push eax
push eax
push eax
push eax
push eax
mov dword [esp + 0x58], eax
push eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x2ec], 0x44
push eax
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
jne 0x41002d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.CreateProcess:_CreateProcess_Error____Code:_d_
push 0x418244
call fcn.00401710
mov eax, dword [ebp + 0x194]
add esp, 0xc
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [esp + 0x14]
push str.SOMWT001
push ecx
mov ecx, 0x41f248
call fcn.00402910
mov esi, dword [eax]
lea edx, [esp + 0x10]
push str.SOMER011
push edx
mov ecx, 0x41f248
mov byte [esp + 0x2b94], 0x2c
call fcn.00402910
mov eax, dword [eax]
push 0x10
push esi
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x2b8c], 0x29
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x24]
mov byte [esp + 0x2b8c], 0x21
call sub.MFC42.DLL_CString::CString
jmp 0x410341
mov byte [esp + 0x2b8c], 0x21
lea ecx, [esp + 0x24]
jmp 0x410219
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0xc5]
mov byte [esp + 0xc4], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x41f244
lea ecx, [esp + 0x1c]
stosb byte es:[edi], al
call sub.MFC42.DLL_CString::CString_2
lea eax, [esp + 0x61c]
lea ecx, [esp + 0x18]
push eax
push str.__s_
push ecx
mov byte [esp + 0x2b98], 0x2d
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea edx, [esp + 0x10]
lea ecx, [esp + 0x1d6c]
push edx
call fcn.00406000
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
lea ecx, [esp + 0x10]
mov esi, eax
call sub.MFC42.DLL_CString::CString
lea eax, [esp + 0xc4]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea ecx, [esp + 0xc4]
push ecx
push esi
push str.SetCurrentDirectory:_____d___s_
push 0x418244
call fcn.00401710
add esp, 0x10
cmp ebx, 2
je 0x41020d
lea edx, [ebp + 0x138]
mov ecx, 0xf
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
lea eax, [esp + 0x61c]
push edx
mov dword [edx], 0x3c
mov dword [ebp + 0x13c], 0x40
mov dword [ebp + 0x144], str.open
mov dword [ebp + 0x148], eax
mov dword [ebp + 0x154], 1
call dword [sym.imp.SHELL32.dll_ShellExecuteExA]
lea ecx, [esp + 0x61c]
mov esi, eax
push ecx
push str.ShellExecute:__FileName___s_
push 0x418244
call fcn.00401710
add esp, 0xc
test esi, esi
jne 0x41020d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
push str.ShellExecute:__Error____Code:_d_
push 0x418244
call fcn.00401710
add esp, 0xc
sub esi, 2
je 0x41018b
dec esi
je 0x410184
sub esi, 0x480
jne 0x41019d
push str.ShellExecute:_Error_Association
jmp 0x410190
push str.ShellExecute:_Error_Path_Not_Found
jmp 0x410190
push str.ShellExecute:_Error_File_Not_Found
push 0x418244
call fcn.00401710
add esp, 8
lea edx, [esp + 0x14]
push str.SOMWT001
push edx
mov ecx, 0x41f248
call fcn.00402910
mov esi, dword [eax]
lea eax, [esp + 0x10]
push str.SOMER011
push eax
mov ecx, 0x41f248
mov byte [esp + 0x2b94], 0x2e
call fcn.00402910
mov eax, dword [eax]
push 0x10
push esi
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x2b8c], 0x2d
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x18]
mov byte [esp + 0x2b8c], 0x21
call sub.MFC42.DLL_CString::CString
jmp 0x410341
mov byte [esp + 0x2b8c], 0x21
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::CString
mov edi, dword [sym.imp.USER32.dll_FindWindowA]
push str.DSSOMMANAGER
push 0
call edi
mov ebx, eax
test ebx, ebx
jne 0x410261
mov ecx, ebp
call fcn.00410500
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
xor esi, esi
push str.DSSOMMANAGER
push 0
call edi
mov ebx, eax
test ebx, ebx
jne 0x410261
inc esi
cmp esi, 5
jl 0x410247
jmp 0x410341
push str.SendMessage_DSSomManger_MSG_SOM_ADDFILE__
push 0x418244
call fcn.00401710
add esp, 8
mov ecx, ebp
call fcn.004103c0
mov edx, eax
lea edi, [esp + 0x61c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
lea esi, [esp + 0xc24]
sub edi, ecx
mov eax, ecx
mov dword [esp + 0x10], esi
mov esi, edi
mov edi, dword [esp + 0x10]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [0x420b18]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [0x420b14]
mov dword [esp + 0xe28], eax
mov eax, dword [0x420b20]
mov dword [esp + 0xe24], ecx
mov ecx, dword [0x420b1c]
mov dword [esp + 0xe30], eax
mov dword [esp + 0xe2c], ecx
mov ecx, 0x420980
mov dword [esp + 0xe5c], edx
call fcn.0040a5f0
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xe34]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x30]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push edx
and ecx, 3
push 0
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0xc2c]
push 0x4a
push ebx
mov dword [esp + 0x40], 0x6be
mov dword [esp + 0x44], 0x23c
mov dword [esp + 0x48], ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, ebp
call sub.MFC42.DLL_CDialog::OnOK
lea ecx, [esp + 0x1d6c]
mov byte [esp + 0x2b8c], 0x20
call fcn.00405e40
mov byte [esp + 0x2b8c], 1
lea ecx, [esp + 0x2878]
call fcn.00405e40
lea ecx, [esp + 0x310]
mov byte [esp + 0x2b8c], 0
call fcn.00405e40
lea ecx, [esp + 0x64]
mov dword [esp + 0x2b8c], 0xffffffff
call fcn.00412530
mov ecx, dword [esp + 0x2b84]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x2b80
ret