Function at 0x447ec0
Capabilities:
Create process on windows
Get common file path

Disassembly:
push 0xffffffffffffffff
push 0x46f5a0
mov eax, dword fs:[0]
push eax
sub esp, 0x4f4
mov eax, dword [0x48c9dc]
xor eax, esp
mov dword [esp + 0x4f0], eax
push ebx
push esi
push edi
mov eax, dword [0x48c9dc]
xor eax, esp
push eax
lea eax, [esp + 0x504]
mov dword fs:[0], eax
mov esi, dword [esp + 0x514]
call fcn.004605b0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 4]
push esi
call eax
xor ebx, ebx
push ebx
lea ecx, [esp + 0x1c]
call dword [sym.imp.SMIMD_sh.dll_public:_void___thiscall_SBStatus::constructor_bool_]
lea ecx, [esp + 0x10]
mov dword [esp + 0x50c], ebx
call dword [sym.imp.SMIMD_sh.dll_public:_void___thiscall_SBParamList::constructor_void_]
lea ecx, [esp + 0x10]
mov byte [esp + 0x50c], 1
call dword [sym.imp.SMIMD_sh.dll_public:_void___thiscall_SBParamList::addParameterToList_void_]
lea ecx, [esp + 0x10]
call dword [sym.imp.SMIMD_sh.dll_public:_class_SBList_const____thiscall_SBParamList::getParameterList_void_const]
mov ecx, dword [esp + 0x518]
push eax
push ebx
push ecx
push esi
lea ecx, [esp + 0x28]
call dword [sym.imp.SMIMD_sh.dll_public:_enum_smi_error_code___thiscall_SBStatus::addMessage_char_const___unsigned_long_int__void___class_SBList_const__]
lea ecx, [esp + 0x10]
mov byte [esp + 0x50c], bl
call dword [sym.imp.SMIMD_sh.dll_public_virtual:_void___thiscall_SBParamList::destructor_void_]
push ebx
lea ecx, [esp + 0x1c]
call dword [sym.imp.SMIMD_sh.dll_public_virtual:_void___thiscall_SBStatus::initPosition_class_SBPosition__const]
push ebx
lea ecx, [esp + 0x1c]
call dword [sym.imp.SMIMD_sh.dll_public_virtual:_class_SBObject____thiscall_SBStatus::getCurrent_class_SBPosition__const]
cmp eax, ebx
je 0x447fd0
mov ecx, eax
call dword [sym.imp.SMIMD_sh.dll_public:_class_SBString_const____thiscall_SBMessage::getExtHelp_void_const]
push eax
lea ecx, [esp + 0x14]
call dword [sym.imp.SBaseMD_sh.dll_public:_void___thiscall_SBString::constructor_class_SBString_const__]
lea ecx, [esp + 0x10]
mov byte [esp + 0x50c], 2
call dword [sym.imp.SBaseMD_sh.dll_public:_int___thiscall_SBString::getLength_void_const]
test eax, eax
push 1
jne 0x448011
lea ecx, [esp + 0x1c]
call dword [sym.imp.SMIMD_sh.dll_public:_void___thiscall_SBStatus::flushMessages_bool_]
lea ecx, [esp + 0x10]
mov byte [esp + 0x50c], bl
call dword [sym.imp.SBaseMD_sh.dll_public_virtual:_void___thiscall_SBString::destructor_void_]
lea ecx, [esp + 0x18]
mov dword [esp + 0x50c], 0xffffffff
call dword [sym.imp.SMIMD_sh.dll_public_virtual:_void___thiscall_SBStatus::destructor_void_]
mov eax, 1
mov ecx, dword [esp + 0x504]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x4f0]
xor ecx, esp
call fcn.0043f646
add esp, 0x500
ret
lea ecx, [esp + 0x3c]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ofstream_char__struct_std::char_traits_char__::constructor_void_]
lea edx, [esp + 0xc0]
push edx
mov byte [esp + 0x510], 3
call dword [sym.imp.MSVCR80.dll_tmpnam]
add esp, 4
lea eax, [esp + 0x100]
push eax
push 0x400
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea eax, [esp + 0xc0]
mov ecx, eax
mov dl, byte [eax]
add eax, 1
cmp dl, bl
jne 0x448050
lea edi, [esp + 0x100]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
cmp cl, bl
jne 0x448067
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [esp + 0x100]
rep movsb byte es:[edi], byte [esi]
add eax, 0xffffffff
lea esp, [esp]
mov cl, byte [eax + 1]
add eax, 1
cmp cl, bl
jne 0x448090
mov ecx, dword [str..html]
mov dx, word [0x47772c]
mov dword [eax], ecx
push 0x40
mov word [eax + 4], dx
push 2
lea eax, [esp + 0x108]
push eax
lea ecx, [esp + 0x44]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ofstream_char__struct_std::char_traits_char__::open_char_const___int__int_]
lea ecx, [esp + 0x10]
call dword [sym.imp.SBaseMD_sh.dll_public:_char____thiscall_SBString::getChar_void_const]
push eax
lea ecx, [esp + 0x3c]
push ecx
call fcn.004100e0
add esp, 8
lea ecx, [esp + 0x38]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ofstream_char__struct_std::char_traits_char__::close_void_]
push 1
push ebx
push ebx
lea edx, [esp + 0x10c]
push edx
push str.open
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
push 1
lea ecx, [esp + 0x1c]
call dword [sym.imp.SMIMD_sh.dll_public:_void___thiscall_SBStatus::flushMessages_bool_]
lea ecx, [esp + 0x38]
mov byte [esp + 0x50c], 2
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_ofstream_char__struct_std::char_traits_char__::vbase_dtor_void_]
lea ecx, [esp + 0x10]
mov byte [esp + 0x50c], bl
call dword [sym.imp.SBaseMD_sh.dll_public_virtual:_void___thiscall_SBString::destructor_void_]
lea ecx, [esp + 0x18]
mov dword [esp + 0x50c], 0xffffffff
call dword [sym.imp.SMIMD_sh.dll_public_virtual:_void___thiscall_SBStatus::destructor_void_]
xor eax, eax
jmp 0x447fea