Function at 0x41e770
Capabilities:
Create process on windows
Delete file
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x430923
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xd8
push edi
mov dword [ebp - 0xcc], ecx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0xcc]
call fcn.0041e750
test eax, eax
je 0x41e7da
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xc4], edx
push 0x43e488
mov eax, dword [ebp - 0xc4]
push eax
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 8
neg eax
sbb eax, eax
inc eax
and eax, 0xff
test eax, eax
je 0x41e7e1
xor eax, eax
jmp 0x41ed6e
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xc8], edx
push 0x4408d0
mov eax, dword [ebp - 0xc8]
push eax
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 8
neg eax
sbb eax, eax
neg eax
and eax, 0xff
test eax, eax
je 0x41e81e
mov eax, 1
jmp 0x41ed6e
mov ecx, dword [ebp + 8]
call dword [sym.imp.SysInfo.dll_public:_char_const____thiscall_CDeviceProperties::GetOSName_void_]
push eax
lea ecx, [ebp - 0x24]
call fcn.0042df12
mov dword [ebp - 4], 0
push 0x4408d0
lea ecx, [ebp - 0x38]
call fcn.0042df12
mov byte [ebp - 4], 1
push ecx
mov ecx, esp
mov dword [ebp - 0xac], esp
push str.biosfunc
call fcn.0042df12
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xd4], ecx
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0xcc]
add ecx, 0x2c
call fcn.0040ee90
push eax
mov byte [ebp - 4], 1
call fcn.0040eac0
add esp, 8
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
je 0x41e8bb
push 0x43e478
lea ecx, [ebp - 0x38]
call sub.MFC42.DLL_CString::operator_1
push str.BIOSINFO:_Launching_in_BIOS_FUNCTIONS_mode_n
call dword [sym.imp.SysInfo.dll_void___cdecl_AddLog_char_const__]
add esp, 4
jmp 0x41e94b
push ecx
mov ecx, esp
mov dword [ebp - 0xb0], esp
push 0x43e448
call fcn.0042df12
mov dword [ebp - 0xdc], eax
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0xe0], edx
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0xcc]
add ecx, 0x2c
call fcn.0040ee90
push eax
mov byte [ebp - 4], 1
call fcn.0040eac0
add esp, 8
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 0
jne 0x41e920
push str.NT_4.0
lea ecx, [ebp - 0x24]
call sub.MFC42.DLL_CString::Find_2
cmp eax, 0xffffffff
je 0x41e93d
push 0x43e43c
lea ecx, [ebp - 0x38]
call sub.MFC42.DLL_CString::operator_1
push str.BIOSINFO:_Launching_in_DMI_mode_n
call dword [sym.imp.SysInfo.dll_void___cdecl_AddLog_char_const__]
add esp, 4
jmp 0x41e94b
push str.BIOSINFO:_Launching_in_default_mode_n
call dword [sym.imp.SysInfo.dll_void___cdecl_AddLog_char_const__]
add esp, 4
lea ecx, [ebp - 0x3c]
call sub.MFC42.DLL_CString::CString_2
mov byte [ebp - 4], 4
push str.bios.tmp
mov ecx, dword [ebp + 8]
call dword [sym.imp.SysInfo.dll_public:_char_const____thiscall_CDeviceProperties::GetDeviceID_void_]
push eax
mov eax, dword [ebp - 0x38]
push eax
push str.BIOSINFO.EXE_s__s__s
lea ecx, [ebp - 0x3c]
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0x14
lea ecx, [ebp - 0x34]
call fcn.0042deca
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x20]
call sub.MFC42.DLL_CException::CException
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x10]
call sub.MFC42.DLL_CString::CString_2
mov byte [ebp - 4], 7
mov dword [ebp - 0x20], 0x432ccc
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xffffffff
push 0
lea ecx, [ebp - 0x10]
call sub.MFC42.DLL_CString::operator_1
mov byte [ebp - 4], 8
lea edx, [ebp - 0x20]
push edx
push 0
push str.BIOSINFO.EXE
lea ecx, [ebp - 0x34]
call sub.MFC42.DLL_CFile::Open
test eax, eax
jne 0x41ea6f
push str.BIOSINFO:_ERROR_BiosInfo.exe_not_found__S_N_will_not_be_available___n
call dword [sym.imp.SysInfo.dll_void___cdecl_AddLog_char_const__]
add esp, 4
push 0x43e488
mov ecx, dword [ebp - 0xcc]
add ecx, 0x30
call sub.MFC42.DLL_CString::operator_1
mov dword [ebp - 0xb4], 0
mov byte [ebp - 4], 5
mov dword [ebp - 0x20], 0x432ccc
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x10]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 5
mov dword [ebp - 0x20], 0x432cb0
mov dword [ebp - 0x20], 0x4328ac
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x34]
call sub.MFC42.DLL_CFile::CFile
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x3c]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call sub.MFC42.DLL_CString::CString
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp - 0xb4]
jmp 0x41ed6e
lea ecx, [ebp - 0x34]
call sub.MFC42.DLL_CFile::Close
mov ecx, 0x11
xor eax, eax
lea edi, [ebp - 0x90]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x90], 0x44
xor eax, eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x64], 1
mov word [ebp - 0x60], 0
lea ecx, [ebp - 0x4c]
push ecx
lea edx, [ebp - 0x90]
push edx
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x3c]
call sub.MFC42.DLL_CString::GetBuffer
push eax
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
je 0x41ec73
push 0x2710
mov eax, dword [ebp - 0x4c]
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x41eb2f
push str.BIOSINFO:_ERROR:_Process_did_not_ended_after_10s__trying_to_kill_it...
call dword [sym.imp.SysInfo.dll_void___cdecl_AddLog_char_const__]
add esp, 4
push 0
mov ecx, dword [ebp - 0x4c]
push ecx
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
test eax, eax
jne 0x41eb21
push str.Unable_to_kill_process___n
call dword [sym.imp.SysInfo.dll_void___cdecl_AddLog_char_const__]
add esp, 4
jmp 0x41eb2f
push 0x43c958
call dword [sym.imp.SysInfo.dll_void___cdecl_AddLog_char_const__]
add esp, 4
lea ecx, [ebp - 0xa4]
call sub.MFC42.DLL_CStdioFile::CStdioFile
mov byte [ebp - 4], 0xa
lea edx, [ebp - 0x20]
push edx
push 0
push str.bios.tmp
lea ecx, [ebp - 0xa4]
call sub.MFC42.DLL_CStdioFile::Open
test eax, eax
je 0x41ebbe
lea ecx, [ebp - 0xa8]
call sub.MFC42.DLL_CString::CString_2
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0xa8]
push eax
lea ecx, [ebp - 0xa4]
call sub.MFC42.DLL_CStdioFile::ReadString
test eax, eax
je 0x41eb94
lea ecx, [ebp - 0xa8]
push ecx
mov ecx, dword [ebp - 0xcc]
add ecx, 0x30
call sub.MFC42.DLL_CString::operator_2
jmp 0x41eb67
lea ecx, [ebp - 0xa4]
call sub.MFC42.DLL_CStdioFile::Close
push str.bios.tmp
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xa8]
call sub.MFC42.DLL_CString::CString
jmp 0x41ec5f
push str.BIOSINFO:_ERROR:_Biosinfo_did_not_generate_file___n
call dword [sym.imp.SysInfo.dll_void___cdecl_AddLog_char_const__]
add esp, 4
push 0x43e488
mov ecx, dword [ebp - 0xcc]
add ecx, 0x30
call sub.MFC42.DLL_CString::operator_1
mov dword [ebp - 0xb8], 0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xa4]
call fcn.0042ded6
mov byte [ebp - 4], 5
mov dword [ebp - 0x20], 0x432ccc
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x10]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 5
mov dword [ebp - 0x20], 0x432cb0
mov dword [ebp - 0x20], 0x4328ac
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x34]
call sub.MFC42.DLL_CFile::CFile
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x3c]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call sub.MFC42.DLL_CString::CString
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp - 0xb8]
jmp 0x41ed6e
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xa4]
call fcn.0042ded6
jmp 0x41ed02
push str.BIOSINFO:_ERROR:_Unable_to_launch_BiosInfo.exe_tool___n
call dword [sym.imp.SysInfo.dll_void___cdecl_AddLog_char_const__]
add esp, 4
push 0x43e488
mov ecx, dword [ebp - 0xcc]
add ecx, 0x30
call sub.MFC42.DLL_CString::operator_1
mov dword [ebp - 0xbc], 0
mov byte [ebp - 4], 5
mov dword [ebp - 0x20], 0x432ccc
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x10]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 5
mov dword [ebp - 0x20], 0x432cb0
mov dword [ebp - 0x20], 0x4328ac
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x34]
call sub.MFC42.DLL_CFile::CFile
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x3c]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call sub.MFC42.DLL_CString::CString
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp - 0xbc]
jmp 0x41ed6e
mov dword [ebp - 0xc0], 1
mov byte [ebp - 4], 5
mov dword [ebp - 0x20], 0x432ccc
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x10]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 5
mov dword [ebp - 0x20], 0x432cb0
mov dword [ebp - 0x20], 0x4328ac
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x34]
call sub.MFC42.DLL_CFile::CFile
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x3c]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call sub.MFC42.DLL_CString::CString
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
mov esp, ebp
pop ebp
ret 4