Function at 0x413ae0
Capabilities:
Delete file

Disassembly:
push 0xffffffffffffffff
push 0x429e61
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x110
push ebx
push ebp
push esi
push edi
mov ebp, ecx
mov byte [esp + 0x13], 1
call fcn.00417df0
test eax, eax
je 0x413be4
push str.shengji_soft_boot33_
lea eax, [esp + 0x18]
push 0x434a44
push eax
call sub.MFC42.DLL_operator_1
push str.boot_1_5.bin
lea ecx, [esp + 0x20]
push eax
push ecx
mov dword [esp + 0x134], 0
call sub.MFC42.DLL_operator_1
push eax
lea ecx, [ebp + 0x32c]
mov byte [esp + 0x12c], 1
call fcn.00426e04
lea ecx, [esp + 0x1c]
mov byte [esp + 0x128], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov dword [esp + 0x128], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, ebp
call fcn.00409530
test al, al
je 0x414430
push 2
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.boot_1_5.bin
call sub.MFC42.DLL_CString::CString_2
push 0xa5
push 0xa3
push 0xa1
mov ecx, ebp
call fcn.00417320
test eax, eax
jne 0x413bd0
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileA]
push str.hardtest.bin
call esi
push str.boot_1_5.bin
call esi
jmp 0x414430
push str.boot_1_5.bin
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 2
push 0x49
jmp 0x414429
lea ebx, [ebp + 0x2e0]
mov ecx, ebx
call fcn.00420f80
test eax, eax
jne 0x413bfe
push 0x5e
push 0x6a
jmp 0x414429
push 5
push 0x93
mov ecx, ebx
call fcn.004256c0
mov ecx, ebx
call fcn.00421100
test eax, eax
jne 0x413c20
push 0x55
push 0x6a
jmp 0x414429
lea edx, [esp + 0x20]
mov ecx, ebx
push edx
push 0x80
call fcn.004237d0
test eax, eax
jne 0x413c3e
push 0x36
push 0x6a
jmp 0x414429
mov eax, dword [esp + 0x20]
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
cmp al, 6
jne 0x413c96
lea eax, [esp + 0x20]
mov ecx, ebx
push eax
push 0xc
call fcn.004237d0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov dword [ebp + 0x170], ecx
mov ecx, ebp
mov dword [ebp + 0x174], edx
mov byte [esp + 0x13], 2
call fcn.00414450
test al, al
je 0x414430
mov ecx, ebp
call fcn.00414760
test al, al
jne 0x413d5a
jmp 0x414430
cmp al, 3
jne 0x413cb3
mov ecx, ebp
mov byte [esp + 0x13], 2
call fcn.00414760
test al, al
jne 0x413d5a
jmp 0x414430
cmp al, 4
jne 0x413d5a
cmp ah, 2
jne 0x413d5a
mov al, byte [esp + 0x22]
cmp al, ah
jne 0x413d5a
lea eax, [esp + 0x20]
mov ecx, ebx
push eax
call fcn.0041ffe0
test eax, eax
jne 0x413ce9
push 0xc
push 1
jmp 0x414429
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov dword [ebp + 0x170], ecx
mov ecx, dword [esp + 0x34]
lea eax, [ebp + 0x184]
mov dword [ebp + 0x174], edx
mov edx, dword [esp + 0x38]
lea edi, [ebp + 0x190]
mov dword [eax], ecx
mov ecx, dword [esp + 0x3c]
lea esi, [esp + 0x40]
push 0x7d0
mov dword [eax + 4], edx
lea edx, [ebp + 0x178]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov dword [edx], eax
mov eax, dword [esp + 0x2c]
mov dword [edx + 4], ecx
mov ecx, 0x20
rep movsd dword es:[edi], dword [esi]
mov dword [edx + 8], eax
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, ebp
call fcn.004130a0
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [esp + 0x20]
push ecx
push 0x80
mov ecx, ebx
call fcn.004237d0
test eax, eax
jne 0x413d78
push 0x35
push 0x6a
jmp 0x414429
mov eax, dword [esp + 0x20]
cmp al, 4
jne 0x414425
cmp ah, 2
jne 0x414425
mov ecx, ebx
call fcn.00420f00
test eax, eax
jne 0x413da1
push 0x47
push 0x6a
jmp 0x414429
lea edx, [esp + 0x20]
mov ecx, ebx
push edx
push 0x80
call fcn.004237d0
test eax, eax
jne 0x413dbf
push 0x34
push 0x6a
jmp 0x414429
mov eax, dword [esp + 0x20]
cmp al, 1
jne 0x4141e9
cmp ah, 3
jne 0x413e1e
cmp byte [esp + 0x22], 2
jae 0x413ee4
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x432f08
call sub.MFC42.DLL_CString::CString_2
mov ecx, ebp
call fcn.004198e0
test eax, eax
je 0x413e0f
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x432f08
call sub.MFC42.DLL_CString::CString_2
mov ecx, ebp
call fcn.00419b20
mov eax, dword [esp + 0x20]
cmp al, 1
jne 0x4141e9
cmp ah, 3
jae 0x413edb
mov ecx, ebp
mov byte [esp + 0x13], 2
call fcn.00414b20
test al, al
je 0x414430
mov ecx, ebx
call fcn.00420f80
lea eax, [esp + 0x20]
mov ecx, ebx
push eax
call fcn.0041ffe0
test eax, eax
jne 0x413e58
push 0x14
push 1
jmp 0x414429
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov dword [ebp + 0x170], ecx
mov ecx, dword [esp + 0x34]
lea eax, [ebp + 0x184]
mov dword [ebp + 0x174], edx
mov edx, dword [esp + 0x38]
lea edi, [ebp + 0x190]
mov dword [eax], ecx
mov ecx, dword [esp + 0x3c]
lea esi, [esp + 0x40]
mov dword [eax + 4], edx
lea edx, [ebp + 0x178]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov dword [edx], eax
mov eax, dword [esp + 0x28]
mov dword [edx + 4], ecx
mov ecx, 0x20
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
mov dword [edx + 8], eax
call fcn.00420f00
test eax, eax
jne 0x413ec5
push 0x48
push 0x6a
jmp 0x414429
push 1
mov ecx, ebp
call fcn.00405c90
test al, al
jne 0x414131
jmp 0x414430
jne 0x413f16
cmp byte [esp + 0x22], 2
jb 0x413f16
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 0x432f08
call sub.MFC42.DLL_CString::CString_2
mov ecx, ebp
call fcn.004198e0
test eax, eax
jne 0x414131
mov eax, dword [esp + 0x20]
cmp al, 1
jne 0x4141e9
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, ebx
call fcn.004233b0
test eax, eax
jne 0x413fce
mov ecx, ebx
mov dword [ebp + 0x60], 1
mov byte [esp + 0x13], 2
call fcn.00420f80
lea ecx, [esp + 0x20]
push ecx
mov ecx, ebx
call fcn.0041ffe0
test eax, eax
jne 0x413f51
push 0xd
push 1
jmp 0x414429
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
mov dword [ebp + 0x170], edx
mov edx, dword [esp + 0x34]
lea ecx, [ebp + 0x184]
mov dword [ebp + 0x174], eax
mov eax, dword [esp + 0x38]
lea edi, [ebp + 0x190]
mov dword [ecx], edx
mov edx, dword [esp + 0x3c]
lea esi, [esp + 0x40]
mov dword [ecx + 4], eax
lea eax, [ebp + 0x178]
mov dword [ecx + 8], edx
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov dword [eax], ecx
mov ecx, dword [esp + 0x28]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov ecx, 0x20
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
call fcn.00420f00
test eax, eax
jne 0x413fbe
push 0x49
push 0x6a
jmp 0x414429
push 1
mov ecx, ebp
call fcn.00405c90
test al, al
jmp 0x41433a
lea edx, [esp + 0x20]
mov ecx, ebx
push edx
push 0x80
call fcn.004237d0
test eax, eax
jne 0x41408b
push 0x7530
call edi
mov ecx, ebx
call fcn.00421100
lea eax, [esp + 0x20]
mov ecx, ebx
push eax
call fcn.0041ffe0
test eax, eax
jne 0x41400e
push 0xe
push 1
jmp 0x414429
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov dword [ebp + 0x170], ecx
mov ecx, dword [esp + 0x34]
lea eax, [ebp + 0x184]
mov dword [ebp + 0x174], edx
mov edx, dword [esp + 0x38]
lea edi, [ebp + 0x190]
mov dword [eax], ecx
mov ecx, dword [esp + 0x3c]
lea esi, [esp + 0x40]
mov dword [eax + 4], edx
lea edx, [ebp + 0x178]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov dword [edx], eax
mov eax, dword [esp + 0x28]
mov dword [edx + 4], ecx
mov ecx, 0x20
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
mov dword [edx + 8], eax
call fcn.00420f00
test eax, eax
jne 0x41407b
push 0x49
push 0x6a
jmp 0x414429
push 2
mov ecx, ebp
call fcn.00405c90
test al, al
jmp 0x41433a
mov eax, dword [esp + 0x20]
mov cl, al
and cl, 0xf
cmp cl, 1
je 0x414153
mov al, ah
and al, 0xf
cmp al, 3
jne 0x414153
lea edx, [esp + 0x18]
mov ecx, ebp
push edx
call fcn.00417080
lea esi, [ebp + 0x358]
push eax
mov ecx, esi
mov dword [esp + 0x12c], 2
call fcn.00426e04
lea ecx, [esp + 0x18]
mov dword [esp + 0x128], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov esi, dword [esi]
push esi
call dword [sym.imp.MSVCRT.dll_atoi]
add esp, 4
mov dword [ebp + 0x35c], eax
push 0x3e8
call edi
mov ecx, ebx
call fcn.00421100
test eax, eax
jne 0x41410f
push 0x54
push 0x6a
jmp 0x414429
push 0x3e8
call edi
mov ecx, ebx
call fcn.00420f00
test eax, eax
jne 0x41412a
push 0x4a
push 0x6a
jmp 0x414429
push 0x3e8
call edi
lea ecx, [esp + 0x20]
push ecx
push 0x80
mov ecx, ebx
call fcn.004237d0
test eax, eax
jne 0x414358
push 0x33
push 0x6a
jmp 0x414429
mov ecx, ebx
mov byte [esp + 0x13], 2
call fcn.00420f80
lea eax, [esp + 0x20]
mov ecx, ebx
push eax
call fcn.0041ffe0
test eax, eax
jne 0x414178
push 0x15
push 1
jmp 0x414429
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov dword [ebp + 0x170], ecx
mov ecx, dword [esp + 0x34]
lea eax, [ebp + 0x184]
mov dword [ebp + 0x174], edx
mov edx, dword [esp + 0x38]
lea edi, [ebp + 0x190]
mov dword [eax], ecx
mov ecx, dword [esp + 0x3c]
lea esi, [esp + 0x40]
mov dword [eax + 4], edx
lea edx, [ebp + 0x178]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov dword [edx], eax
mov eax, dword [esp + 0x28]
mov dword [edx + 4], ecx
mov ecx, 0x20
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
mov dword [edx + 8], eax
call fcn.00420f00
test eax, eax
jne 0x413fbe
push 0x49
push 0x6a
jmp 0x414429
mov cl, al
and cl, 0xf
cmp cl, 2
jne 0x4142a4
cmp ah, 3
jae 0x4142a4
mov byte [esp + 0x13], cl
mov ecx, ebp
call fcn.00414b20
test al, al
je 0x414430
mov ecx, ebx
call fcn.00420f80
lea edx, [esp + 0x20]
mov ecx, ebx
push edx
call fcn.0041ffe0
test eax, eax
jne 0x414233
push 3
push 1
jmp 0x414429
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov dword [ebp + 0x170], eax
mov eax, dword [esp + 0x34]
lea edx, [ebp + 0x184]
mov dword [ebp + 0x174], ecx
mov ecx, dword [esp + 0x38]
lea edi, [ebp + 0x190]
mov dword [edx], eax
mov eax, dword [esp + 0x3c]
lea esi, [esp + 0x40]
mov dword [edx + 4], ecx
lea ecx, [ebp + 0x178]
mov dword [edx + 8], eax
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov dword [ecx], edx
mov edx, dword [esp + 0x28]
mov dword [ecx + 4], eax
mov dword [ecx + 8], edx
mov ecx, 0x20
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
call fcn.00420f00
test eax, eax
jne 0x413fbe
push 0x4b
push 0x6a
jmp 0x414429
mov ecx, ebx
call fcn.00420f80
lea eax, [esp + 0x20]
mov ecx, ebx
push eax
call fcn.0041ffe0
test eax, eax
jne 0x4142c4
push 2
push 1
jmp 0x414429
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov dword [ebp + 0x170], ecx
mov ecx, dword [esp + 0x34]
lea eax, [ebp + 0x184]
mov dword [ebp + 0x174], edx
mov edx, dword [esp + 0x38]
lea edi, [ebp + 0x190]
mov dword [eax], ecx
mov ecx, dword [esp + 0x3c]
lea esi, [esp + 0x40]
mov dword [eax + 4], edx
lea edx, [ebp + 0x178]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov dword [edx], eax
mov eax, dword [esp + 0x28]
mov dword [edx + 4], ecx
mov ecx, 0x20
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
mov dword [edx + 8], eax
call fcn.00420f00
test eax, eax
jne 0x414331
push 0x4c
push 0x6a
jmp 0x414429
mov ecx, ebp
call fcn.004133f0
test eax, eax
je 0x414430
mov ecx, ebx
call fcn.00420f00
test eax, eax
jne 0x414131
push 0x4d
push 0x6a
jmp 0x414429
mov eax, dword [esp + 0x20]
cmp al, 1
jne 0x414415
cmp ah, 3
jne 0x414415
mov ecx, ebp
call fcn.0040ee20
test eax, eax
je 0x414430
cmp byte [esp + 0x13], 1
jne 0x41438d
mov eax, 1
jmp 0x414432
mov ecx, ebp
call fcn.0040c2e0
push 4
push 0x93
mov ecx, ebx
call fcn.004256c0
mov ecx, ebp
mov dword [ebp + 0x168], 3
call fcn.00406730
test al, al
je 0x414430
push 0x10dc
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.D:PC_link_20104PCLINKDlg.cpp
call sub.MFC42.DLL_CString::CString_2
mov ecx, ebp
call fcn.00417170
push 4
push 0x93
mov ecx, ebx
call fcn.004256c0
mov ecx, ebp
mov dword [ebp + 0x168], 1
call fcn.00406730
test al, al
je 0x414430
push 4
push 0x93
mov ecx, ebx
call fcn.004256c0
push 0x77
mov ecx, ebp
call fcn.00415250
mov eax, 1
jmp 0x414432
push 0
push 0
push str.boot_error2_
call sub.MFC42.DLL_AfxMessageBox
jmp 0x414430
push 0
push 0x54
mov ecx, ebp
call fcn.00406e80
xor eax, eax
mov ecx, dword [esp + 0x120]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x11c
ret