Function at 0x402e24
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffa0
mov eax, 0x492698
call fcn.0047d508
push 0x15
push 0
push 0x49c814
call fcn.0047d0c4
add esp, 0xc
cmp dword [0x48c0d8], 0xcc
je 0x402eb0
cmp dword [0x48c0d8], 0x33
je 0x402eb0
mov word [ebp - 0x44], 0xc
mov edx, str.Device_code_error_1
lea eax, [ebp - 4]
call fcn.0048a45c
inc dword [ebp - 0x38]
mov edx, dword [eax]
mov ecx, dword [sym.MppsUpgrade.exe__FrmMain]
mov eax, dword [ecx]
mov eax, dword [eax + 0x378]
call fcn.0045f398
dec dword [ebp - 0x38]
lea eax, [ebp - 4]
mov edx, 2
call fcn.0048a560
call fcn.004039b4
call fcn.004038c4
xor eax, eax
mov edx, dword [ebp - 0x54]
mov dword fs:[0], edx
jmp 0x4032e2
call fcn.004037e0
mov dword [0x49c960], eax
cmp dword [0x49c960], 0
je 0x402ed1
cmp dword [0x48c0d8], 0x33
je 0x402f31
jmp 0x403266
cmp byte [0x49c965], 0
jne 0x402f31
call fcn.004032e8
test al, al
jne 0x402f31
mov word [ebp - 0x44], 0x18
mov edx, str.Security_error_1
lea eax, [ebp - 8]
call fcn.0048a45c
inc dword [ebp - 0x38]
mov edx, dword [eax]
mov eax, dword [sym.MppsUpgrade.exe__FrmMain]
mov ecx, dword [eax]
mov eax, dword [ecx + 0x378]
call fcn.0045f398
dec dword [ebp - 0x38]
lea eax, [ebp - 8]
mov edx, 2
call fcn.0048a560
call fcn.004038c4
mov dword [0x49c960], 2
jmp 0x403266
mov word [ebp - 0x44], 0x24
lea eax, [ebp - 0xc]
call fcn.00401fa8
push eax
inc dword [ebp - 0x38]
call fcn.004034d4
pop ecx
lea edx, [ebp - 0xc]
mov edx, dword [edx]
mov eax, dword [sym.MppsUpgrade.exe__FrmMain]
mov ecx, dword [eax]
mov eax, dword [ecx + 0x374]
call fcn.0045f398
dec dword [ebp - 0x38]
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.0048a560
mov word [ebp - 0x44], 0x30
lea eax, [ebp - 0x10]
call fcn.00401fa8
mov ecx, eax
inc dword [ebp - 0x38]
mov edx, 8
mov eax, dword [0x49c81c]
call fcn.004161f4
lea edx, [ebp - 0x10]
mov edx, dword [edx]
mov eax, dword [sym.MppsUpgrade.exe__FrmMain]
mov ecx, dword [eax]
mov eax, dword [ecx + 0x384]
call fcn.0045f398
dec dword [ebp - 0x38]
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.0048a560
mov ecx, dword [sym.MppsUpgrade.exe__FrmMain]
mov eax, dword [ecx]
mov edx, dword [eax]
call dword [edx + 0x8c]
cmp dword [0x48c0d8], 0x33
je 0x402fe3
mov al, 1
mov edx, dword [ebp - 0x54]
mov dword fs:[0], edx
jmp 0x4032e2
call fcn.00403acc
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0x4b1
jne 0x40303f
mov word [ebp - 0x44], 0x3c
mov edx, str.Hardware_is_up_to_date_
lea eax, [ebp - 0x14]
call fcn.0048a45c
inc dword [ebp - 0x38]
mov edx, dword [eax]
mov eax, dword [sym.MppsUpgrade.exe__FrmMain]
mov ecx, dword [eax]
mov eax, dword [ecx + 0x378]
call fcn.0045f398
dec dword [ebp - 0x38]
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.0048a560
xor eax, eax
mov edx, dword [ebp - 0x54]
mov dword fs:[0], edx
jmp 0x4032e2
call fcn.004039b4
test al, al
jne 0x403093
mov word [ebp - 0x44], 0x48
mov edx, str.Error_clearing_port
lea eax, [ebp - 0x18]
call fcn.0048a45c
inc dword [ebp - 0x38]
mov edx, dword [eax]
mov eax, dword [sym.MppsUpgrade.exe__FrmMain]
mov ecx, dword [eax]
mov eax, dword [ecx + 0x378]
call fcn.0045f398
dec dword [ebp - 0x38]
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.0048a560
xor eax, eax
mov edx, dword [ebp - 0x54]
mov dword fs:[0], edx
jmp 0x4032e2
push 0
call fcn.00402ddc
pop ecx
push 0xa5f1
call fcn.00402448
pop ecx
test al, al
je 0x403266
push 0x3e
call fcn.00402dd0
pop ecx
push eax
call fcn.00403978
pop ecx
test al, al
jne 0x40310c
mov word [ebp - 0x44], 0x54
mov edx, str.Error_writing_to_device
lea eax, [ebp - 0x1c]
call fcn.0048a45c
inc dword [ebp - 0x38]
mov edx, dword [eax]
mov eax, dword [sym.MppsUpgrade.exe__FrmMain]
mov ecx, dword [eax]
mov eax, dword [ecx + 0x378]
call fcn.0045f398
dec dword [ebp - 0x38]
lea eax, [ebp - 0x1c]
mov edx, 2
call fcn.0048a560
xor eax, eax
mov edx, dword [ebp - 0x54]
mov dword fs:[0], edx
jmp 0x4032e2
push 0x1f4
call fcn.00403a30
pop ecx
mov byte [ebp - 0x5d], al
call fcn.004038c4
push 0x9c4
call fcn.00403b38
pop ecx
call fcn.004019f4
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0
je 0x403145
push 0x1f4
call fcn.00403b38
pop ecx
jmp 0x40312a
call fcn.004039b4
cmp dword [0x48c0d8], 0xcc
je 0x4031ab
mov word [ebp - 0x44], 0x60
mov edx, str.Device_code_error_3
lea eax, [ebp - 0x20]
call fcn.0048a45c
inc dword [ebp - 0x38]
mov edx, dword [eax]
mov eax, dword [sym.MppsUpgrade.exe__FrmMain]
mov ecx, dword [eax]
mov eax, dword [ecx + 0x378]
call fcn.0045f398
dec dword [ebp - 0x38]
lea eax, [ebp - 0x20]
mov edx, 2
call fcn.0048a560
call fcn.004039b4
call fcn.004038c4
xor eax, eax
mov edx, dword [ebp - 0x54]
mov dword fs:[0], edx
jmp 0x4032e2
call fcn.00403870
test al, al
jne 0x4031ff
mov word [ebp - 0x44], 0x6c
mov edx, str.Device_serial_error_1
lea eax, [ebp - 0x24]
call fcn.0048a45c
inc dword [ebp - 0x38]
mov edx, dword [eax]
mov eax, dword [sym.MppsUpgrade.exe__FrmMain]
mov ecx, dword [eax]
mov eax, dword [ecx + 0x378]
call fcn.0045f398
dec dword [ebp - 0x38]
lea eax, [ebp - 0x24]
mov edx, 2
call fcn.0048a560
xor eax, eax
mov edx, dword [ebp - 0x54]
mov dword fs:[0], edx
jmp 0x4032e2
call fcn.004032e8
test al, al
jne 0x403258
mov word [ebp - 0x44], 0x78
mov edx, str.Security_error_2
lea eax, [ebp - 0x28]
call fcn.0048a45c
inc dword [ebp - 0x38]
mov edx, dword [eax]
mov eax, dword [sym.MppsUpgrade.exe__FrmMain]
mov ecx, dword [eax]
mov eax, dword [ecx + 0x378]
call fcn.0045f398
dec dword [ebp - 0x38]
lea eax, [ebp - 0x28]
mov edx, 2
call fcn.0048a560
call fcn.004038c4
xor eax, eax
mov edx, dword [ebp - 0x54]
mov dword fs:[0], edx
jmp 0x4032e2
mov al, 1
mov edx, dword [ebp - 0x54]
mov dword fs:[0], edx
jmp 0x4032e2
mov word [ebp - 0x44], 0x84
lea eax, [ebp - 0x2c]
call fcn.00401fa8
mov edx, eax
inc dword [ebp - 0x38]
mov eax, dword [0x49c960]
call fcn.004160e0
lea edx, [ebp - 0x2c]
push edx
lea eax, [ebp - 0x30]
call fcn.00401fa8
mov ecx, eax
inc dword [ebp - 0x38]
mov eax, str.Error_
pop edx
call fcn.0048a714
lea edx, [ebp - 0x30]
mov edx, dword [edx]
mov eax, dword [sym.MppsUpgrade.exe__FrmMain]
mov ecx, dword [eax]
mov eax, dword [ecx + 0x378]
call fcn.0045f398
dec dword [ebp - 0x38]
lea eax, [ebp - 0x30]
mov edx, 2
call fcn.0048a560
dec dword [ebp - 0x38]
lea eax, [ebp - 0x2c]
mov edx, 2
call fcn.0048a560
xor eax, eax
mov edx, dword [ebp - 0x54]
mov dword fs:[0], edx
mov esp, ebp
pop ebp
ret