Function at 0x4012bc
Capabilities:
Inspect section memory permissions

Disassembly:
jmp 0x42f960
sub esp, 0xa2c
push ebx
push ebp
push esi
push edi
push 0
mov ebp, ecx
push 0x1c200
call fcn.00402153
mov eax, dword [ebp + 0x58c]
mov ebx, dword [sym.imp.MSVCRT.dll__strnicmp]
mov esi, dword [esp + 0xa40]
cmp eax, 1
jne 0x42fe06
mov edi, str.LT68
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [ebp + 0xb9c4]
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x10], 0
push ecx
push str.LT68
push edx
call ebx
add esp, 0xc
test eax, eax
je 0x42fd8f
mov edi, str.LP68
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [ebp + 0xb9c4]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.LP68
push edx
call ebx
add esp, 0xc
test eax, eax
je 0x42fd8f
mov edi, str.HS68
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [ebp + 0xb9c4]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.HS68
push edx
call ebx
add esp, 0xc
test eax, eax
je 0x42fd8f
mov edi, str.KT68
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [ebp + 0xb9c4]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.KT68
push edx
call ebx
add esp, 0xc
test eax, eax
je 0x42fd8f
mov edi, str.KT68
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp + 0xba14]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.KT68
push edx
call ebx
add esp, 0xc
test eax, eax
je 0x42fd8f
mov edi, str.HS68
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [ebp + 0xba14]
push ecx
push str.HS68
push eax
call ebx
add esp, 0xc
test eax, eax
je 0x42fd8f
mov edi, str.LT68
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [ebp + 0xba14]
push ecx
push str.LT68
push eax
call ebx
add esp, 0xc
test eax, eax
je 0x42fd8f
mov edi, str.LP68
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [ebp + 0xba14]
push ecx
push str.LP68
push eax
call ebx
add esp, 0xc
test eax, eax
je 0x42fd8f
mov edi, str.LG81
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [ebp + 0xb9c4]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.LG81
push edx
call ebx
add esp, 0xc
test eax, eax
je 0x42fd17
mov edi, str.LT81
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [ebp + 0xb9c4]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.LT81
push edx
call ebx
add esp, 0xc
test eax, eax
je 0x42fd17
mov edi, str.KT81
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [ebp + 0xb9c4]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.KT81
push edx
call ebx
add esp, 0xc
test eax, eax
je 0x42fd17
mov edi, str.HS81
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [ebp + 0xb9c4]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.HS81
push edx
call ebx
add esp, 0xc
test eax, eax
je 0x42fd17
mov edi, str.LG81
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [ebp + 0xba14]
push ecx
push str.LG81
push eax
call ebx
add esp, 0xc
test eax, eax
je 0x42fd17
mov edi, str.LT81
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [ebp + 0xba14]
push ecx
push str.LT81
push eax
call ebx
add esp, 0xc
test eax, eax
je 0x42fd17
mov edi, str.KT81
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [ebp + 0xba14]
push ecx
push str.KT81
push eax
call ebx
add esp, 0xc
test eax, eax
je 0x42fd17
mov edi, str.HS81
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [ebp + 0xba14]
push ecx
push str.HS81
push eax
call ebx
add esp, 0xc
test eax, eax
je 0x42fd17
mov edi, str.SD86
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [ebp + 0xb9c4]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.SD86
push edx
call ebx
add esp, 0xc
test eax, eax
je 0x42fc9f
mov edi, str.SD86
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [ebp + 0xba14]
push ecx
push str.SD86
push eax
call ebx
add esp, 0xc
test eax, eax
je 0x42fc9f
mov edi, str.PLP04
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [ebp + 0xba14]
push ecx
push str.PLP04
push eax
call ebx
add esp, 0xc
test eax, eax
jne 0x42fe62
mov ecx, dword [esi]
lea eax, [esp + 0x2c]
add ecx, 0x107c
push esi
mov dword [esi + 0x10], ecx
mov ecx, ebp
mov byte [esp + 0x30], 0x42
mov byte [esp + 0x31], 4
mov byte [esp + 0x32], 0
mov dword [esi + 0x14], 3
mov dword [esi + 0xc], eax
mov dword [esi + 0x18], 0x7d0
call fcn.0040202c
cmp eax, 0x17
je 0x42fcec
mov edx, dword [esi + 4]
mov eax, dword [edx + 0x5ac]
test eax, eax
jne 0x42fe62
push 0
push 0
push str.MISC_Fail___
call sub.MFC42.DLL_AfxMessageBox
mov eax, dword [esi + 4]
push 0
push 8
mov ecx, ebp
mov dword [eax + 0x5ec], 0
call fcn.0040168b
jmp 0x4306a9
mov edx, dword [esi]
lea ecx, [esp + 0x2c]
mov dword [esi + 0xc], ecx
add edx, 0x107c
push esi
mov ecx, ebp
mov byte [esp + 0x30], 0x42
mov byte [esp + 0x31], 3
mov byte [esp + 0x32], 0
mov dword [esi + 0x14], 3
mov dword [esi + 0x10], edx
mov dword [esi + 0x18], 0x7d0
call fcn.0040202c
cmp eax, 0x17
je 0x42fd64
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x5ac]
test ecx, ecx
jne 0x42fe62
push 0
push 0
push str.MISC_Fail___
call sub.MFC42.DLL_AfxMessageBox
mov ecx, dword [esi + 4]
push 0
push 8
mov dword [ecx + 0x5ec], 0
mov ecx, ebp
call fcn.0040168b
jmp 0x4306a9
mov eax, dword [esi]
lea edx, [esp + 0x2c]
add eax, 0x107c
push esi
mov ecx, ebp
mov byte [esp + 0x30], 0x42
mov byte [esp + 0x31], 2
mov byte [esp + 0x32], 0
mov dword [esi + 0x14], 3
mov dword [esi + 0xc], edx
mov dword [esi + 0x10], eax
mov dword [esi + 0x18], 0x7d0
call fcn.0040202c
cmp eax, 0x17
je 0x42fddb
mov ecx, dword [esi + 4]
mov eax, dword [ecx + 0x5ac]
test eax, eax
jne 0x42fe62
push 0
push 0
push str.MISC_Fail___
call sub.MFC42.DLL_AfxMessageBox
mov edx, dword [esi + 4]
push 0
push 8
mov ecx, ebp
mov dword [edx + 0x5ec], 0
call fcn.0040168b
jmp 0x4306a9
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x5d0]
cmp eax, 0xe0000
jbe 0x42fe32
mov cl, byte [0x472c5a]
and cl, 0x7f
sub cl, 5
neg cl
sbb ecx, ecx
and ecx, 0x10000000
mov dword [esp + 0x10], ecx
jmp 0x42fe62
cmp eax, 0xc0000
jbe 0x42fe43
mov dword [esp + 0x10], 0x20000000
jmp 0x42fe62
cmp eax, 0x80000
jbe 0x42fe54
mov dword [esp + 0x10], 0x40000000
jmp 0x42fe62
jne 0x4306b7
mov dword [esp + 0x10], 0x80000000
mov eax, dword [esp + 0x10]
push 0
mov edi, eax
and eax, 0xffff
shr edi, 0x10
shl edi, 4
add edi, eax
push 9
mov ecx, ebp
mov dword [esp + 0x18], edi
call fcn.0040168b
push edi
lea edx, [esp + 0x1c]
push str.0x_X
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov eax, 0xfffff
mov ecx, 0xe0000
mov ebx, 0x7d0
mov edi, 3
mov edx, dword [esp + 0x10]
test edx, edx
je 0x4300bd
cmp edx, 0x10000
je 0x43006a
cmp edx, 0x20000
je 0x42fffe
mov al, byte [0x472c5a]
and al, 0x7f
cmp al, 5
jne 0x42fff1
mov edx, dword [esi + 4]
cmp dword [edx + 0x5d0], ecx
jbe 0x42ff9a
mov ecx, dword [esi]
lea eax, [esp + 0x2c]
add ecx, 0x107c
push esi
mov dword [esi + 0x10], ecx
mov ecx, ebp
mov byte [esp + 0x30], 0xf
mov byte [esp + 0x31], 0
mov byte [esp + 0x32], 0
mov dword [esi + 0x14], edi
mov dword [esi + 0xc], eax
mov dword [esi + 0x18], ebx
call fcn.0040202c
cmp eax, 0x17
je 0x43051f
mov edx, dword [esi + 4]
mov eax, dword [edx + 0x5ac]
test eax, eax
je 0x43051f
cmp byte [0x472c5a], 0x85
jne 0x42fff1
mov ecx, dword [esi]
lea eax, [esp + 0x2c]
add ecx, 0x107c
push esi
mov dword [esi + 0x10], ecx
mov ecx, ebp
mov byte [esp + 0x30], 0xf
mov byte [esp + 0x31], 1
mov byte [esp + 0x32], 0
mov dword [esi + 0x14], edi
mov dword [esi + 0xc], eax
mov dword [esi + 0x18], ebx
call fcn.0040202c
cmp eax, 0x17
je 0x430575
mov edx, dword [esi + 4]
mov eax, dword [edx + 0x5ac]
test eax, eax
je 0x430575
mov dword [esp + 0x14], 0xfffff
jmp 0x43012f
cmp al, 5
jne 0x42fff1
cmp dword [esp + 0x10], 0x40000
jne 0x42fff1
mov ecx, dword [esi]
lea eax, [esp + 0x2c]
add ecx, 0x107c
push esi
mov dword [esi + 0x10], ecx
mov ecx, ebp
mov byte [esp + 0x30], 0xf
mov byte [esp + 0x31], 4
mov byte [esp + 0x32], 0
mov dword [esi + 0x14], edi
mov dword [esi + 0xc], eax
mov dword [esi + 0x18], ebx
call fcn.0040202c
cmp eax, 0x17
je 0x43054a
mov edx, dword [esi + 4]
mov eax, dword [edx + 0x5ac]
test eax, eax
je 0x43054a
mov dword [esp + 0x14], 0xfffff
jmp 0x43012f
mov dl, byte [0x472c5a]
and dl, 0x7f
cmp dl, 5
jne 0x43012b
mov dword [esp + 0x10], ecx
mov ecx, dword [esi]
add ecx, 0x107c
lea eax, [esp + 0x2c]
mov dword [esi + 0x10], ecx
push esi
mov ecx, ebp
mov dword [esp + 0x18], 0x40000
mov byte [esp + 0x30], 0xf
mov byte [esp + 0x31], 0
mov byte [esp + 0x32], 2
mov dword [esi + 0x14], edi
mov dword [esi + 0xc], eax
mov dword [esi + 0x18], ebx
call fcn.0040202c
cmp eax, 0x17
je 0x430575
mov edx, dword [esi + 4]
mov eax, dword [edx + 0x5ac]
test eax, eax
je 0x430575
jmp 0x43012f
mov ecx, dword [esi]
lea eax, [esp + 0x2c]
add ecx, 0x107c
push esi
mov dword [esi + 0x10], ecx
mov ecx, ebp
mov byte [esp + 0x30], 0xf
mov byte [esp + 0x31], 5
mov byte [esp + 0x32], 0
mov dword [esi + 0x14], edi
mov dword [esi + 0xc], eax
mov dword [esi + 0x18], ebx
call fcn.0040202c
cmp eax, 0x17
je 0x4305a0
mov edx, dword [esi + 4]
mov eax, dword [edx + 0x5ac]
test eax, eax
je 0x4305a0
mov dword [esp + 0x14], 0xfffff
jmp 0x43012f
cmp dword [ebp + 0x58c], 1
je 0x43012b
mov dl, byte [0x472c5a]
and dl, 0x7f
cmp dl, 5
jne 0x43012b
mov dword [esp + 0x10], ecx
mov ecx, dword [esi]
add ecx, 0x107c
lea eax, [esp + 0x2c]
mov dword [esi + 0x10], ecx
push esi
mov ecx, ebp
mov dword [esp + 0x18], 0x20000
mov byte [esp + 0x30], 0xf
mov byte [esp + 0x31], 0
mov byte [esp + 0x32], 1
mov dword [esi + 0x14], edi
mov dword [esi + 0xc], eax
mov dword [esi + 0x18], ebx
call fcn.0040202c
cmp eax, 0x17
je 0x4305cb
mov edx, dword [esi + 4]
mov eax, dword [edx + 0x5ac]
test eax, eax
je 0x4305cb
jmp 0x43012f
mov dword [esp + 0x14], eax
mov ecx, dword [ebp + 0xba60]
mov eax, 1
cmp ecx, eax
je 0x430492
cmp dword [ebp + 0xba68], eax
je 0x430492
mov edi, str.SD510I
or ecx, 0xffffffff
xor eax, eax
lea ebx, [ebp + 0xba14]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.SD510I
push ebx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x430492
mov edi, str.PL510
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.PL510
push ebx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x430492
mov edi, str.LT510
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.LT510
push ebx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x430492
mov edi, str.ibook
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.ibook
push ebx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x430492
mov edi, str.KT511
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.KT511
push ebx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x430492
mov edi, str.HS512
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.HS512
push ebx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x430492
mov edi, str.KM512
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.KM512
push ebx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x430492
mov edi, str.P510
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.P510
push ebx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x430492
mov edi, str.D111
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.D111
push ebx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x430492
mov edi, str.SD111
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.SD111
push ebx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x430492
mov edi, str.PL100
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.PL100
push ebx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x430492
mov edi, str.D510
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.D510
push ebx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x430492
mov edi, str.D511
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.D511
push ebx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x430492
mov edi, str.D512
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.D512
push ebx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x430492
mov edi, str.SD511I
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.SD511I
push ebx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x430492
mov edi, str.PL512I
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.PL512I
push ebx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x430492
mov edi, str.P515
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.P515
push ebx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x430492
mov edi, str.LT515
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.LT515
push ebx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x430492
mov edi, str.KT516
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.KT516
push ebx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x430492
cmp dword [ebp + 0xba64], 1
je 0x43048b
mov edi, str.Dp700
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.Dp700
push ebx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x43048b
mov edi, str.Dp900
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.Dp900
push ebx
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
je 0x43048b
mov byte [esp + 0x2c], 0xa
jmp 0x430497
mov byte [esp + 0x2c], 0x60
jmp 0x430497
mov byte [esp + 0x2c], 0x51
mov eax, dword [esp + 0x10]
push esi
mov ecx, eax
mov edx, eax
shr ecx, 0x10
mov byte [esp + 0x31], cl
mov ecx, dword [esi]
add ecx, 0x107c
mov byte [esp + 0x33], al
shr edx, 8
lea eax, [esp + 0x30]
mov dword [esi + 0x10], ecx
mov ecx, ebp
mov byte [esp + 0x32], dl
mov dword [esi + 0x14], 4
mov dword [esi + 0xc], eax
mov dword [esi + 0x18], 0x249f0
call fcn.0040202c
cmp eax, 0x17
je 0x430683
mov edx, dword [esi + 4]
mov eax, dword [edx + 0x5ac]
test eax, eax
je 0x430683
mov eax, dword [esp + 0x14]
cmp eax, 0xfffff
mov dword [esp + 0x10], eax
je 0x4305f6
mov edi, 3
mov ebx, 0x7d0
mov ecx, 0xe0000
mov eax, 0xfffff
jmp 0x42feac
push 0
push 0
push str.Download_mode_Change_Failed.._Retry_Upgrade___
call sub.MFC42.DLL_AfxMessageBox
mov ecx, dword [esi + 4]
push 0
push 8
mov dword [ecx + 0x5ec], 0
mov ecx, ebp
call fcn.0040168b
jmp 0x4306a9
push 0
push 0
push str.Unprotect_Change_Failed.._Retry_Upgrade___
call sub.MFC42.DLL_AfxMessageBox
mov edx, dword [esi + 4]
push 0
push 8
mov ecx, ebp
mov dword [edx + 0x5ec], 0
call fcn.0040168b
jmp 0x4306a9
push 0
push 0
push str.Download_mode_Change_Failed.._Retry_Upgrade___
call sub.MFC42.DLL_AfxMessageBox
mov eax, dword [esi + 4]
push 0
push 8
mov ecx, ebp
mov dword [eax + 0x5ec], 0
call fcn.0040168b
jmp 0x4306a9
push 0
push 0
push str.Unprotect_Change_Failed.._Retry_Upgrade___
call sub.MFC42.DLL_AfxMessageBox
mov ecx, dword [esi + 4]
push 0
push 8
mov dword [ecx + 0x5ec], 0
mov ecx, ebp
call fcn.0040168b
jmp 0x4306a9
push 0
push 0
push str.Download_mode_Change_Failed.._Retry_Upgrade___
call sub.MFC42.DLL_AfxMessageBox
mov edx, dword [esi + 4]
push 0
push 8
mov ecx, ebp
mov dword [edx + 0x5ec], 0
call fcn.0040168b
jmp 0x4306a9
mov eax, dword [ebp + 0x58c]
test eax, eax
jne 0x430671
mov ecx, dword [esi]
lea eax, [esp + 0x2c]
add ecx, 0x107c
push esi
mov dword [esi + 0x10], ecx
mov ecx, ebp
mov byte [esp + 0x30], 0xf
mov byte [esp + 0x31], 3
mov byte [esp + 0x32], 0
mov dword [esi + 0x14], 3
mov dword [esi + 0xc], eax
mov dword [esi + 0x18], 0xea60
call fcn.0040202c
cmp eax, 0x17
je 0x430649
mov edx, dword [esi + 4]
mov eax, dword [edx + 0x5ac]
test eax, eax
jne 0x430671
push 0
push 0
push str.Misc_Cmd_Failed.._Retry_Upgrade___
call sub.MFC42.DLL_AfxMessageBox
push 0
push 0xa
mov ecx, ebp
call fcn.0040168b
mov eax, dword [esi + 4]
mov dword [eax + 0x5ec], 0
jmp 0x4306a9
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0xa2c
ret 4
push 0
push 0
push str.Erase_mode_Change_Failed.._Retry_Upgrade___
call sub.MFC42.DLL_AfxMessageBox
push 0
push 0xa
mov ecx, ebp
call fcn.0040168b
mov ecx, dword [esi + 4]
mov dword [ecx + 0x5ec], 0
push 0
push 0x9600
mov ecx, ebp
call fcn.00402153
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xa2c
ret 4