Function at 0x4294b0
Capabilities:
Check if file exists
Create process on windows
Get file attributes
Persist via default file association registry key
Read .ini file
Set registry value

Disassembly:
push 0xffffffffffffffff
push 0x49a8ef
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x290
mov eax, dword [0x4bc410]
xor eax, esp
push esi
mov dword [esp + 0x20], ecx
xor esi, esi
lea ecx, [esp + 0x18]
mov dword [esp + 0x290], eax
mov dword [esp + 0x14], esi
call dword [0x49f754]
push 0x104
lea eax, [esp + 0x8c]
push eax
push esi
mov dword [esp + 0x2a8], esi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x429521
lea ecx, [esp + 0x18]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov eax, 1
jmp 0x429fd1
push ebx
push ebp
push edi
lea ecx, [esp + 0x94]
push ecx
lea ecx, [esp + 0x28]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_3]
lea ecx, [esp + 0x1c]
call dword [0x49f754]
lea ecx, [esp + 0x10]
call dword [0x49f754]
mov dword [esp + 0x14], esi
mov dword [esp + 0x30], esi
push str.configclienttype.ini
lea edx, [esp + 0x1c]
push 0x4bc618
push edx
mov byte [esp + 0x2b4], 4
call fcn.00401050
add esp, 0xc
mov ecx, eax
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
push esi
push str.checkexistversion
push str.clienttype
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea ecx, [esp + 0x18]
mov edi, eax
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov ebp, dword [sym.imp.MSVCR71.dll_strrchr]
cmp edi, esi
mov edi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
je 0x42989a
push esi
push 0x3a
mov ecx, 0x4bd0e4
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Find_1]
cmp eax, esi
jle 0x4295e1
push eax
lea eax, [esp + 0x38]
push eax
mov ecx, 0x4bd0e4
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Left]
mov ebx, 1
mov byte [esp + 0x2a8], 5
mov dword [esp + 0x20], ebx
jmp 0x429607
push 0x4a512c
lea ecx, [esp + 0x1c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_3]
mov dword [esp + 0x20], 2
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x2a8], 6
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x20]
push str._s_shellopencommand
push ecx
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Format]
add esp, 0xc
test bl, 2
je 0x429633
and ebx, 0xfffffffd
lea ecx, [esp + 0x18]
mov dword [esp + 0x20], ebx
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
test bl, 1
mov dword [esp + 0x2a8], 4
je 0x429654
and ebx, 0xfffffffe
lea ecx, [esp + 0x34]
mov dword [esp + 0x20], ebx
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
push 0x20019
lea ecx, [esp + 0x20]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
push Ordinal_1
lea ecx, [esp + 0x20]
call fcn.00426930
test eax, eax
jne 0x429889
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x98]
push eax
push 0x4a095c
lea ecx, [esp + 0x20]
mov dword [esp + 0x24], 0x104
call fcn.00426980
test eax, eax
jne 0x429889
lea ecx, [esp + 0x94]
push 0x25
push ecx
call ebp
add esp, 8
test eax, eax
je 0x429889
mov byte [eax - 1], 0
xor eax, eax
jmp 0x4296d0
mov cl, byte [esp + eax + 0x94]
mov byte [esp + eax + 0x198], cl
inc eax
test cl, cl
jne 0x4296d0
lea edx, [esp + 0x198]
push 0x5c
push edx
call ebp
add esp, 8
test eax, eax
je 0x4296f9
mov byte [eax], 0
lea eax, [esp + 0x198]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x429703
sub eax, edx
mov esi, eax
lea eax, [esp + 0x94]
push eax
lea ecx, [esp + 0x28]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Compare]
test eax, eax
je 0x429771
push esi
lea ecx, [esp + 0x38]
push ecx
lea ecx, [esp + 0x2c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Left]
lea edx, [esp + 0x198]
or ebx, 4
push edx
mov ecx, eax
mov dword [esp + 0x24], ebx
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
call dword [sym.imp.MSVCR71.dll__stricmp]
add esp, 8
test eax, eax
je 0x429771
lea eax, [esp + 0x94]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
mov byte [esp + 0x2b], 1
jne 0x429776
mov byte [esp + 0x2b], 0
test bl, 4
je 0x42978c
and ebx, 0xfffffffb
lea ecx, [esp + 0x34]
mov dword [esp + 0x20], ebx
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov al, byte [esp + 0x2b]
test al, al
je 0x429889
lea ecx, [esp + 0x14]
call fcn.00426910
lea ecx, [esp + 0x94]
push ecx
lea edx, [esp + 0x20]
push 0x4a50c8
push edx
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Format]
add esp, 0xc
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call sub.MFC71.DLL_CWnd::FromHandle
mov ecx, dword [esp + 0x2c]
add ecx, 0xc4
mov esi, eax
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
push 0
lea ecx, [esp + 0x24]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
push esi
call fcn.0048f5d0
add esp, 0x10
xor eax, eax
mov ecx, 0x11
lea edi, [esp + 0x50]
rep stosd dword es:[edi], eax
mov dword [esp + 0x3c], eax
lea ecx, [esp + 0x3c]
push ecx
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
lea edx, [esp + 0x54]
push edx
push eax
push eax
push eax
push eax
push eax
push eax
mov dword [esp + 0x68], eax
lea eax, [esp + 0xb4]
push eax
push 0
mov dword [esp + 0x78], 0x44
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
mov eax, dword [esp + 0x40]
test eax, eax
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
je 0x429847
push eax
call esi
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x429852
push eax
call esi
lea ecx, [esp + 0x30]
call fcn.00428e80
lea ecx, [esp + 0x14]
call fcn.00428e80
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esp + 0x1c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esp + 0x24]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
xor eax, eax
jmp 0x429fce
mov esi, dword [esp + 0x14]
test esi, esi
je 0x42989a
push esi
call edi
xor esi, esi
mov dword [esp + 0x14], esi
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x1c]
push edx
push 0
push 0x2001f
push 0
push 0
push 0
push str..jiaf
push Ordinal_1
mov dword [esp + 0x3c], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
mov ebp, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
jne 0x42995a
xor eax, eax
test esi, esi
je 0x4298e0
push esi
call edi
test eax, eax
mov esi, dword [esp + 0x18]
mov dword [esp + 0x14], esi
jne 0x42995a
push str.JiaFilm.Document
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_3]
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::GetLength]
mov edi, eax
lea ecx, [esp + 0x10]
inc edi
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push edi
push eax
push 1
push 0
push 0x4a095c
push esi
call ebp
push str.application_x_jiafilm_download
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_3]
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::GetLength]
mov edi, eax
lea ecx, [esp + 0x10]
inc edi
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push edi
push eax
push 1
push 0
push str.Content_Type
push esi
call ebp
mov edi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test esi, esi
je 0x429967
push esi
call edi
xor esi, esi
mov dword [esp + 0x14], esi
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x1c]
push ecx
push 0
push 0x2001f
push 0
push 0
push 0
push str..jias
push Ordinal_1
mov dword [esp + 0x3c], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x429a1f
test esi, esi
je 0x4299a5
push esi
call edi
test eax, eax
mov esi, dword [esp + 0x18]
mov dword [esp + 0x14], esi
jne 0x429a1f
push str.JiaFilm.Document
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_3]
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::GetLength]
mov edi, eax
lea ecx, [esp + 0x10]
inc edi
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push edi
push eax
push 1
push 0
push 0x4a095c
push esi
call ebp
push str.application_x_jiafilm_vod
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_3]
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::GetLength]
mov edi, eax
lea ecx, [esp + 0x10]
inc edi
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push edi
push eax
push 1
push 0
push str.Content_Type
push esi
call ebp
mov edi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test esi, esi
je 0x429a2c
push esi
call edi
xor esi, esi
mov dword [esp + 0x14], esi
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x1c]
push eax
push 0
push 0x2001f
push 0
push 0
push 0
push str.JiaFilm.Document
push Ordinal_1
mov dword [esp + 0x3c], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x429b98
test esi, esi
je 0x429a6a
push esi
call edi
test eax, eax
mov esi, dword [esp + 0x18]
mov dword [esp + 0x14], esi
jne 0x429b98
push str.JiaFilm_Document
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_3]
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::GetLength]
mov edi, eax
lea ecx, [esp + 0x10]
inc edi
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push edi
push eax
push 1
push 0
push 0x4a095c
push esi
call ebp
push 4
lea ecx, [esp + 0x3c]
push ecx
push 4
push 0
push str.EditFlags
push esi
mov dword [esp + 0x50], 0x10000
call ebp
push 4
lea edx, [esp + 0x3c]
push edx
push 4
push 0
push str.BrowserFlags
push esi
mov dword [esp + 0x50], 8
call ebp
mov eax, dword [esp + 0x24]
push eax
lea ecx, [esp + 0x20]
push str._s_0
push ecx
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Format]
add esp, 0xc
push 0
lea ecx, [esp + 0x20]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
push str.DefaultIcon
lea ecx, [esp + 0x20]
call fcn.00428ea0
push 0
push 0x4a1f40
push str.shell
lea ecx, [esp + 0x20]
call fcn.00428ea0
mov edx, dword [esp + 0x24]
push edx
lea eax, [esp + 0x20]
push str._s___1
push eax
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Format]
add esp, 0xc
push 0
lea ecx, [esp + 0x20]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
push str.shellopen
lea ecx, [esp + 0x20]
call fcn.00428ea0
mov ecx, dword [esp + 0x24]
push ecx
lea edx, [esp + 0x20]
push str._s___1
push edx
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Format]
add esp, 0xc
push 0
lea ecx, [esp + 0x20]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
push str.shellopencommand
lea ecx, [esp + 0x20]
call fcn.00428ea0
mov edi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test esi, esi
je 0x429ba5
push esi
call edi
xor esi, esi
mov dword [esp + 0x14], esi
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x1c]
push ecx
push 0
push 0x2001f
push 0
push 0
push 0
push str.MIMEDatabaseContent_Type_application_x_jiafilm_download
push Ordinal_1
mov dword [esp + 0x3c], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x429c25
test esi, esi
je 0x429bdf
push esi
call edi
test eax, eax
mov esi, dword [esp + 0x18]
mov dword [esp + 0x14], esi
jne 0x429c25
push str..jiaf
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_3]
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::GetLength]
mov edi, eax
lea ecx, [esp + 0x10]
inc edi
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push edi
push eax
push 1
push 0
push str.Extension
push esi
call ebp
mov edi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test esi, esi
je 0x429c32
push esi
call edi
xor esi, esi
mov dword [esp + 0x14], esi
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x1c]
push eax
push 0
push 0x2001f
push 0
push 0
push 0
push str.MIMEDatabaseContent_Type_application_x_jiafilm_vod
push Ordinal_1
mov dword [esp + 0x3c], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x429cb2
test esi, esi
je 0x429c6c
push esi
call edi
test eax, eax
mov esi, dword [esp + 0x18]
mov dword [esp + 0x14], esi
jne 0x429cb2
push str..jias
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_3]
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::GetLength]
mov edi, eax
lea ecx, [esp + 0x10]
inc edi
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push edi
push eax
push 1
push 0
push str.Extension
push esi
call ebp
mov edi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test esi, esi
je 0x429cbf
push esi
call edi
xor esi, esi
mov dword [esp + 0x14], esi
push 0
push 0x3a
mov ecx, 0x4bd0e4
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Find_1]
mov ebx, eax
test ebx, ebx
jle 0x429cee
push ebx
lea ecx, [esp + 0x38]
push ecx
mov ecx, 0x4bd0e4
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Left]
mov ecx, dword [esp + 0x20]
or ecx, 8
jmp 0x429d04
push str.jiaf
lea ecx, [esp + 0x30]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT_3]
mov ecx, dword [esp + 0x20]
or ecx, 0x10
mov dword [esp + 0x20], ecx
mov ecx, eax
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
lea edx, [esp + 0x4c]
push edx
lea ecx, [esp + 0x1c]
push ecx
push 0
push 0x2001f
push 0
push 0
push 0
push eax
push Ordinal_1
mov dword [esp + 0x3c], 0
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
mov edi, eax
test edi, edi
jne 0x429d56
test esi, esi
je 0x429d4c
push esi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov esi, dword [esp + 0x18]
mov edi, eax
mov dword [esp + 0x14], esi
test byte [esp + 0x20], 0x10
je 0x429d72
mov eax, dword [esp + 0x20]
and eax, 0xffffffef
lea ecx, [esp + 0x2c]
mov dword [esp + 0x20], eax
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
test byte [esp + 0x20], 8
mov dword [esp + 0x2a8], 4
je 0x429d8e
lea ecx, [esp + 0x34]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
test edi, edi
jne 0x429f8a
push str.URL:_ppfilm_protocol
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_3]
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::GetLength]
mov edi, eax
lea ecx, [esp + 0x10]
inc edi
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push edi
push eax
push 1
push 0
push 0x4a095c
push esi
call ebp
push 0x4a095c
lea ecx, [esp + 0x14]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::operator_3]
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::GetLength]
mov edi, eax
lea ecx, [esp + 0x10]
inc edi
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push edi
push eax
push 1
push 0
push str.URL_protocol
push esi
call ebp
mov edx, dword [esp + 0x24]
push edx
lea eax, [esp + 0x20]
push str._s___1
push eax
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Format]
add esp, 0xc
push 0
lea ecx, [esp + 0x20]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
push str.DefaultIcon
lea ecx, [esp + 0x20]
call fcn.00428ea0
push 0
push 0x4a1f40
push str.shell
lea ecx, [esp + 0x20]
call fcn.00428ea0
push 0
push 0x4a095c
push str.shellopen
lea ecx, [esp + 0x20]
call fcn.00428ea0
mov ecx, dword [esp + 0x24]
push ecx
lea edx, [esp + 0x20]
push str._s___1
push edx
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Format]
add esp, 0xc
push ebx
lea eax, [esp + 0x30]
push eax
mov ecx, 0x4bd0e4
mov edi, 1
mov dword [esp + 0x20], 0x104
mov byte [esp + 0x1a0], 0
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Left]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x20]
push str._s_shellopencommand
push edx
mov byte [esp + 0x2b4], 8
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Format]
add esp, 0xc
mov byte [esp + 0x2a8], 4
lea ecx, [esp + 0x2c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
push 0x2001f
lea ecx, [esp + 0x20]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
push Ordinal_1
lea ecx, [esp + 0x3c]
call fcn.00426930
test eax, eax
jne 0x429f3a
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x19c]
push ecx
push 0x4a095c
lea ecx, [esp + 0x3c]
call fcn.00426980
test eax, eax
jne 0x429f3a
lea edx, [esp + 0x198]
push 0x25
push edx
call dword [sym.imp.MSVCR71.dll_strrchr]
add esp, 8
test eax, eax
je 0x429f25
mov byte [eax - 1], 0
lea eax, [esp + 0x198]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x429f3a
xor edi, edi
mov ebx, dword [esp + 0x30]
test ebx, ebx
mov ebp, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
je 0x429f51
push ebx
call ebp
xor ebx, ebx
mov dword [esp + 0x30], ebx
mov ecx, dword [esp + 0x24]
push ecx
lea edx, [esp + 0x20]
push str._s___1
push edx
call dword [sym.imp.MFC71.DLL_ATL::CStringT::Format]
add esp, 0xc
test edi, edi
je 0x429f94
push 0
lea ecx, [esp + 0x20]
call dword [sym.imp.MFC71.DLL_ATL::CSimpleStringT::operator_char_const_]
push eax
push str.shellopencommand
lea ecx, [esp + 0x20]
call fcn.00428ea0
jmp 0x429f94
mov ebp, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ebx, dword [esp + 0x30]
test esi, esi
je 0x429f9d
push esi
call ebp
xor esi, esi
test ebx, ebx
je 0x429fa4
push ebx
call ebp
test esi, esi
je 0x429fab
push esi
call ebp
lea ecx, [esp + 0x10]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esp + 0x1c]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
lea ecx, [esp + 0x24]
call dword [sym.imp.MFC71.DLL_ATL::CStringT::CStringT]
mov eax, 1
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 0x294]
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x290]
pop esi
xor ecx, esp
call fcn.00496ace
add esp, 0x29c
ret