Function at 0x40e3a0
Capabilities:
Copy file
Create directory
Create process on windows
Create process suspended
Delete file
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x43ddff
push eax
mov eax, 0x4c34
mov dword fs:[0], esp
call fcn.00430620
mov ecx, dword [ebp + 8]
push ebx
push esi
push edi
test ecx, ecx
je 0x40f962
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x40f962
xor eax, eax
xor edx, edx
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], eax
mov al, byte [edi + 0x4ea]
mov dword [esp + 0xd8], edx
mov dword [esp + 0xdc], edx
test al, al
mov dword [esp + 0xe0], edx
lea eax, [edi + 0x248]
mov dword [esp + 0xe4], edx
push eax
je 0x40e503
lea edx, [edi + 0x4eb]
lea eax, [edi + 0x48]
push edx
push eax
call dword [sym.imp.VzSatData.dll_public:_class_CVzSatTLA____thiscall_CVzSatPro::GetTLA_char_const___char_const___char_const__]
mov esi, eax
test esi, esi
je 0x40f962
push 2
lea ecx, [esp + 0x68]
push 0
push ecx
mov ecx, esi
call dword [sym.imp.VzSatData.dll_public:_int___thiscall_CVzSatTLA::GetAtf_double___enum_CVzSatTLA::_SIGHT__enum_CVzSatTLA::_SIGHT_]
lea edx, [esp + 0x5c]
lea eax, [esp + 0x94]
lea ebx, [edi + 0x448]
push edx
push eax
lea ecx, [esp + 0x6c]
push ebx
push ecx
mov ecx, edi
call dword [sym.imp.VzSatData.dll_public:_void___thiscall_CSubModelData::Affine2Offset_double_const___class_CFltRect_const___double___double__]
fld qword [esp + 0x94]
push 1
lea edx, [esp + 0x68]
fstp dword [esp + 0xd0]
fld qword [esp + 0x60]
push 0
push edx
fstp dword [esp + 0xe4]
mov ecx, esi
call dword [sym.imp.VzSatData.dll_public:_int___thiscall_CVzSatTLA::GetAtf_double___enum_CVzSatTLA::_SIGHT__enum_CVzSatTLA::_SIGHT_]
lea eax, [esp + 0x5c]
lea ecx, [esp + 0x94]
push eax
push ecx
lea edx, [esp + 0x6c]
push ebx
push edx
mov ecx, edi
call dword [sym.imp.VzSatData.dll_public:_void___thiscall_CSubModelData::Affine2Offset_double_const___class_CFltRect_const___double___double__]
fld qword [esp + 0x94]
mov edi, dword [sym.imp.VzSatData.dll_public:_class_CVzSatPhoto____thiscall_CVzSatTLA::GetPhoto_enum_CVzSatTLA::_SIGHT_]
push 0
fstp dword [esp + 0xd4]
fld qword [esp + 0x60]
mov ecx, esi
fstp dword [esp + 0xe0]
call edi
push 2
mov ecx, esi
mov dword [esp + 0x14], eax
call edi
push 1
mov ecx, esi
mov dword [esp + 0x1c], eax
call edi
mov dword [esp + 0xb4], eax
jmp 0x40e54e
add edi, 0x48
push edi
call dword [sym.imp.VzSatData.dll_public:_class_CVzSatModel____thiscall_CVzSatPro::GetModel_char_const___char_const__]
mov esi, eax
test esi, esi
je 0x40f962
lea ecx, [esp + 0xd8]
lea edx, [esp + 0xcc]
push ecx
push edx
mov ecx, esi
call dword [sym.imp.VzSatData.dll_public:_void___thiscall_CVzSatModel::GetParallax_float___float__]
mov eax, dword [esi + 0x368]
mov ecx, dword [esi + 0x36c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0xb4], 0
push 0x452670
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString_1
mov edx, 0x4425bc
add esi, 0x15c
mov ecx, 0x106
xor eax, eax
lea edi, [esp + 0x9a0]
mov dword [esp + 0x9a0], edx
mov dword [esp + 0x4c48], 0
mov dword [esp + 0x110], esi
rep stosd dword es:[edi], eax
mov ecx, 0x106
lea edi, [esp + 0x588]
mov dword [esp + 0x588], edx
rep stosd dword es:[edi], eax
mov edx, dword [ebp + 8]
or ecx, 0xffffffff
mov ebx, dword [sym.imp.MSVCRT.dll_sprintf]
mov byte [esp + 0x4c48], 2
lea edi, [edx + 0x208]
lea edx, [esp + 0x1fd0]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x4240]
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 + 0x1fd0]
push ecx
push str._sModels
push edx
call ebx
add esp, 0xc
lea eax, [esp + 0x4240]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov ecx, dword [ebp + 0xc]
xor eax, eax
lea edx, [esp + 0x164]
push str._Strip
lea edi, [ecx + 8]
or ecx, 0xffffffff
mov dword [esp + 0x18], edi
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 + 0x168]
push ecx
call dword [sym.imp.MSVCRT.dll_strstr]
add esp, 8
test eax, eax
je 0x40e653
mov byte [eax], 0
lea edx, [esp + 0x164]
lea eax, [esp + 0x4240]
push edx
push eax
lea ecx, [esp + 0x12c0]
push str._s_s
push ecx
call ebx
mov esi, dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
add esp, 0x10
lea edx, [esp + 0x12b8]
push 0
push edx
call esi
mov edi, dword [esp + 0x14]
lea eax, [esp + 0x12b8]
push edi
push eax
lea ecx, [esp + 0xdc0]
push str._s_s.mdr
push ecx
call ebx
lea edx, [esp + 0x12c8]
lea eax, [esp + 0x14c8]
push edx
push str._sImages
push eax
call ebx
add esp, 0x1c
lea ecx, [esp + 0x14b8]
push 0
push ecx
call esi
lea edx, [esp + 0x12b8]
lea eax, [esp + 0x1bb8]
push edx
push str._sProduct
push eax
call ebx
add esp, 0xc
lea ecx, [esp + 0x1bb8]
push 0
push ecx
call esi
lea edx, [esp + 0x14b8]
push edi
push edx
lea eax, [esp + 0x9b0]
push str._s_s.lei
push eax
call ebx
lea ecx, [esp + 0x14c8]
push edi
push ecx
lea edx, [esp + 0xbc0]
push str._s_s.rei
push edx
call ebx
lea eax, [esp + 0x184]
lea ecx, [esp + 0x1bd8]
push eax
push ecx
lea edx, [esp + 0x30b0]
push str._s_s.bem
push edx
call ebx
lea eax, [esp + 0x194]
lea ecx, [esp + 0x1be8]
push eax
push ecx
lea edx, [esp + 0x2108]
push str._s_s.vzv
push edx
call ebx
add esp, 0x40
lea eax, [esp + 0x164]
lea ecx, [esp + 0x1bb8]
lea edx, [esp + 0x3288]
push eax
push ecx
push str._s_s.cvf
push edx
call ebx
mov eax, dword [ebp + 0xc]
add esp, 0x10
lea ecx, [esp + 0x9c]
lea esi, [eax + 0x448]
push ecx
mov ecx, esi
call dword [sym.imp.VzSatData.dll_public:_void___thiscall_CFltRect::ToCRect_class_CRect__]
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0xe4], edx
mov edx, dword [esp + 0xa8]
mov dword [esp + 0xe8], eax
fld dword [esp + 0xd8]
mov dword [esp + 0xec], ecx
mov dword [esp + 0xf0], edx
call sub.MSVCRT.dll__ftol
fld dword [esp + 0xcc]
mov edi, eax
call sub.MSVCRT.dll__ftol
push edi
mov edi, dword [sym.imp.USER32.dll_OffsetRect]
push eax
lea eax, [esp + 0xec]
push eax
call edi
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0xa4]
mov dword [esp + 0xf4], ecx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0xf8], edx
fld dword [esp + 0xdc]
mov dword [esp + 0xfc], eax
mov dword [esp + 0x100], ecx
call sub.MSVCRT.dll__ftol
fld dword [esp + 0xd0]
mov dword [esp + 0x58], eax
call sub.MSVCRT.dll__ftol
mov edx, dword [esp + 0x58]
push edx
push eax
lea eax, [esp + 0xfc]
push eax
call edi
mov ecx, 0xc
xor eax, eax
lea edi, [esp + 0x558]
mov dword [esp + 0x54], eax
rep stosd dword es:[edi], eax
mov ecx, 0xc
lea edi, [esp + 0x4e8]
rep stosd dword es:[edi], eax
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x58], eax
mov ax, word [ecx + 0x4e8]
cmp ax, 1
jne 0x40e9d6
mov edx, ecx
mov ecx, 0xc
lea edi, [esp + 0x4e8]
mov eax, 1
lea esi, [edx + 0x4b0]
mov edx, dword [esp + 0xa0]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x9c]
mov esi, dword [esp + 0xa4]
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x58], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe8], edx
mov dword [esp + 0xec], esi
mov dword [esp + 0xf0], edi
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], edx
mov dword [esp + 0xfc], esi
mov dword [esp + 0x100], edi
mov dword [esp + 0xda8], eax
mov esi, dword [esp + 0x10]
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 0x14]
push eax
push ecx
push edx
lea eax, [esp + 0x18]
push 0xef30
push eax
call sub.MFC42.DLL_CString::Format_1
mov ecx, dword [esp + 0x20]
mov edi, dword [ebp + 0x18]
add esp, 0x14
push ecx
push 0xa
push 0xc16
push edi
call dword [sym.imp.USER32.dll_SendMessageA]
mov edx, dword [ebp + 0xc]
push edi
cmp word [edx + 0x4e8], 2
jne 0x40f17e
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x84]
push eax
mov eax, dword [esp + 0x84]
push ecx
mov ecx, dword [esp + 0x94]
push edx
mov edx, dword [esp + 0x94]
push eax
mov eax, dword [esp + 0x84]
push ecx
mov ecx, dword [esp + 0x84]
push edx
mov edx, dword [esp + 0x84]
push eax
mov eax, dword [esp + 0x84]
push ecx
mov ecx, dword [esp + 0xb4]
push edx
mov edx, dword [esp + 0xb4]
push eax
push ecx
lea eax, [esp + 0x9d8]
push edx
push eax
push esi
call fcn.0041b760
add esp, 0x3c
jmp 0x40f1a7
cmp ax, 2
jne 0x40e91b
fld dword [esi + 4]
fadd dword [esi]
sub esp, 8
fmul dword [0x442554]
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll_floor]
fstp dword [esp + 0x24]
fld dword [esi + 0xc]
fadd dword [esi + 8]
fmul dword [0x442554]
fstp qword [esp]
call dword [sym.imp.MSVCRT.dll_floor]
mov eax, dword [ebp + 8]
mov edi, dword [sym.imp.IdpmSatEpip.dll_public:_void___thiscall_CRFMEpipImage::constructor_void_]
add esp, 8
mov ecx, dword [eax + 0x860]
mov edx, dword [eax + 0x864]
mov dword [esp + 0x3c], ecx
lea ecx, [esp + 0x22d0]
fstp dword [esp + 0x2c]
mov dword [esp + 0x40], edx
call edi
lea ecx, [esp + 0x2330]
mov byte [esp + 0x4c48], 3
call dword [sym.imp.SatCoordTrans.dll_public:_void___thiscall_CSatCoordTrans::constructor_void_]
lea ecx, [esp + 0x2e50]
mov byte [esp + 0x4c48], 4
call dword [sym.imp.SpGeoCvt.dll_public:_void___thiscall_CSpGeoCvt::constructor_void_]
xor esi, esi
mov dword [esp + 0x22d0], 0x442598
mov dword [esp + 0x3068], esi
mov dword [esp + 0x306c], esi
mov dword [esp + 0x3070], esi
mov dword [esp + 0x3080], esi
mov dword [esp + 0x3084], 0x3ff00000
mov dword [esp + 0x3078], esi
mov dword [esp + 0x307c], 0x3ff00000
lea ecx, [esp + 0x3488]
mov byte [esp + 0x4c48], 5
call edi
lea ecx, [esp + 0x34e8]
mov byte [esp + 0x4c48], 6
call dword [sym.imp.SatCoordTrans.dll_public:_void___thiscall_CSatCoordTrans::constructor_void_]
lea ecx, [esp + 0x4008]
mov byte [esp + 0x4c48], 7
call dword [sym.imp.SpGeoCvt.dll_public:_void___thiscall_CSpGeoCvt::constructor_void_]
mov dword [esp + 0x3488], 0x442598
mov dword [esp + 0x4220], esi
mov dword [esp + 0x4224], esi
mov dword [esp + 0x4228], esi
mov dword [esp + 0x4238], esi
mov dword [esp + 0x423c], 0x3ff00000
mov dword [esp + 0x4230], esi
mov dword [esp + 0x4234], 0x3ff00000
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0x22d0]
mov byte [esp + 0x4c48], 8
lea eax, [esi + 0x108]
push eax
call fcn.0041b560
test al, al
je 0x40ebad
mov al, byte [0x452670]
mov ecx, 0x7f
mov byte [esp + 0x1a4], al
xor eax, eax
lea edi, [esp + 0x1a5]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esi + 0x108]
lea ecx, [esp + 0x1a4]
push eax
push str._s.aop
push ecx
call ebx
lea edx, [esp + 0x1b0]
push edx
call fcn.004102a0
add esp, 0x10
test eax, eax
je 0x40ebad
lea eax, [esp + 0x1a4]
lea ecx, [esp + 0x22d0]
push eax
call dword [sym.imp.IdpmSatEpip.dll_public_virtual:_bool___thiscall_CRFMEpipImage::Initialize_char_const__]
lea ecx, [esi + 0xad0]
push ecx
lea ecx, [esp + 0x2334]
call dword [sym.imp.SatCoordTrans.dll_public:_int___thiscall_CSatCoordTrans::Load4File_char_const__]
test eax, eax
je 0x40ec80
lea edx, [esp + 0x10]
push 0
lea eax, [esp + 0x50]
push edx
lea ecx, [esp + 0x4c]
push eax
lea edx, [esp + 0x40]
push ecx
lea eax, [esp + 0xcc]
push edx
lea ecx, [esp + 0xd8]
push eax
lea edx, [esp + 0x174]
push ecx
lea eax, [esp + 0x148]
push edx
lea ecx, [esp + 0x44]
push eax
lea edx, [esp + 0x34]
push ecx
push edx
lea ecx, [esp + 0x2574]
call dword [sym.imp.SpGeoCvt.dll_public:_void___thiscall_CSpGeoCvt::Get_Cvt_Par_int___int___double___double___double___double___double___double___double___int___char__]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
push 0
push 0
push eax
mov eax, dword [esp + 0x50]
push ecx
mov ecx, dword [esp + 0x48]
push edx
mov edx, dword [esp + 0x48]
push eax
mov eax, dword [esp + 0xd8]
push ecx
mov ecx, dword [esp + 0xd8]
push edx
mov edx, dword [esp + 0xe8]
push eax
mov eax, dword [esp + 0xe8]
push ecx
mov ecx, dword [esp + 0x4c]
push edx
push eax
push 0x41583fc4
push 0x141c97d0
push 0x415854a6
push 0x40000000
push ecx
push 0
lea ecx, [esp + 0x2e98]
call dword [sym.imp.SpGeoCvt.dll_public:_void___thiscall_CSpGeoCvt::Set_Cvt_Par_int__int__double__double__double__double__double__double__double__int__char_const__]
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x3488]
lea eax, [edx + 0x108]
push eax
call fcn.0041b560
test al, al
je 0x40ecfd
mov al, byte [0x452670]
mov ecx, 0x7f
mov byte [esp + 0x1a4], al
xor eax, eax
lea edi, [esp + 0x1a5]
lea edx, [esp + 0x1a4]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x18]
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ecx + 0x108]
push eax
push str._s.aop
push edx
call ebx
lea eax, [esp + 0x1b0]
push eax
call fcn.004102a0
add esp, 0x10
test eax, eax
je 0x40ecfd
lea ecx, [esp + 0x1a4]
push ecx
lea ecx, [esp + 0x348c]
call dword [sym.imp.IdpmSatEpip.dll_public_virtual:_bool___thiscall_CRFMEpipImage::Initialize_char_const__]
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x34e8]
add edx, 0xad0
push edx
call dword [sym.imp.SatCoordTrans.dll_public:_int___thiscall_CSatCoordTrans::Load4File_char_const__]
test eax, eax
je 0x40edd4
lea eax, [esp + 0x24]
push 0
lea ecx, [esp + 0xc8]
push eax
lea edx, [esp + 0xc4]
push ecx
lea eax, [esp + 0x58]
push edx
lea ecx, [esp + 0x54]
push eax
lea edx, [esp + 0x48]
push ecx
lea eax, [esp + 0x144]
push edx
lea ecx, [esp + 0x178]
push eax
lea edx, [esp + 0x30]
push ecx
lea eax, [esp + 0x48]
push edx
push eax
lea ecx, [esp + 0x372c]
call dword [sym.imp.SpGeoCvt.dll_public:_void___thiscall_CSpGeoCvt::Get_Cvt_Par_int___int___double___double___double___double___double___double___double___int___char__]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc0]
push 0
push 0
push ecx
mov ecx, dword [esp + 0xc8]
push edx
mov edx, dword [esp + 0x60]
push eax
mov eax, dword [esp + 0x60]
push ecx
mov ecx, dword [esp + 0x60]
push edx
mov edx, dword [esp + 0x60]
push eax
mov eax, dword [esp + 0x58]
push ecx
mov ecx, dword [esp + 0x58]
push edx
mov edx, dword [esp + 0x38]
push eax
push ecx
push 0x41583fc4
push 0x141c97d0
push 0x415854a6
push 0x40000000
push edx
push 0
lea ecx, [esp + 0x4050]
call dword [sym.imp.SpGeoCvt.dll_public:_void___thiscall_CSpGeoCvt::Set_Cvt_Par_int__int__double__double__double__double__double__double__double__int__char_const__]
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
fld dword [esp + 0x2c]
push 0x40590000
push 0
push edi
push eax
sub esp, 8
lea ecx, [esp + 0x34a0]
lea edx, [esp + 0x22e8]
fstp qword [esp]
fld dword [esp + 0x34]
sub esp, 8
fstp qword [esp]
push ecx
push edx
call dword [sym.imp.IdpmSatEpip.dll_public:_static_double___cdecl_CSatEpipImage::CalcEpipRotation_class_CSatEpipImage___class_CSatEpipImage___double__double__double__double_]
add esp, 0x28
mov eax, dword [esi + 0x310]
mov ecx, dword [esi + 0x30c]
lea edx, [esp + 0x104]
push edx
lea edx, [esp + 0x118]
fstp qword [esp + 0x48]
push edx
mov edx, dword [esp + 0x44]
push edi
push edx
push eax
push ecx
lea ecx, [esp + 0x22e8]
call dword [sym.imp.IdpmSatEpip.dll_public:_bool___thiscall_CSatEpipImage::GetPhotoGsdOnPRP_int__int__double__double___double__]
mov ecx, dword [ebp + 0xc]
lea eax, [esp + 0x13c]
push 0
push eax
call dword [sym.imp.VzSatData.dll_public:_bool___thiscall_CSubModelData::GetExtendCorner_struct_tagFPoint__const__int_]
test al, al
jne 0x40eeb2
fild dword [esp + 0x9c]
fst dword [esp + 0x154]
fstp dword [esp + 0x13c]
fild dword [esp + 0xa4]
fst dword [esp + 0x14c]
fstp dword [esp + 0x144]
fild dword [esp + 0xa0]
fst dword [esp + 0x148]
fstp dword [esp + 0x140]
fild dword [esp + 0xa8]
fst dword [esp + 0x158]
fstp dword [esp + 0x150]
fld qword [esp + 0x44]
fcos
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x20], 0x7fefffff
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x28], 0x7fefffff
mov dword [esp + 0x34], 0xffffffff
mov dword [esp + 0x38], 0xffefffff
mov dword [esp + 0x94], 0xffffffff
mov dword [esp + 0x98], 0xffefffff
lea edi, [esp + 0x13c]
mov dword [esp + 0x10], 4
fstp qword [esp + 0x5c]
fld qword [esp + 0x44]
fsin
fstp qword [esp + 0x4c]
mov eax, dword [esp + 0x40]
lea ecx, [esp + 0x11c]
lea edx, [esp + 0x124]
push ecx
mov ecx, dword [esp + 0x40]
push edx
mov edx, dword [edi + 4]
push eax
mov eax, dword [edi]
push ecx
push edx
push eax
lea ecx, [esi + 0x350]
call dword [sym.imp.VzSatData.dll_public:_void___thiscall_CVzSatAbsPara::WGS_Img2Grd_float__float__double__double___double__]
fld qword [esp + 0x4c]
fmul qword [esp + 0x11c]
fld qword [esp + 0x5c]
fmul qword [esp + 0x124]
faddp st(1)
fld qword [esp + 0x5c]
fmul qword [esp + 0x11c]
fld qword [esp + 0x4c]
fmul qword [esp + 0x124]
fsubp st(1)
fstp qword [esp + 0x2c]
fld qword [esp + 0x24]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x40ef8d
fst qword [esp + 0x24]
fld qword [esp + 0x94]
fcomp st(1)
fnstsw ax
test ah, 0x41
je 0x40efa6
fstp qword [esp + 0x94]
jmp 0x40efa8
fstp st(0)
fld qword [esp + 0x1c]
fcomp qword [esp + 0x2c]
fnstsw ax
test ah, 1
jne 0x40efc7
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
fld qword [esp + 0x34]
fcomp qword [esp + 0x2c]
fnstsw ax
test ah, 0x41
je 0x40efe6
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ecx
mov eax, dword [esp + 0x10]
add edi, 8
dec eax
mov dword [esp + 0x10], eax
jne 0x40ef1b
fld qword [esp + 0x114]
fcomp qword [esp + 0x104]
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], edx
fnstsw ax
test ah, 1
je 0x40f03e
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x118]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], edx
jmp 0x40f057
mov eax, dword [esp + 0x104]
mov ecx, dword [esp + 0x108]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ecx
fld qword [esp + 0x5c]
fmul qword [esp + 0x24]
fld qword [esp + 0x4c]
fmul qword [esp + 0x1c]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], eax
fsubp st(1)
fstp qword [esp + 0x64]
fld qword [esp + 0x4c]
fmul qword [esp + 0x24]
fld qword [esp + 0x5c]
fmul qword [esp + 0x1c]
faddp st(1)
fstp qword [esp + 0x6c]
fld qword [esp + 0x34]
fsub qword [esp + 0x1c]
fdiv qword [esp + 0x7c]
call sub.MSVCRT.dll__ftol
fld qword [esp + 0x94]
fsub qword [esp + 0x24]
mov dword [esp + 0x8c], eax
fdiv qword [esp + 0x7c]
call sub.MSVCRT.dll__ftol
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x90], eax
mov dword [esp + 0xda8], 2
mov dword [esp + 0xdb0], ecx
mov dword [esp + 0xdb4], edx
mov dword [esp + 0x3488], 0x442598
lea ecx, [esp + 0x4008]
mov byte [esp + 0x4c48], 0xa
call dword [sym.imp.SpGeoCvt.dll_public_virtual:_void___thiscall_CSpGeoCvt::destructor_void_]
mov edi, dword [sym.imp.SatCoordTrans.dll_public:_void___thiscall_CSatCoordTrans::destructor_void_]
lea ecx, [esp + 0x34e8]
mov byte [esp + 0x4c48], 9
call edi
lea ecx, [esp + 0x3488]
mov byte [esp + 0x4c48], 5
call dword [sym.imp.IdpmSatEpip.dll_public_virtual:_void___thiscall_CRFMEpipImage::destructor_void_]
mov dword [esp + 0x22d0], 0x442598
lea ecx, [esp + 0x2e50]
mov byte [esp + 0x4c48], 0xc
call dword [sym.imp.SpGeoCvt.dll_public_virtual:_void___thiscall_CSpGeoCvt::destructor_void_]
lea ecx, [esp + 0x2330]
mov byte [esp + 0x4c48], 0xb
call edi
lea ecx, [esp + 0x22d0]
mov byte [esp + 0x4c48], 2
call dword [sym.imp.IdpmSatEpip.dll_public_virtual:_void___thiscall_CRFMEpipImage::destructor_void_]
jmp 0x40e91f
lea ecx, [esp + 0x55c]
lea edx, [esp + 0xa0]
push ecx
push 1
lea eax, [esp + 0x9b4]
push edx
lea ecx, [esi + 0x108]
push eax
push ecx
call fcn.004184a0
add esp, 0x18
test eax, eax
je 0x40f93b
add esi, 0x108
lea edx, [esp + 0x10b8]
push esi
push str._s.aop
push edx
call ebx
lea eax, [esp + 0x10c4]
push 0x5c
push eax
call dword [sym.imp.MSVCRT.dll_strrchr]
lea ecx, [esp + 0x14cc]
push eax
push ecx
lea edx, [esp + 0xac4]
push 0x44c394
push edx
call ebx
add esp, 0x24
lea eax, [esp + 0xaa8]
lea ecx, [esp + 0x10b8]
push 0
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0x14]
push edx
push eax
push ecx
lea edx, [esp + 0x18]
push 0xef31
push edx
call sub.MFC42.DLL_CString::Format_1
mov eax, dword [esp + 0x20]
add esp, 0x14
push eax
push 0xa
push 0xc16
push edi
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [ebp + 0xc]
push edi
cmp word [ecx + 0x4e8], 2
jne 0x40f2b9
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x84]
push edx
mov edx, dword [esp + 0x84]
push eax
mov eax, dword [esp + 0x94]
push ecx
mov ecx, dword [esp + 0x94]
push edx
mov edx, dword [esp + 0x84]
push eax
mov eax, dword [esp + 0x84]
push ecx
mov ecx, dword [esp + 0x84]
push edx
mov edx, dword [esp + 0x84]
push eax
mov eax, dword [esp + 0xb4]
push ecx
mov ecx, dword [esp + 0xb4]
push edx
push eax
mov eax, dword [esp + 0x48]
lea edx, [esp + 0xbd8]
push ecx
push edx
push eax
call fcn.0041b760
add esp, 0x3c
jmp 0x40f2f0
mov edi, dword [esp + 0x58]
xor edx, edx
test edi, edi
lea ecx, [esp + 0x4ec]
lea eax, [esp + 0xe8]
sete dl
push ecx
push edx
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0xbb4]
push eax
add edx, 0x108
push ecx
push edx
call fcn.004184a0
add esp, 0x18
test eax, eax
je 0x40f93b
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x10b8]
add eax, 0x108
push eax
push str._s.aop
push ecx
call ebx
lea edx, [esp + 0x10c4]
push 0x5c
push edx
call dword [sym.imp.MSVCRT.dll_strrchr]
push eax
lea eax, [esp + 0x14d0]
push eax
lea ecx, [esp + 0xcc4]
push 0x44c394
push ecx
call ebx
mov esi, dword [sym.imp.KERNEL32.dll_CopyFileA]
add esp, 0x24
lea edx, [esp + 0xca8]
lea eax, [esp + 0x10b8]
push 0
push edx
push eax
call esi
lea ecx, [esp + 0x12b8]
push ecx
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::CString_1
push str.ProdGeosys.gcd
lea edx, [esp + 0x20]
push eax
push edx
mov byte [esp + 0x4c54], 0xd
call sub.MFC42.DLL_operator_1
mov eax, dword [eax]
push 0
push eax
mov eax, dword [ebp + 8]
add eax, 0x63c
push eax
call esi
lea ecx, [esp + 0x1c]
call fcn.0042fd2e
lea ecx, [esp + 0x2c]
mov byte [esp + 0x4c48], 2
call fcn.0042fd2e
lea ecx, [esp + 0xdb8]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea edi, [esp + 0xdb8]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x3a4]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x5c
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 + 0x3a8]
push ecx
call dword [sym.imp.MSVCRT.dll_strrchr]
mov edx, eax
mov edi, str.Images_
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov eax, ecx
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
lea edx, [esp + 0x9b0]
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x3ac]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
lea ecx, [esp + 0x3ac]
push esi
push ecx
push edx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0x14
test eax, eax
jne 0x40f46b
mov edi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea eax, [esp + 0xdb8]
lea ecx, [esp + esi + 0x9a8]
push eax
push ecx
push str.LeftImg
push str.VirtuoZoSatModel
call edi
jmp 0x40f491
lea edx, [esp + 0xdb8]
lea eax, [esp + 0x9a8]
push edx
push eax
push str.LeftImg
push str.VirtuoZoSatModel
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov edi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea ecx, [esp + 0x3a4]
push esi
lea edx, [esp + 0xaac]
push ecx
push edx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x40f4c1
lea eax, [esp + 0xdb8]
lea ecx, [esp + esi + 0xaa8]
push eax
push ecx
jmp 0x40f4d1
lea edx, [esp + 0xdb8]
lea eax, [esp + 0xaa8]
push edx
push eax
push str.LeftRpc
push str.VirtuoZoSatModel
call edi
lea ecx, [esp + 0x3a4]
push esi
lea edx, [esp + 0xbac]
push ecx
push edx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x40f50d
lea eax, [esp + 0xdb8]
lea ecx, [esp + esi + 0xba8]
push eax
push ecx
jmp 0x40f51d
lea edx, [esp + 0xdb8]
lea eax, [esp + 0xba8]
push edx
push eax
push str.RightImg
push str.VirtuoZoSatModel
call edi
lea ecx, [esp + 0x3a4]
push esi
lea edx, [esp + 0xcac]
push ecx
push edx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x40f559
lea eax, [esp + 0xdb8]
lea ecx, [esp + esi + 0xca8]
push eax
push ecx
jmp 0x40f569
lea edx, [esp + 0xdb8]
lea eax, [esp + 0xca8]
push edx
push eax
push str.RightRpc
push str.VirtuoZoSatModel
call edi
cmp dword [esp + 0xda8], 2
jne 0x40f5ed
push 2
lea ecx, [esp + 0x1a8]
push 0x44c0c4
push ecx
call ebx
add esp, 0xc
lea edx, [esp + 0xdb8]
lea eax, [esp + 0x1a4]
push edx
push eax
push str.EpiSampMethod
push str.VirtuoZoSatModel
call edi
mov ecx, dword [esp + 0xdb4]
mov edx, dword [esp + 0xdb0]
push ecx
push edx
lea eax, [esp + 0x1ac]
push str._.12lf
push eax
call ebx
add esp, 0x10
lea ecx, [esp + 0xdb8]
lea edx, [esp + 0x1a4]
push ecx
push edx
push str.PRPHeight
push str.VirtuoZoSatModel
call edi
mov ecx, dword [ebp + 0xc]
lea eax, [esp + 0xdb8]
push eax
call dword [sym.imp.VzSatData.dll_public:_bool___thiscall_CSubModelData::Save2File_char_const__]
mov dl, byte [0x452670]
mov ecx, 0x7f
xor eax, eax
lea edi, [esp + 0x18b9]
mov byte [esp + 0x18b8], dl
mov byte [esp + 0xfb8], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0xfb9]
mov byte [esp + 0x518], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0xf
xor eax, eax
lea edi, [esp + 0x519]
mov dword [esp + 0xb8], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [esp + 0x1db8]
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
stosb byte es:[edi], al
call dword [sym.imp.SpGeoCvt.dll_public:_void___thiscall_CSpGeoCvt::constructor_void_]
mov ecx, dword [ebp + 8]
mov byte [esp + 0x4c48], 0xe
lea eax, [ecx + 0x63c]
lea ecx, [esp + 0x1db8]
push eax
call dword [sym.imp.SpGeoCvt.dll_public:_int___thiscall_CSpGeoCvt::Load4File_char_const__]
lea edx, [esp + 0x18b8]
lea eax, [esp + 0xb8]
push edx
lea ecx, [esp + 0xb0]
push eax
lea edx, [esp + 0xb4]
push ecx
lea eax, [esp + 0xb8]
push edx
lea ecx, [esp + 0xbc]
push eax
lea edx, [esp + 0xc0]
push ecx
lea eax, [esp + 0xc4]
push edx
lea ecx, [esp + 0xc8]
push eax
lea edx, [esp + 0xd8]
push ecx
lea eax, [esp + 0xdc]
push edx
push eax
lea ecx, [esp + 0x1de4]
call dword [sym.imp.SpGeoCvt.dll_public:_void___thiscall_CSpGeoCvt::Get_Cvt_Par_int___int___double___double___double___double___double___double___double___int___char__]
lea ecx, [esp + 0x518]
lea edx, [esp + 0xfb8]
push ecx
push edx
push 0
lea eax, [esp + 0x18c4]
push 0
push eax
call dword [sym.imp.MSVCRT.dll__splitpath]
lea edi, [esp + 0x52c]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xfcc]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
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
lea eax, [esp + 0x18cc]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
call fcn.004102a0
add esp, 0x18
test eax, eax
je 0x40f818
lea ecx, [esp + 0xfb8]
push ecx
lea ecx, [esp + 0x58]
call sub.MFC42.DLL_CString::CString_1
mov esi, eax
lea edx, [esp + 0x12b8]
lea ecx, [esp + 0x24]
push edx
mov byte [esp + 0x4c4c], 0xf
call sub.MFC42.DLL_CString::CString_1
push 0x44c388
push eax
lea eax, [esp + 0x34]
mov byte [esp + 0x4c50], 0x10
push eax
call sub.MFC42.DLL_operator_1
push esi
lea ecx, [esp + 0x20]
push eax
push ecx
mov byte [esp + 0x4c54], 0x11
call sub.MFC42.DLL_operator
mov eax, dword [eax]
push 0
lea edx, [esp + 0x18bc]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
lea ecx, [esp + 0x1c]
call fcn.0042fd2e
lea ecx, [esp + 0x2c]
mov byte [esp + 0x4c48], 0x10
call fcn.0042fd2e
lea ecx, [esp + 0x24]
mov byte [esp + 0x4c48], 0xf
call fcn.0042fd2e
lea ecx, [esp + 0x54]
mov byte [esp + 0x4c48], 0xe
call fcn.0042fd2e
mov edi, dword [esp + 0xb4]
test edi, edi
je 0x410040
mov esi, dword [esp + 0x14]
lea eax, [esp + 0x14b8]
push esi
push eax
lea ecx, [esp + 0x598]
push str._s_s_N.lei
push ecx
call ebx
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
push edx
push eax
push esi
lea ecx, [esp + 0x28]
push 0xef32
push ecx
call sub.MFC42.DLL_CString::Format_1
mov edx, dword [esp + 0x30]
mov esi, dword [ebp + 0x18]
add esp, 0x24
push edx
push 0xa
push 0xc16
push esi
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [ebp + 0xc]
push esi
cmp word [eax + 0x4e8], 2
jne 0x40f8ef
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x84]
push ecx
mov ecx, dword [esp + 0x84]
push edx
mov edx, dword [esp + 0x94]
push eax
mov eax, dword [esp + 0x94]
push ecx
mov ecx, dword [esp + 0x84]
push edx
mov edx, dword [esp + 0x84]
push eax
mov eax, dword [esp + 0x84]
push ecx
mov ecx, dword [esp + 0x84]
push edx
mov edx, dword [esp + 0xb4]
push eax
mov eax, dword [esp + 0xb4]
push ecx
push edx
lea ecx, [esp + 0x5c0]
push eax
push ecx
push edi
call fcn.0041b760
add esp, 0x3c
jmp 0x40f922
lea edx, [esp + 0x55c]
xor eax, eax
push edx
mov edx, dword [esp + 0x60]
test edx, edx
sete al
lea ecx, [esp + 0xfc]
push eax
lea edx, [esp + 0x59c]
push ecx
add edi, 0x108
push edx
push edi
call fcn.004184a0
add esp, 0x18
test eax, eax
jne 0x40f979
lea ecx, [esp + 0x1db8]
mov byte [esp + 0x4c48], 2
call dword [sym.imp.SpGeoCvt.dll_public_virtual:_void___thiscall_CSpGeoCvt::destructor_void_]
mov eax, 0x4425bc
lea ecx, [esp + 0xc]
mov dword [esp + 0x588], eax
mov dword [esp + 0x9a0], eax
mov dword [esp + 0x4c48], 0xffffffff
call fcn.0042fd2e
xor eax, eax
mov ecx, dword [esp + 0x4c40]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0xb4]
lea ecx, [esp + 0x10b8]
add eax, 0x108
push eax
push str._s.aop
push ecx
call ebx
lea edx, [esp + 0x10c4]
push 0x5c
push edx
call dword [sym.imp.MSVCRT.dll_strrchr]
push eax
lea eax, [esp + 0x14d0]
push eax
lea ecx, [esp + 0x6ac]
push 0x44c394
push ecx
call ebx
add esp, 0x24
lea edx, [esp + 0x690]
lea eax, [esp + 0x10b8]
push 0
push edx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov ecx, dword [esp + 0xda8]
mov eax, dword [esp + 0xdb4]
mov edx, dword [esp + 0xdb0]
mov dword [esp + 0x990], ecx
mov dword [esp + 0x99c], eax
lea edi, [esp + 0x590]
or ecx, 0xffffffff
xor eax, eax
mov dword [esp + 0x998], edx
lea edx, [esp + 0x790]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x890]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x690]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
mov edx, dword [esp + 0x14]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
push edx
rep movsb byte es:[edi], byte [esi]
mov cl, byte [0x452670]
lea edi, [esp + 0x1a9]
mov byte [esp + 0x1a8], cl
mov ecx, 0x7f
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0x12bc]
lea ecx, [esp + 0x1a8]
push eax
push str._s_s_FN.mdr
push ecx
call ebx
add esp, 0x10
lea edi, [esp + 0x9a8]
lea edx, [esp + 0x590]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x690]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0xaa8]
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 + 0x1a4]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea edi, [esp + 0x1a4]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x3a4]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x5c
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 + 0x3a8]
push ecx
call dword [sym.imp.MSVCRT.dll_strrchr]
mov edx, eax
mov edi, str.Images_
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x598]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x3ac]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
lea ecx, [esp + 0x3ac]
push esi
push ecx
push edx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0x14
test eax, eax
jne 0x40fbaf
mov edi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea eax, [esp + 0x1a4]
lea ecx, [esp + esi + 0x590]
push eax
push ecx
push str.LeftImg
push str.VirtuoZoSatModel
call edi
jmp 0x40fbd5
lea edx, [esp + 0x1a4]
lea eax, [esp + 0x590]
push edx
push eax
push str.LeftImg
push str.VirtuoZoSatModel
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov edi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea ecx, [esp + 0x3a4]
push esi
lea edx, [esp + 0x694]
push ecx
push edx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x40fc05
lea eax, [esp + 0x1a4]
lea ecx, [esp + esi + 0x690]
push eax
push ecx
jmp 0x40fc15
lea edx, [esp + 0x1a4]
lea eax, [esp + 0x690]
push edx
push eax
push str.LeftRpc
push str.VirtuoZoSatModel
call edi
lea ecx, [esp + 0x3a4]
push esi
lea edx, [esp + 0x794]
push ecx
push edx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x40fc51
lea eax, [esp + 0x1a4]
lea ecx, [esp + esi + 0x790]
push eax
push ecx
jmp 0x40fc61
lea edx, [esp + 0x1a4]
lea eax, [esp + 0x790]
push edx
push eax
push str.RightImg
push str.VirtuoZoSatModel
call edi
lea ecx, [esp + 0x3a4]
push esi
lea edx, [esp + 0x894]
push ecx
push edx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x40fc9d
lea eax, [esp + 0x1a4]
lea ecx, [esp + esi + 0x890]
push eax
push ecx
jmp 0x40fcad
lea edx, [esp + 0x1a4]
lea eax, [esp + 0x890]
push edx
push eax
push str.RightRpc
push str.VirtuoZoSatModel
call edi
cmp dword [esp + 0x990], 2
jne 0x40fd31
push 2
lea ecx, [esp + 0x16bc]
push 0x44c0c4
push ecx
call ebx
add esp, 0xc
lea edx, [esp + 0x1a4]
lea eax, [esp + 0x16b8]
push edx
push eax
push str.EpiSampMethod
push str.VirtuoZoSatModel
call edi
mov ecx, dword [esp + 0x99c]
mov edx, dword [esp + 0x998]
push ecx
push edx
lea eax, [esp + 0x16c0]
push str._.12lf
push eax
call ebx
add esp, 0x10
lea ecx, [esp + 0x1a4]
lea edx, [esp + 0x16b8]
push ecx
push edx
push str.PRPHeight
push str.VirtuoZoSatModel
call edi
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x12b8]
push eax
push ecx
lea edx, [esp + 0x1ac]
push str._s_s_NB.mdr
push edx
call ebx
or ecx, 0xffffffff
lea edi, [esp + 0x7a0]
xor eax, eax
add esp, 0x10
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x590]
mov eax, ecx
mov esi, edi
shr ecx, 2
mov edi, edx
lea edx, [esp + 0x690]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x890]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x790]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0xba8]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x890]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0xca8]
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 + 0x1a4]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea edi, [esp + 0x1a4]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x3a4]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
push 0x5c
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 + 0x3a8]
push ecx
call dword [sym.imp.MSVCRT.dll_strrchr]
mov edx, eax
mov edi, str.Images_
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x598]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x3ac]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
lea ecx, [esp + 0x3ac]
push esi
push ecx
push edx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0x14
test eax, eax
jne 0x40febe
mov edi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea eax, [esp + 0x1a4]
lea ecx, [esp + esi + 0x590]
push eax
push ecx
push str.LeftImg
push str.VirtuoZoSatModel
call edi
jmp 0x40fee4
lea edx, [esp + 0x1a4]
lea eax, [esp + 0x590]
push edx
push eax
push str.LeftImg
push str.VirtuoZoSatModel
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov edi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea ecx, [esp + 0x3a4]
push esi
lea edx, [esp + 0x694]
push ecx
push edx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x40ff14
lea eax, [esp + 0x1a4]
lea ecx, [esp + esi + 0x690]
push eax
push ecx
jmp 0x40ff24
lea edx, [esp + 0x1a4]
lea eax, [esp + 0x690]
push edx
push eax
push str.LeftRpc
push str.VirtuoZoSatModel
call edi
lea ecx, [esp + 0x3a4]
push esi
lea edx, [esp + 0x794]
push ecx
push edx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x40ff60
lea eax, [esp + 0x1a4]
lea ecx, [esp + esi + 0x790]
push eax
push ecx
jmp 0x40ff70
lea edx, [esp + 0x1a4]
lea eax, [esp + 0x790]
push edx
push eax
push str.RightImg
push str.VirtuoZoSatModel
call edi
lea ecx, [esp + 0x3a4]
push esi
lea edx, [esp + 0x894]
push ecx
push edx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x40ffac
lea eax, [esp + 0x1a4]
lea ecx, [esp + esi + 0x890]
push eax
push ecx
jmp 0x40ffbc
lea edx, [esp + 0x1a4]
lea eax, [esp + 0x890]
push edx
push eax
push str.RightRpc
push str.VirtuoZoSatModel
call edi
cmp dword [esp + 0x990], 2
jne 0x410040
push 2
lea ecx, [esp + 0x16bc]
push 0x44c0c4
push ecx
call ebx
add esp, 0xc
lea edx, [esp + 0x1a4]
lea eax, [esp + 0x16b8]
push edx
push eax
push str.EpiSampMethod
push str.VirtuoZoSatModel
call edi
mov ecx, dword [esp + 0x99c]
mov edx, dword [esp + 0x998]
push ecx
push edx
lea eax, [esp + 0x16c0]
push str._.12lf
push eax
call ebx
add esp, 0x10
lea ecx, [esp + 0x1a4]
lea edx, [esp + 0x16b8]
push ecx
push edx
push str.PRPHeight
push str.VirtuoZoSatModel
call edi
mov al, byte [0x452670]
mov ecx, 0x1ff
mov byte [esp + 0x4440], al
xor eax, eax
lea edi, [esp + 0x4441]
push 0x100
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [esp + 0x1abc]
push ecx
push 0
stosb byte es:[edi], al
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea edx, [esp + 0x1ab8]
push 0x5c
push edx
call dword [sym.imp.MSVCRT.dll_strrchr]
mov edx, eax
mov edi, str.VzCreateVecFile.exe
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0xdc0]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 8]
lea eax, [ecx + 0x63c]
lea ecx, [esp + 0x20d8]
push eax
mov eax, dword [esp + 0x20]
push edx
push eax
lea edx, [esp + 0x1acc]
push ecx
push edx
lea eax, [esp + 0x445c]
push str._s__s__s__s__s
push eax
call ebx
mov ecx, 0x11
xor eax, eax
lea edi, [esp + 0x4c8]
add esp, 0x24
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x12c]
lea edx, [esp + 0x4a4]
push ecx
push edx
push eax
push eax
push 0x20
push eax
push eax
mov word [esp + 0x4f0], ax
push eax
lea eax, [esp + 0x4460]
push eax
push 0
mov dword [esp + 0x4cc], 0x44
mov dword [esp + 0x4f8], 1
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
je 0x41014a
mov ecx, dword [esp + 0x12c]
push 0xffffffffffffffff
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edx, dword [esp + 0x130]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push edx
call esi
mov eax, dword [esp + 0x12c]
push eax
call esi
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
mov eax, dword [esp + 0x14]
push ecx
push edx
push eax
lea ecx, [esp + 0x18]
push 0xef34
push ecx
call sub.MFC42.DLL_CString::Format_1
mov edx, dword [esp + 0x20]
mov edi, dword [ebp + 0x18]
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
add esp, 0x14
push edx
push 0xa
push 0xc16
push edi
call ebx
mov edx, dword [esp + 0x110]
lea eax, [esp + 0x3088]
lea ecx, [esp + 0x20d0]
push eax
push ecx
push edx
mov esi, 0xef29
call fcn.0041bef0
add esp, 0xc
test eax, eax
je 0x41020c
mov eax, dword [ebp + 8]
lea ecx, [esp + 0x3088]
push ecx
push ecx
fld qword [eax + 0x850]
lea edx, [esp + 0x3290]
mov esi, 0xef2b
fstp dword [esp]
push edx
call fcn.004102e0
add esp, 0xc
test eax, eax
je 0x41020c
lea eax, [esp + 0x3288]
lea ecx, [esp + 0x20d0]
push eax
push ecx
call fcn.00417fc0
add esp, 8
jmp 0x410217
push esi
push 0xe
push 0xc16
push edi
call ebx
lea ecx, [esp + 0x1db8]
mov byte [esp + 0x4c48], 2
call dword [sym.imp.SpGeoCvt.dll_public_virtual:_void___thiscall_CSpGeoCvt::destructor_void_]
mov eax, 0x4425bc
lea ecx, [esp + 0xc]
mov dword [esp + 0x588], eax
mov dword [esp + 0x9a0], eax
mov dword [esp + 0x4c48], 0xffffffff
call fcn.0042fd2e
mov ecx, dword [esp + 0x4c40]
pop edi
pop esi
mov eax, 1
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret