Function at 0x408ab0
Capabilities:
Copy file
Create directory
Delete file

Disassembly:
mov eax, 0x2763c
call fcn.00435100
mov eax, dword [0x457a00]
xor eax, esp
mov dword [esp + 0x27634], eax
push ebx
push ebp
push esi
push edi
xor ebx, ebx
push 0x1fff
lea eax, [esp + 0x25645]
push ebx
push eax
mov byte [esp + 0x1f], bl
mov byte [esp + 0x1e], 1
mov byte [esp + 0x2564c], bl
call fcn.00433570
add esp, 0xc
push 0x25000
lea ecx, [esp + 0x34]
push ebx
push ecx
mov dword [esp + 0x2c], 0x40
mov dword [esp + 0x30], 0x400
mov dword [0x45b93c], ebx
call fcn.00433570
add esp, 0xc
push 0x103
lea edx, [esp + 0x2553d]
push ebx
push edx
mov byte [esp + 0x25544], bl
call fcn.00433570
add esp, 0xc
push 0x103
lea eax, [esp + 0x2532d]
push ebx
push eax
mov byte [esp + 0x25334], bl
call fcn.00433570
add esp, 0xc
push 0x103
lea ecx, [esp + 0x25225]
push ebx
push ecx
mov byte [esp + 0x2522c], bl
call fcn.00433570
add esp, 0xc
push 0x44dbb0
mov byte [esp + 0x18], bl
mov dword [0x45c110], ebx
call fcn.00401000
add esp, 4
push str.QCSDownload_V1.0.0.1_20180425
push str._________________________OneKeyDownload_Version___s____________________n
call fcn.00401000
push 0x44dbb0
call fcn.00401000
add esp, 0xc
lea esi, [esp + 0x25328]
call fcn.00401520
mov edx, esi
push str.image
push edx
lea ebx, [esp + 0x25540]
call fcn.00404c20
push eax
call fcn.00402020
add esp, 0xc
test al, al
je 0x408c06
mov eax, esi
mov byte [0x45c114], 1
add eax, 0xffffffff
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x408be0
mov ecx, dword [str.image]
mov dx, word [0x44d0ec]
mov dword [eax], ecx
mov cl, byte [0x44d0ee]
mov word [eax + 4], dx
mov byte [eax + 6], cl
lea edx, [esp + 0x25328]
push str.efs.mbn
push edx
lea ebx, [esp + 0x25228]
call fcn.00404c20
mov esi, eax
push 0
push esi
call fcn.0043ccd1
add esp, 0x10
test eax, eax
jne 0x408c7e
push 0x44c6fc
push esi
xor edi, edi
call fcn.0042ff87
mov esi, eax
add esp, 8
test esi, esi
je 0x408c63
push esi
call fcn.00431cb3
add esp, 4
push eax
call fcn.00431aa8
add esp, 4
push esi
mov edi, eax
call fcn.0043014e
add esp, 4
test edi, edi
setne al
test al, al
je 0x408c7e
push str.EFS_file_exist__n
call fcn.00401000
add esp, 4
mov byte [esp + 0x14], 1
lea eax, [esp + 0x25328]
push str.efs2.mbn
push eax
lea ebx, [esp + 0x25228]
call fcn.00404c20
mov esi, eax
push 0
push esi
call fcn.0043ccd1
add esp, 0x10
test eax, eax
jne 0x408cf6
push 0x44c6fc
push esi
xor ebx, ebx
call fcn.0042ff87
mov esi, eax
add esp, 8
test esi, esi
je 0x408cdb
push esi
call fcn.00431cb3
add esp, 4
push eax
call fcn.00431aa8
add esp, 4
push esi
mov ebx, eax
call fcn.0043014e
add esp, 4
test ebx, ebx
setne al
test al, al
je 0x408cf6
push str.EFS2_file_exist__n
call fcn.00401000
add esp, 4
mov byte [esp + 0x14], 1
push 0x104
lea ecx, [esp + 0x25224]
push 0
push ecx
call fcn.00433570
add esp, 0xc
lea edx, [esp + 0x25220]
push 0
push edx
lea ecx, [esp + 0x25330]
call fcn.00401580
add esp, 8
cmp dword [0x458e6c], 6
jne 0x408d45
cmp byte [0x45be73], 0
je 0x408d45
push str._rPlease_power_on_with_battery__n
call fcn.004301ca
add esp, 4
cmp byte [0x45bd5f], 0
je 0x408d52
push 0
jmp 0x408d54
push 0xffffffffffffffff
call fcn.00402f80
mov ebp, eax
add esp, 4
cmp ebp, 0xffffffff
mov dword [esp + 0x18], ebp
jne 0x408d93
cmp dword [0x45bd64], 0
jne 0x408d8c
push str.Fail_to_connect__please_check_USB_connection.
push str._t_FAIL:_s__n
call fcn.004301ca
add esp, 8
mov dword [0x45bd64], 0x44dc80
xor al, al
jmp 0x40c570
cmp dword [0x45b814], 0
jne 0x408dbd
mov eax, dword [0x45b820]
test eax, eax
mov dword [0x45b810], 0x450774
je 0x408dc7
push str.port_is_not_connected.
push 3
call eax
add esp, 8
jmp 0x408dc7
mov dword [0x45b820], 0x40c590
cmp byte [0x45be72], 0
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
je 0x408df0
push str._rEmergecy_download._t_t
call fcn.004301ca
add esp, 4
cmp byte [0x45be72], 0
jne 0x40910c
cmp byte [0x45bd5f], 0
jne 0x40910c
cmp byte [0x45bdea], 0
jne 0x409119
push 0x104
xor ebx, ebx
push ebx
push 0x45bb50
call fcn.00433570
add esp, 0xc
mov esi, 0x45bb50
call fcn.00401520
mov eax, esi
add eax, 0xffffffff
mov edi, edi
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x408e30
mov ecx, dword [str._back.ini]
mov edx, dword [0x44c704]
mov dword [eax], ecx
mov cx, word [0x44c708]
mov dword [eax + 4], edx
mov word [eax + 8], cx
mov eax, 0x45bb50
call fcn.00401fc0
test al, al
je 0x408f96
push str.back.ini_exist__n
call fcn.00401000
add esp, 4
push str.compare_version..._n
call fcn.00401000
mov edx, dword [str.Compare_version...]
mov eax, dword [0x44dcf4]
mov ecx, dword [0x44dcf8]
mov dword [0x45be80], edx
mov edx, dword [0x44dcfc]
add esp, 4
mov dword [0x45be8c], edx
mov edx, dword [0x45b93c]
push 0x45be80
mov dword [0x45be84], eax
mov ax, word [0x44dd00]
mov dword [0x45be88], ecx
mov cl, byte [0x44dd02]
push edx
push str._r_d___t_s
mov dword [0x45ba44], ebx
mov word [0x45be90], ax
mov byte [0x45be92], cl
call fcn.004301ca
mov eax, dword [esp + 0x20]
add esp, 0xc
push eax
push ebp
lea ecx, [esp + 0x1b]
call fcn.004076a0
add esp, 8
test eax, eax
je 0x408f02
mov byte [esp + 0x12], 0
cmp byte [esp + 0x13], 0
mov eax, str.True
jne 0x408f13
mov eax, str.False
push eax
push str.Usermode_:_s_n
call fcn.00401000
add esp, 8
cmp byte [esp + 0x12], 0
jne 0x408f5f
mov edi, ebp
call fcn.0041d9d0
cmp dword [0x45bd64], 0
jne 0x408d8c
push str.Fail_to_get_version._n
push str._t_FAIL:_s__n
call fcn.004301ca
add esp, 8
mov dword [0x45bd64], 0x44dd14
xor al, al
jmp 0x40c570
push 0x45be80
push 1
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 1
call fcn.004301ca
mov cl, byte [0x458e71]
add esp, 0xc
and byte [esp + 0x14], cl
mov eax, str.bBackRestore_true_n
jne 0x408f93
mov eax, str.bBackRestore_false_n
push eax
jmp 0x408f9b
push str.back.ini_not_exist__n
call fcn.00401000
add esp, 4
cmp byte [0x45be71], 0
je 0x409076
mov ecx, dword [0x44dd74]
mov edx, dword [str.check_version...]
mov eax, dword [0x44dd70]
mov dword [0x45be88], ecx
mov ecx, dword [0x45b93c]
push 0x45be80
mov dword [0x45be80], edx
mov edx, dword [0x44dd78]
mov dword [0x45be84], eax
mov al, byte [0x44dd7c]
push ecx
push str._r_d___t_s
mov dword [0x45ba44], ebx
mov dword [0x45be8c], edx
mov byte [0x45be90], al
call fcn.004301ca
add esp, 0xc
push str.check_version..._n
call fcn.00401000
add esp, 4
push ebp
call fcn.004082c0
add esp, 4
test eax, eax
je 0x409058
mov edi, ebp
call fcn.0041d9d0
cmp dword [0x45bd64], 0
jne 0x408d8c
push str.The_version_to_upgrade_is_lower_than_the_current._n
push str._t_FAIL:_s__n
call fcn.004301ca
add esp, 8
mov dword [0x45bd64], 0x44dd94
xor al, al
jmp 0x40c570
push 0x45be80
push 1
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 1
call fcn.004301ca
add esp, 0xc
cmp byte [0x45c117], 0
je 0x40910c
mov esi, ebp
call fcn.00407610
test al, al
je 0x40909c
mov byte [0x45bf07], 1
push str.file___etc_backup_backup_nv_OK__existing_n
jmp 0x4090a1
push str.file___etc_backup_backup_nv_OK__not_existing__n
call fcn.00401000
add esp, 4
cmp byte [0x45bf07], 0
mov esi, 0xf
sete byte [esp + 0x14]
lea ebx, [ebx]
push 0
push 0
mov edx, str.ATBMFTM1
mov ecx, ebp
call fcn.0041d2f0
add esp, 8
test eax, eax
setne bl
push 0x3e8
mov byte [esp + 0x16], bl
call edi
test bl, bl
mov eax, str.True
jne 0x4090f1
mov eax, str.False
push eax
push str.Excute_cmd:atbmftm1_ret__s__n
call fcn.00401000
add esp, 8
test bl, bl
jne 0x40910c
mov edx, esi
sub esi, 1
test edx, edx
jne 0x4090c0
cmp byte [0x45bdea], 0
je 0x4094db
mov eax, 0x45b838
call fcn.00401fc0
test al, al
je 0x409238
push str.mcfg_cust.mbn_exist..._n
call fcn.00401000
mov eax, dword [str.load_mcfg_cust.mbn...]
mov ecx, dword [0x44de6c]
mov edx, dword [0x44de70]
mov dword [0x45be80], eax
mov eax, dword [0x44de74]
add esp, 4
mov dword [0x45be8c], eax
mov eax, dword [0x45b93c]
push 0x45be80
mov dword [0x45be84], ecx
mov ecx, dword [0x44de78]
mov dword [0x45be88], edx
mov dx, word [0x44de7c]
push eax
push str._r_d___t_s
mov dword [0x45ba44], 1
mov dword [0x45be90], ecx
mov word [0x45be94], dx
call fcn.004301ca
add esp, 0xc
push str.Start_load_mcfg_cust.mbn..._n
call fcn.00401000
add esp, 4
push str._nv_mcfg_cfg_02_
push ebp
mov ecx, 0x45b838
call fcn.0041f3f0
add esp, 8
test eax, eax
setne al
test al, al
jne 0x40920d
push str.load_mcfg_cust.mbn_failed..._n
call fcn.00401000
add esp, 4
mov edi, ebp
call fcn.0041d9d0
cmp dword [0x45bd64], 0
jne 0x408d8c
push str.Fail_to_load_mcfg_cust.mbn_failed__n
push str._t_FAIL:_s__n
call fcn.004301ca
add esp, 8
mov dword [0x45bd64], 0x44dec0
xor al, al
jmp 0x40c570
push 0x45be80
push 0x5c
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x5c
call fcn.004301ca
add esp, 0xc
push str.load_mcfg_cust.mbn_succeed..._n
call fcn.00401000
add esp, 4
mov eax, 0x45b940
call fcn.00401fc0
test al, al
je 0x409358
push str.mcfg_band.mbn_exist..._n
call fcn.00401000
mov ecx, dword [str.load_mcfg_band.mbn...]
mov edx, dword [0x44df20]
mov eax, dword [0x44df24]
mov dword [0x45be80], ecx
mov ecx, dword [0x44df28]
add esp, 4
mov dword [0x45be8c], ecx
mov ecx, dword [0x45b93c]
push 0x45be80
mov dword [0x45be84], edx
mov edx, dword [0x44df2c]
mov dword [0x45be88], eax
mov ax, word [0x44df30]
push ecx
push str._r_d___t_s
mov dword [0x45ba44], 2
mov dword [0x45be90], edx
mov word [0x45be94], ax
call fcn.004301ca
add esp, 0xc
push str.Start_load_mcfg_band.mbn..._n
call fcn.00401000
add esp, 4
push str._nv_mcfg_cfg_03_
push ebp
mov ecx, 0x45b940
call fcn.0041f3f0
add esp, 8
test eax, eax
setne al
test al, al
jne 0x40932d
push str.load_mcfg_band.mbn_failed..._n
call fcn.00401000
add esp, 4
mov edi, ebp
call fcn.0041d9d0
cmp dword [0x45bd64], 0
jne 0x408d8c
push str.Fail_to_load_mcfg_band.mbn_failed__n
push str._t_FAIL:_s__n
call fcn.004301ca
add esp, 8
mov dword [0x45bd64], 0x44df74
xor al, al
jmp 0x40c570
push 0x45be80
push 0x60
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x60
call fcn.004301ca
add esp, 0xc
push str.load_mcfg_band.mbn_succeed..._n
call fcn.00401000
add esp, 4
mov eax, 0x45ba48
call fcn.00401fc0
test al, al
je 0x409444
push str.mcfg_band_hw.mbn_exist..._n
call fcn.00401000
mov edx, dword [0x45b93c]
mov ecx, 6
mov esi, str.load_mcfg_band_hw.mbn...
mov edi, 0x45be80
rep movsd dword es:[edi], dword [esi]
add esp, 4
push 0x45be80
push edx
push str._r_d___t_s
mov dword [0x45ba44], 3
movsb byte es:[edi], byte [esi]
call fcn.004301ca
add esp, 0xc
push str.Start_load_mcfg_band_hw.mbn..._n
call fcn.00401000
add esp, 4
push str._nv_mcfg_cfg_04_
push ebp
mov ecx, 0x45ba48
call fcn.0041f3f0
add esp, 8
test eax, eax
setne al
test al, al
jne 0x409419
push str.load_mcfg_band_hw.mbn_failed..._n
call fcn.00401000
add esp, 4
mov edi, ebp
call fcn.0041d9d0
cmp dword [0x45bd64], 0
jne 0x408d8c
push str.Fail_to_load_mcfg_band_hw.mbn_failed__n
push str._t_FAIL:_s__n
call fcn.004301ca
add esp, 8
mov dword [0x45bd64], 0x44e034
xor al, al
jmp 0x40c570
push 0x45be80
push 0x63
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x63
call fcn.004301ca
add esp, 0xc
push str.load_mcfg_band_hw.mbn_succeed..._n
call fcn.00401000
add esp, 4
mov eax, dword [str.End_load...]
mov ecx, dword [0x44e084]
mov edx, dword [0x44e088]
mov dword [0x45be80], eax
mov eax, dword [0x45b93c]
push 0x45be80
push eax
push str._r_d___t_s
mov dword [0x45ba44], 0
mov dword [0x45be84], ecx
mov dword [0x45be88], edx
call fcn.004301ca
add esp, 0xc
push str.load_mcfg_file_end..._n
call fcn.00401000
add esp, 4
mov edi, ebp
call fcn.0041d9d0
test eax, eax
jne 0x40c550
mov edi, ebp
call fcn.0041d9d0
cmp dword [0x45bd64], 0
jne 0x408d8c
push str.Fail_to_disconnect_device__n
push str._t_FAIL:_s__n
call fcn.004301ca
add esp, 8
mov dword [0x45bd64], 0x44e0a4
xor al, al
jmp 0x40c570
cmp byte [0x45bd5f], 0
je 0x40986c
push str.start_restore_data..._n
call fcn.00401000
add esp, 4
xor eax, eax
jmp 0x409500
mov cl, byte [eax + 0x45bb50]
mov byte [eax + 0x45bc58], cl
add eax, 1
test cl, cl
jne 0x409500
mov edx, dword [0x44e0dc]
mov ecx, dword [str.backup_at...]
mov eax, dword [0x44e0e0]
mov dword [0x45be84], edx
mov edx, dword [0x45b93c]
push 0x45be80
mov dword [0x45be80], ecx
mov cl, byte [0x44e0e4]
push edx
mov ebx, 1
push str._r_d___t_s
mov dword [0x45ba44], ebx
mov dword [0x45be88], eax
mov byte [0x45be8c], cl
call fcn.004301ca
lea eax, [esp + 0x2564c]
add esp, 0xc
push eax
lea ecx, [esp + 0x24]
mov edi, 0x45bb50
call fcn.00403d80
add esp, 4
test al, al
jne 0x4095b9
mov edi, ebp
call fcn.0041d9d0
cmp dword [0x45bd64], 0
jne 0x408d8c
push str.Back_at_failed__n
push str._t_FAIL:_s__n
call fcn.004301ca
add esp, 8
mov dword [0x45bd64], 0x44e0e8
xor al, al
jmp 0x40c570
mov esi, 2
push 0x45be80
push esi
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], esi
call fcn.004301ca
mov edx, dword [0x44e100]
mov ecx, dword [str.back_up_nv...]
mov eax, dword [0x44e104]
add esp, 0xc
mov dword [0x45be84], edx
mov edx, dword [0x45b93c]
push 0x45be80
mov dword [0x45be80], ecx
mov cx, word [0x44e108]
push edx
push str._r_d___t_s
mov dword [0x45ba44], esi
mov dword [0x45be88], eax
mov word [0x45be8c], cx
call fcn.004301ca
lea eax, [esp + 0x30]
add esp, 0xc
push eax
lea ecx, [esp + 0x34]
mov edi, 0x45bb50
call fcn.004047d0
add esp, 4
test al, al
jne 0x409677
mov edi, ebp
call fcn.0041d9d0
cmp dword [0x45bd64], 0
jne 0x408d8c
push str.Back_nv_failed__n
push str._t_FAIL:_s__n
call fcn.004301ca
add esp, 8
mov dword [0x45bd64], 0x44e10c
xor al, al
jmp 0x40c570
push 0x45be80
push 4
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 4
call fcn.004301ca
mov edx, dword [0x44e124]
mov ecx, dword [str.restore_nv...]
mov eax, dword [0x44e128]
add esp, 0xc
mov dword [0x45be84], edx
mov edx, dword [0x45b93c]
push 0x45be80
mov dword [0x45be80], ecx
mov cx, word [0x44e12c]
push edx
push str._r_d___t_s
mov dword [0x45ba44], ebx
mov dword [0x45be88], eax
mov word [0x45be8c], cx
call fcn.004301ca
mov eax, dword [esp + 0x30]
add esp, 0xc
push eax
lea edx, [esp + 0x34]
mov ecx, ebp
call fcn.004049b0
add esp, 4
test al, al
jne 0x409732
mov edi, ebp
call fcn.0041d9d0
cmp dword [0x45bd64], 0
jne 0x408d8c
push str.Restore_nv_failed__n
push str._t_FAIL:_s__n
call fcn.004301ca
add esp, 8
mov dword [0x45bd64], 0x44e130
xor al, al
jmp 0x40c570
push 0x45be80
push 0x62
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x62
call fcn.004301ca
mov edx, dword [0x44e148]
mov ecx, dword [str.restore_at...]
mov eax, dword [0x44e14c]
add esp, 0xc
mov dword [0x45be84], edx
mov edx, dword [0x45b93c]
push 0x45be80
mov dword [0x45be80], ecx
mov cx, word [0x44e150]
push edx
push str._r_d___t_s
mov dword [0x45ba44], esi
mov dword [0x45be88], eax
mov word [0x45be8c], cx
call fcn.004301ca
mov ebx, dword [esp + 0x2c]
add esp, 0xc
push ebp
lea ecx, [esp + 0x25644]
call fcn.004048f0
add esp, 4
test al, al
jne 0x4097ee
mov edi, ebp
call fcn.0041d9d0
cmp dword [0x45bd64], 0
jne 0x408d8c
push str.Restore_at_failed__n
push str._t_FAIL:_s__n
call fcn.004301ca
add esp, 8
mov dword [0x45bd64], 0x44e154
xor al, al
jmp 0x40c570
push 0x45be80
push 0x63
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x63
call fcn.004301ca
mov edx, dword [0x44e170]
mov eax, dword [str.End_restore_data...]
mov ecx, dword [0x44e16c]
add esp, 0xc
mov dword [0x45be88], edx
mov edx, dword [0x45b93c]
push 0x45be80
mov dword [0x45be80], eax
mov eax, dword [0x44e174]
mov dword [0x45be84], ecx
mov ecx, dword [0x44e178]
push edx
push str._r_d___t_s
mov dword [0x45ba44], 0
mov dword [0x45be8c], eax
mov dword [0x45be90], ecx
call fcn.004301ca
add esp, 0xc
jmp 0x409495
cmp byte [0x45c119], 0
je 0x4099ca
push str.Send_ATBMIMEI_______the_dongle__and_the_return_buf:_n
call fcn.00401000
add esp, 4
push 0x1f
push 0x45bdf0
mov edx, str.ATBMIMEI
mov ecx, ebp
call fcn.0041d2f0
test eax, eax
setne bl
push 0x45bdf0
push 0x44c6f8
mov byte [esp + 0x22], bl
call fcn.00401000
add esp, 0x10
test bl, bl
mov eax, str.ATBMIMEI_OK_n
jne 0x4098c2
mov eax, str.ATBMIMEI_ERROR_n
push eax
call fcn.00401000
mov eax, 0x45bdf0
add esp, 4
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4098d3
sub eax, edx
jne 0x40990c
push eax
push eax
mov edx, str.ATBMIMEI303030303030303030303030303030
mov ecx, ebp
call fcn.0041d2f0
push str.303030303030303030303030303030
test eax, eax
push 0x81
push 0x45bdf0
setne byte [esp + 0x26]
call fcn.004304d1
add esp, 0x14
push str.The_Current_dongle_IMEI:_n
call fcn.00401000
add esp, 4
push 0x45bdf0
push 0x44c6f8
call fcn.00401000
add esp, 8
mov edi, str.303030303030303030303030303030
mov esi, 0x45bdf0
mov ecx, 0x1f
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4099ee
push 0x81
push 0x45bd68
mov edx, str.ATBMSN
mov ecx, ebp
call fcn.0041d2f0
add esp, 8
test eax, eax
mov eax, 0x45bd68
setne byte [esp + 0x12]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x409970
sub eax, edx
jne 0x4099a9
push eax
push eax
mov edx, str.ATBMSN303030303030303030303030303030
mov ecx, ebp
call fcn.0041d2f0
push str.303030303030303030303030303030
test eax, eax
push 0x81
push 0x45bd68
setne byte [esp + 0x26]
call fcn.004304d1
add esp, 0x14
push str.The_Current_dongle_SN:_n
call fcn.00401000
add esp, 4
push 0x45bd68
push 0x44c6f8
call fcn.00401000
add esp, 8
jmp 0x4099ee
push str.303030303030303030303030303030
push 0x81
push 0x45bdf0
call fcn.004304d1
add esp, 0xc
push str.bFindModem__port_invalid__bBackRestore_no_efs.mbn____n
call fcn.00401000
add esp, 4
cmp byte [0x45be72], 0
jne 0x409a01
call fcn.00402080
mov byte [0x45c115], al
mov eax, 0x45bc58
call fcn.00401fc0
mov bl, al
test bl, bl
mov byte [esp + 0x2b], bl
mov eax, str.backup_temp_filename_exist_n
jne 0x409a1f
mov eax, str.backup_temp_filename_not_exist_n
push eax
call fcn.00401000
add esp, 4
mov edi, str.303030303030303030303030303030
mov esi, 0x45bd68
mov ecx, 0x1f
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x409aa6
mov edi, str.303030303030303030303030303030
mov esi, 0x45bdf0
mov ecx, 0x1f
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x409aa6
cmp byte [0x45bdec], al
jne 0x409aa6
cmp byte [0x45be74], al
jne 0x409aa6
test bl, bl
je 0x409aa6
call fcn.00402800
test al, al
jne 0x409aa6
mov edi, ebp
call fcn.0041d9d0
cmp dword [0x45bd64], 0
jne 0x408d8c
push str.Restore_file_is_not_exist_or_format_error__nFail_to_update._n
push str._t_FAIL:_s__n
call fcn.004301ca
add esp, 8
mov dword [0x45bd64], 0x44e2e8
xor al, al
jmp 0x40c570
cmp byte [0x45be73], 0
mov byte [esp + 0x1f], 0
je 0x409bd0
cmp byte [0x45be72], 0
jne 0x409bd0
call fcn.00413c20
test al, al
jne 0x409b7d
cmp dword [0x458e6c], 6
jne 0x409b7d
push 0x3f
lea ecx, [esp + 0x25035]
push 0
push ecx
mov byte [esp + 0x2503c], al
call fcn.00433570
add esp, 0xc
lea edx, [esp + 0x25030]
push 0x40
push edx
mov edx, str.ATBMFTM1
mov ecx, ebp
call fcn.0041d2f0
add esp, 8
test eax, eax
je 0x409b35
lea eax, [esp + 0x25030]
push 0x40
push eax
mov edx, str.ATBMCMDREBOOT
mov ecx, ebp
call fcn.0041d2f0
add esp, 8
mov byte [esp + 0x1f], 1
mov edi, ebp
call fcn.0041d9d0
test eax, eax
setne bl
push 0
mov byte [esp + 0x16], bl
call fcn.00402f80
mov ebp, eax
add esp, 4
cmp ebp, 0xffffffff
mov dword [esp + 0x18], ebp
je 0x409b65
test bl, bl
jne 0x409b79
mov edi, ebp
call fcn.0041d9d0
cmp dword [0x45bd64], 0
je 0x408d70
xor al, al
jmp 0x40c570
mov bl, byte [esp + 0x2b]
call fcn.004132a0
test al, al
jne 0x409bc3
cmp byte [esp + 0x12], al
jne 0x409bd0
mov edi, ebp
call fcn.0041d9d0
cmp dword [0x45bd64], 0
jne 0x408d8c
push str.Backup_WiFi_parameters_failed._n_n
push str._t_FAIL:_s__n
call fcn.004301ca
add esp, 8
mov dword [0x45bd64], 0x44e334
xor al, al
jmp 0x40c570
push str.Backup_WiFi_parameters_sucessfully._n_n
call fcn.004301ca
add esp, 4
test bl, bl
mov esi, 2
je 0x409d0d
call fcn.00402800
test al, al
je 0x409d0d
push str.exist_backup_temp_filename__restore_data_restore.ini_._n
call fcn.00401000
mov edx, dword [0x44e0dc]
mov ecx, dword [str.backup_at...]
mov eax, dword [0x44e0e0]
add esp, 4
mov dword [0x45be84], edx
mov edx, dword [0x45b93c]
push 0x45be80
mov dword [0x45be80], ecx
mov cl, byte [0x44e0e4]
push edx
push str._r_d___t_s
mov dword [0x45ba44], 1
mov dword [0x45be88], eax
mov byte [0x45be8c], cl
call fcn.004301ca
lea eax, [esp + 0x2564c]
add esp, 0xc
push eax
lea ecx, [esp + 0x24]
mov edi, 0x45bc58
call fcn.00403d80
add esp, 4
test al, al
je 0x409582
push 0x45be80
push esi
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], esi
call fcn.004301ca
mov edx, dword [0x44e100]
mov ecx, dword [str.back_up_nv...]
mov eax, dword [0x44e104]
add esp, 0xc
mov dword [0x45be84], edx
mov edx, dword [0x45b93c]
push 0x45be80
mov dword [0x45be80], ecx
mov cx, word [0x44e108]
push edx
push str._r_d___t_s
mov dword [0x45ba44], esi
mov dword [0x45be88], eax
mov word [0x45be8c], cx
call fcn.004301ca
lea eax, [esp + 0x30]
add esp, 0xc
push eax
lea ecx, [esp + 0x34]
call fcn.004047d0
add esp, 4
test al, al
je 0x409640
push 0x45be80
push 4
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 4
call fcn.004301ca
add esp, 0xc
jmp 0x40a19e
mov eax, 0x45bb50
call fcn.00401fc0
test al, al
je 0x40a19e
cmp byte [0x45be72], 0
jne 0x40a19e
mov ebx, dword [sym.imp.KERNEL32.dll_CopyFileA]
push 0
push 0x45bc58
push 0x45bb50
call ebx
mov edx, dword [0x44e0dc]
mov ecx, dword [str.backup_at...]
mov eax, dword [0x44e0e0]
mov dword [0x45be84], edx
mov edx, dword [0x45b93c]
push 0x45be80
mov dword [0x45be80], ecx
mov cl, byte [0x44e0e4]
push edx
push str._r_d___t_s
mov dword [0x45ba44], esi
mov dword [0x45be88], eax
mov byte [0x45be8c], cl
call fcn.004301ca
add esp, 0xc
push ebp
lea ecx, [esp + 0x24]
lea edx, [esp + 0x25644]
call fcn.00403900
add esp, 4
test al, al
jne 0x409dcb
push 0x45bc58
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov edi, ebp
call fcn.0041d9d0
cmp dword [0x45bd64], 0
je 0x409596
xor al, al
jmp 0x40c570
mov esi, 3
push 0x45be80
push esi
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], esi
call fcn.004301ca
mov ecx, dword [0x44e384]
mov eax, dword [str.backup_nv...]
mov edx, dword [0x44e388]
add esp, 0xc
mov dword [0x45be84], ecx
mov ecx, dword [0x45b93c]
push 0x45be80
mov dword [0x45be80], eax
mov al, byte [0x44e38c]
push ecx
push str._r_d___t_s
mov dword [0x45ba44], esi
mov dword [0x45be88], edx
mov byte [0x45be8c], al
call fcn.004301ca
add esp, 0xc
push ebp
lea edx, [esp + 0x28]
lea ecx, [esp + 0x34]
call fcn.00404290
add esp, 4
test al, al
jne 0x409e6f
push 0x45bc58
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov edi, ebp
call fcn.0041d9d0
cmp dword [0x45bd64], 0
je 0x409654
xor al, al
jmp 0x40c570
push 0x45be80
push 4
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 4
call fcn.004301ca
add esp, 0xc
push 0x103
lea edx, [esp + 0x2511d]
push 0
push edx
mov byte [esp + 0x25124], 0
call fcn.00433570
add esp, 0xc
xor eax, eax
mov dword [esp + 0x25071], eax
mov dword [esp + 0x25075], eax
mov dword [esp + 0x25079], eax
mov dword [esp + 0x2507d], eax
mov dword [esp + 0x25081], eax
mov dword [esp + 0x25085], eax
mov dword [esp + 0x25089], eax
mov word [esp + 0x2508d], ax
mov byte [esp + 0x2508f], al
mov dword [esp + 0x25031], eax
mov dword [esp + 0x25035], eax
mov dword [esp + 0x25039], eax
mov dword [esp + 0x2503d], eax
mov dword [esp + 0x25041], eax
mov dword [esp + 0x25045], eax
mov dword [esp + 0x25049], eax
mov word [esp + 0x2504d], ax
mov byte [esp + 0x2504f], al
mov eax, 0x45bc58
mov byte [esp + 0x25070], 0
lea ecx, [eax + 1]
mov edi, edi
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x409f40
sub eax, ecx
push eax
lea eax, [esp + 0x2511c]
push 0x45bc58
push eax
call fcn.0043dca0
add esp, 0xc
lea ecx, [esp + 0x25118]
push 0x5c
push ecx
call fcn.00431a10
lea esi, [eax + 1]
lea edi, [esp + 0x25078]
add esp, 8
mov ecx, esi
sub edi, esi
mov dl, byte [ecx]
mov byte [ecx + edi], dl
add ecx, 1
test dl, dl
jne 0x409f81
mov edx, dword [str.restore_]
mov dword [esi], edx
mov ecx, dword [0x44e394]
mov dword [esi + 4], ecx
lea ecx, [esp + 0x25075]
lea esi, [ecx + 1]
mov dl, byte [ecx]
add ecx, 1
test dl, dl
jne 0x409fa8
sub ecx, esi
push ecx
lea edx, [esp + 0x25079]
push edx
push 0x5f
push eax
call fcn.00430be0
add eax, 1
add esp, 8
push eax
call fcn.0043dca0
mov eax, dword [str.back_]
mov cl, byte [0x44e3a0]
mov dword [esp + 0x2503c], eax
lea eax, [esp + 0x25081]
mov byte [esp + 0x25040], cl
add esp, 0xc
lea ecx, [eax + 1]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x409ff6
sub eax, ecx
push eax
lea edx, [esp + 0x25079]
push edx
lea eax, [esp + 0x2503d]
push eax
call fcn.0043dca0
add esp, 0xc
push 0
lea ecx, [esp + 0x2511c]
push ecx
push 0x45bc58
call ebx
push str.1:backup_temp_filename_2:restore_filename_3:curr_restore_path_4:curr_restore_path_n
call fcn.00401000
add esp, 4
push 0x45bc58
push 0x44c6f8
call fcn.00401000
lea edx, [esp + 0x25120]
push edx
push 0x44c6f8
call fcn.00401000
push 0x103
lea eax, [esp + 0x25445]
push 0
push eax
mov byte [esp + 0x2544c], 0
call fcn.00433570
add esp, 0x1c
lea esi, [esp + 0x25430]
call fcn.00401520
mov eax, esi
add eax, 0xffffffff
lea esp, [esp]
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x40a090
mov ecx, dword [str._restore_data_]
mov edx, dword [0x44e400]
mov dword [eax], ecx
mov ecx, dword [0x44e404]
mov dword [eax + 4], edx
mov dx, word [0x44e408]
mov dword [eax + 8], ecx
mov cl, byte [0x44e40a]
mov word [eax + 0xc], dx
push 0
lea edx, [esp + 0x25434]
push edx
mov byte [eax + 0xe], cl
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
lea eax, [esp + 0x25030]
mov esi, eax
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x40a0e1
lea edi, [esp + 0x25430]
sub eax, esi
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x40a0f6
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0
lea eax, [esp + 0x25434]
push eax
and ecx, 3
push 0x45bc58
rep movsb byte es:[edi], byte [esi]
call ebx
lea ecx, [esp + 0x25430]
push ecx
push 0x44c6f8
call fcn.00401000
push 0x104
lea edx, [esp + 0x2543c]
push 0
push edx
call fcn.00433570
add esp, 0x14
lea esi, [esp + 0x25430]
call fcn.00401520
mov edi, esi
add edi, 0xffffffff
lea esp, [esp]
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x40a160
mov ecx, 6
mov esi, str._restore_data_restore.ini
rep movsd dword es:[edi], dword [esi]
push 0
lea eax, [esp + 0x25434]
push eax
push 0x45bc58
movsw word es:[edi], word [esi]
call ebx
lea ecx, [esp + 0x25430]
push ecx
push 0x44c6f8
call fcn.00401000
add esp, 8
movzx edx, byte [0x45bf05]
or dl, byte [0x45c115]
mov bl, byte [esp + 0x14]
or bl, dl
push str.Start_downloading..._n
mov byte [esp + 0x18], bl
call fcn.00401000
mov eax, dword [str.Start_downloading...]
mov edx, dword [0x44e480]
mov ecx, dword [0x44e47c]
mov dword [0x45be80], eax
mov eax, dword [0x44e484]
add esp, 4
mov dword [0x45be8c], eax
mov eax, dword [0x45b93c]
mov dword [0x45be88], edx
movzx edx, byte [0x44e48c]
push 0x45be80
mov dword [0x45be84], ecx
mov ecx, dword [0x44e488]
push eax
push str._r_d___t_s
mov dword [0x45ba44], 0x5e
mov dword [0x45be90], ecx
mov byte [0x45be94], dl
call fcn.004301ca
lea ecx, [esp + 0x24]
add esp, 0xc
push ecx
call fcn.00404ca0
add esp, 4
test al, al
jne 0x40a278
mov edi, dword [esp + 0x18]
cmp edi, 0xffffffff
je 0x40a248
call fcn.0041d9d0
cmp dword [0x45bd64], 0
jne 0x408d8c
push str.Fail_to_download_modem__n
push str._t_FAIL:_s__n
call fcn.004301ca
add esp, 8
mov dword [0x45bd64], 0x44e490
xor al, al
jmp 0x40c570
push str.Modem_update_successfull..._n
call fcn.00401000
mov eax, dword [0x458e6c]
add esp, 4
cmp eax, 6
jne 0x40a7cf
mov edx, dword [0x45b93c]
push 0x45be80
push edx
mov ecx, 7
mov esi, str.Modem_download_completed...
mov edi, 0x45be80
push str._r_d___t_s
mov dword [0x45ba44], 0
rep movsd dword es:[edi], dword [esi]
call fcn.004301ca
add esp, 0xc
mov esi, 0x64
push 0x45be80
push esi
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], esi
call fcn.004301ca
add esp, 0xc
push str._nModem_update_successfully_
call fcn.004301ca
add esp, 4
push str._rWait_for_update_AP...___________n_n
call fcn.004301ca
add esp, 4
push str.Wait_for_update_AP..._n
call fcn.00401000
mov edi, dword [esp + 0x1c]
add esp, 4
mov ecx, edi
call fcn.0041d580
call fcn.0041d9d0
test eax, eax
setne bl
test bl, bl
jne 0x40a35f
cmp edi, 0xffffffff
je 0x40a32f
call fcn.0041d9d0
cmp dword [0x45bd64], 0
jne 0x408d8c
push str.Fail_to_update._n
push str._t_FAIL:_s__n
call fcn.004301ca
add esp, 8
mov dword [0x45bd64], 0x44d13c
xor al, al
jmp 0x40c570
cmp byte [0x458e72], 0
jne 0x40a397
cmp byte [0x458e73], 0
jne 0x40a397
cmp byte [0x45bf05], 0
jne 0x40a397
cmp dword [0x45c110], 1
je 0x40a397
push str.Not_need_to_download_AP_and_PCSuit._n
call fcn.004301ca
add esp, 4
call fcn.004130c0
jmp 0x40a3af
call fcn.0040df50
mov bl, al
test bl, bl
je 0x40a325
push str.AP_update_successfully_
call fcn.004301ca
add esp, 4
movzx eax, byte [esp + 0x14]
or eax, dword [0x45c110]
setne al
test al, al
mov byte [esp + 0x14], al
jne 0x40a3cf
cmp byte [esp + 0x13], al
jne 0x40a71d
test edi, edi
je 0x40a3ef
cmp edi, 0xffffffff
je 0x40a3ef
push str.Disconnect_first_if_port_valid_n
call fcn.00401000
add esp, 4
call fcn.0041d9d0
test eax, eax
setne bl
push str._rWait_for_device...
call fcn.004301ca
add esp, 4
push 0
call fcn.00402f80
mov edi, eax
add esp, 4
cmp edi, 0xffffffff
je 0x409b65
test bl, bl
je 0x409b60
cmp byte [esp + 0x14], 0
je 0x40a699
push str._rWait_for_restore..._______n
call fcn.004301ca
add esp, 4
push str.Wait_for_restore..._n
call fcn.00401000
add esp, 4
mov eax, 0x45bb50
call fcn.00401fc0
test al, al
je 0x40a623
cmp byte [0x45bde9], 0
jne 0x40a623
cmp byte [0x45be73], 0
je 0x40a507
cmp byte [0x45be72], 0
jne 0x40a507
cmp byte [esp + 0x1f], 0
je 0x40a4b8
push 0x3f
lea ecx, [esp + 0x25035]
push 0
push ecx
mov byte [esp + 0x2503c], 0
call fcn.00433570
add esp, 0xc
lea edx, [esp + 0x25030]
push 0x40
push edx
mov edx, str.ATBMFTM0
mov ecx, edi
call fcn.0041d2f0
add esp, 8
test eax, eax
setne bl
call fcn.00413740
test al, al
jne 0x40a4fa
test bl, bl
jne 0x40a507
call fcn.0041d9d0
cmp dword [0x45bd64], 0
jne 0x408d8c
push str.Restore_WiFi_parameters_failed._n
push str._t_FAIL:_s__n
call fcn.004301ca
add esp, 8
mov dword [0x45bd64], 0x44e5fc
xor al, al
jmp 0x40c570
push str.Restore_WiFi_parameters_sucessfully._n
call fcn.004301ca
add esp, 4
mov ecx, dword [0x44e124]
mov eax, dword [str.restore_nv...]
mov edx, dword [0x44e128]
mov dword [0x45be84], ecx
mov ecx, dword [0x45b93c]
push 0x45be80
mov dword [0x45be80], eax
mov ax, word [0x44e12c]
push ecx
push str._r_d___t_s
mov dword [0x45ba44], 1
mov dword [0x45be88], edx
mov word [0x45be8c], ax
call fcn.004301ca
mov edx, dword [esp + 0x30]
add esp, 0xc
push edx
lea edx, [esp + 0x34]
mov ecx, edi
call fcn.004049b0
add esp, 4
test al, al
je 0x40a32a
push 0x45be80
push 0x62
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x62
call fcn.004301ca
mov ecx, dword [0x44e148]
mov eax, dword [str.restore_at...]
mov edx, dword [0x44e14c]
add esp, 0xc
mov dword [0x45be84], ecx
mov ecx, dword [0x45b93c]
push 0x45be80
mov dword [0x45be80], eax
mov ax, word [0x44e150]
push ecx
push str._r_d___t_s
mov dword [0x45ba44], 2
mov dword [0x45be88], edx
mov word [0x45be8c], ax
call fcn.004301ca
mov ebx, dword [esp + 0x2c]
add esp, 0xc
push edi
lea ecx, [esp + 0x25644]
call fcn.004048f0
add esp, 4
test al, al
je 0x40a32a
push 0x45be80
push 0x63
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x63
call fcn.004301ca
add esp, 0xc
mov byte [0x458e49], 0
mov ecx, dword [0x44e650]
mov edx, dword [str.End_restore...]
mov eax, dword [0x44e64c]
mov dword [0x45be88], ecx
mov ecx, dword [0x45b93c]
push 0x45be80
mov dword [0x45be80], edx
mov dx, word [0x44e654]
mov dword [0x45be84], eax
mov al, byte [0x44e656]
push ecx
push str._r_d___t_s
mov dword [0x45ba44], 0
mov word [0x45be8c], dx
mov byte [0x45be8e], al
call fcn.004301ca
add esp, 0xc
push 0x45be80
push esi
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], esi
call fcn.004301ca
add esp, 0xc
cmp byte [esp + 0x13], 0
je 0x40a6a7
cmp byte [esp + 0x14], 0
je 0x40a710
push 0
push 0
mov edx, str.ATBMFTM0
mov ecx, edi
call fcn.0041d2f0
add esp, 8
test eax, eax
mov eax, str.True
jne 0x40a6c8
mov eax, str.False
push eax
push str.excute_cmd_atbmftm0_ret__s_n
call fcn.00401000
add esp, 8
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
push 0
mov edx, str.atbmcmdreboot
mov ecx, edi
call fcn.0041d2f0
add esp, 8
test eax, eax
mov eax, str.True
jne 0x40a702
mov eax, str.False
push eax
push str.excute_cmd_excute_atbmcmdreboot_ret__s_n
call fcn.00401000
add esp, 8
call fcn.0041d9d0
test eax, eax
je 0x40a32a
push 0x103
lea edx, [esp + 0x2511d]
push 0
push edx
mov byte [esp + 0x25124], 0
call fcn.00433570
add esp, 0xc
lea esi, [esp + 0x25118]
call fcn.00401f20
mov eax, esi
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x40a750
sub eax, edx
push eax
lea eax, [esp + 0x2511c]
push eax
push 0x45bc58
call fcn.004317b3
add esp, 0xc
test eax, eax
jne 0x40a780
push 0x45bc58
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea esi, [esp + 0xbc]
mov edi, 0x400
lea esp, [esp]
mov eax, dword [esi]
test eax, eax
je 0x40a7a5
push eax
call fcn.0042504a
add esp, 4
mov dword [esi], 0
add esi, 0x94
sub edi, 1
jne 0x40a790
cmp byte [0x45be72], 0
je 0x40c56e
push str._rEmergency_download_end._n_please_find_the_correct_file_which_is_named_as_back_xxxxx.ini_or_restore_xxxxx.ini_in_temp_folder_and_download_again._n
call fcn.004301ca
add esp, 4
jmp 0x40c56e
cmp eax, 7
jne 0x40af36
mov ecx, eax
mov esi, str.Modem_download_completed...
mov edi, 0x45be80
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x45b93c]
push 0x45be80
push ecx
push str._r_d___t_s
mov dword [0x45ba44], 0
call fcn.004301ca
add esp, 0xc
push 0x45be80
push 0x64
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x64
call fcn.004301ca
add esp, 0xc
push str._nModem_update_successfully_
call fcn.004301ca
add esp, 4
push str._rWait_for_update_AP...___________n_n
call fcn.004301ca
add esp, 4
push str.Wait_for_update_AP..._____n
call fcn.00401000
mov edi, dword [esp + 0x1c]
add esp, 4
mov ecx, edi
call fcn.0041d580
call fcn.0041d9d0
test eax, eax
setne bl
test bl, bl
jne 0x40a875
cmp edi, 0xffffffff
je 0x4094ab
jmp 0x4094a6
cmp byte [0x458e72], 0
jne 0x40a8ad
cmp byte [0x458e73], 0
jne 0x40a8ad
cmp byte [0x45bf05], 0
jne 0x40a8ad
cmp dword [0x45c110], 1
je 0x40a8ad
push str._nNot_need_to_download_AP_and_PCSuit._n
call fcn.004301ca
add esp, 4
call fcn.004130c0
jmp 0x40a90f
call fcn.0040ee90
test eax, eax
setne bl
test bl, bl
jne 0x40a8f5
cmp edi, 0xffffffff
je 0x40a8c5
call fcn.0041d9d0
cmp dword [0x45bd64], 0
jne 0x408d8c
push str.Fail_to_download_ap__n
push str._t_FAIL:_s__n
call fcn.004301ca
add esp, 8
mov dword [0x45bd64], 0x44e768
xor al, al
jmp 0x40c570
push str.AP_update_successfully_
call fcn.004301ca
add esp, 4
push str.AP_update_successfully__n
call fcn.00401000
add esp, 4
push str._rWait_for_device...
call fcn.004301ca
add esp, 4
push 0
call fcn.00402f80
mov ebp, eax
add esp, 4
cmp ebp, 0xffffffff
je 0x409b65
movzx edx, byte [esp + 0x14]
or edx, dword [0x45c110]
setne al
test al, al
mov byte [esp + 0x14], al
je 0x40ac57
push 0x80
lea eax, [esp + 0x25095]
push 0
push eax
mov byte [esp + 0x2509c], 0
call fcn.00433570
add esp, 0xc
push str._rWait_for_restore...______n
xor esi, esi
call fcn.004301ca
add esp, 4
push str.Wait_for_restore..._n
call fcn.00401000
add esp, 4
mov eax, 0x45bb50
call fcn.00401fc0
test al, al
je 0x40abf6
cmp byte [0x45bde9], 0
jne 0x40abf6
mov edx, dword [0x44e148]
mov ecx, dword [str.restore_at...]
mov eax, dword [0x44e14c]
mov dword [0x45be84], edx
mov edx, dword [0x45b93c]
push 0x45be80
mov dword [0x45be80], ecx
mov cx, word [0x44e150]
push edx
push str._r_d___t_s
mov dword [0x45ba44], 2
mov dword [0x45be88], eax
mov word [0x45be8c], cx
call fcn.004301ca
add esp, 0xc
mov edi, ebp
call fcn.00401380
test al, al
jne 0x40aa1d
mov edi, ebp
call fcn.0041d9d0
cmp dword [0x45bd64], esi
je 0x40a33c
xor al, al
jmp 0x40c570
mov ebx, dword [esp + 0x20]
push ebp
lea ecx, [esp + 0x25644]
call fcn.004048f0
add esp, 4
test al, al
je 0x40aa03
push 0x45be80
push 0x5c
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x5c
call fcn.004301ca
add esp, 0xc
cmp byte [0x45bf07], 0
jne 0x40aa65
cmp byte [0x45c117], 0
jne 0x40aa6e
cmp byte [0x45bf05], 0
je 0x40aadc
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x40aa80
lea eax, [esp + 0x25090]
push 0x80
push eax
mov edx, str.ATBMCMDNV_RF_BACKUP
mov ecx, ebp
call fcn.0041d2f0
add esp, 8
test eax, eax
setne bl
test bl, bl
mov eax, str.true
jne 0x40aaaf
mov eax, str.false
lea ecx, [esp + 0x25090]
push ecx
push eax
push str.Excute_cmd_:ATBMCMDNV_RF_BACKUP_ret__s_buf__s_n
call fcn.00401000
add esp, 0xc
push 0x3e8
call edi
test bl, bl
jne 0x40aae2
mov edx, esi
add esi, 1
cmp edx, 0x28
jl 0x40aa80
jmp 0x40aae2
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x1388
call edi
mov ecx, dword [0x44e124]
mov eax, dword [str.restore_nv...]
mov edx, dword [0x44e128]
mov dword [0x45be84], ecx
mov ecx, dword [0x45b93c]
push 0x45be80
mov dword [0x45be80], eax
mov ax, word [0x44e12c]
push ecx
push str._r_d___t_s
mov dword [0x45ba44], 8
mov dword [0x45be88], edx
mov word [0x45be8c], ax
call fcn.004301ca
mov edx, dword [esp + 0x30]
add esp, 0xc
push edx
lea edx, [esp + 0x34]
mov ecx, ebp
call fcn.004049b0
add esp, 4
test al, al
jne 0x40ab58
mov edi, ebp
jmp 0x40a32a
push 0x45be80
push 0x5e
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x5e
call fcn.004301ca
add esp, 0xc
cmp byte [0x45bf07], 0
jne 0x40ab88
cmp byte [0x45c117], 0
jne 0x40ab91
cmp byte [0x45bf05], 0
je 0x40abed
xor esi, esi
lea eax, [esp + 0x25090]
push 0x80
push eax
mov edx, str.ATBMCMDNV_RF_BACKUP_END
mov ecx, ebp
call fcn.0041d2f0
add esp, 8
test eax, eax
setne bl
test bl, bl
mov eax, str.true
jne 0x40abc2
mov eax, str.false
lea ecx, [esp + 0x25090]
push ecx
push eax
push str.Excute_cmd_:ATBMCMDNV_RF_BACKUP_END_ret__s_buf__s_n
call fcn.00401000
add esp, 0xc
push 0x3e8
call edi
test bl, bl
jne 0x40abed
mov edx, esi
add esi, 1
cmp edx, 2
jl 0x40ab93
mov bl, 1
mov byte [0x458e49], 0
mov edx, dword [0x44e650]
mov eax, dword [str.End_restore...]
mov ecx, dword [0x44e64c]
mov dword [0x45be88], edx
mov edx, dword [0x45b93c]
push 0x45be80
mov dword [0x45be80], eax
mov ax, word [0x44e654]
mov dword [0x45be84], ecx
mov cl, byte [0x44e656]
push edx
push str._r_d___t_s
mov dword [0x45ba44], 0
mov word [0x45be8c], ax
mov byte [0x45be8e], cl
call fcn.004301ca
mov al, byte [esp + 0x20]
add esp, 0xc
cmp byte [0x45bf04], 0
je 0x40ad0e
test al, al
jne 0x40ad0e
mov ecx, dword [0x44e884]
mov eax, dword [str.Send_command...]
mov edx, dword [0x44e888]
mov dword [0x45be84], ecx
mov ecx, dword [0x45b93c]
push 0x45be80
mov dword [0x45be80], eax
mov eax, dword [0x44e88c]
push ecx
push str._r_d___t_s
mov dword [0x45ba44], 1
mov dword [0x45be88], edx
mov dword [0x45be8c], eax
call fcn.004301ca
add esp, 0xc
push 0
push 0
mov edx, str.atbmclrmru
mov ecx, ebp
call fcn.0041d2f0
add esp, 8
test eax, eax
setne bl
test bl, bl
jne 0x40ad0e
mov edi, ebp
call fcn.0041d9d0
cmp dword [0x45bd64], 0
jne 0x408d8c
push str.Command_atbmclrmru_failed_.
push str._t_FAIL:_s__n
call fcn.004301ca
add esp, 8
mov dword [0x45bd64], 0x44e89c
xor al, al
jmp 0x40c570
cmp byte [0x45be73], 0
je 0x40ad38
call fcn.00413740
test al, al
jne 0x40ad2b
test bl, bl
jne 0x40ad38
mov edi, ebp
jmp 0x40a4c5
push str.Restore_WiFi_parameters_sucessfully._n
call fcn.004301ca
add esp, 4
push 0x3f
lea edx, [esp + 0x25035]
push 0
push edx
mov byte [esp + 0x2503c], 0
call fcn.00433570
add esp, 0xc
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [0x45b93c]
mov ecx, 6
mov esi, str.Wirte_user_mode...
mov edi, 0x45be80
rep movsd dword es:[edi], dword [esi]
push 0x45be80
push eax
push str._r_d___t_s
mov dword [0x45ba44], 4
movsw word es:[edi], word [esi]
call fcn.004301ca
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
add esp, 0xc
mov esi, 1
nop
push 0x3e8
call edi
lea ecx, [esp + 0x25030]
push 0x40
push ecx
mov edx, str.atbmftm0
mov ecx, ebp
call fcn.0041d2f0
add esp, 8
test eax, eax
setne bl
test bl, bl
mov eax, str.True
jne 0x40add3
mov eax, str.False
push eax
lea edx, [esp + 0x25034]
push edx
push esi
push str.Wirte_user_mode_times:__d__s:_s_n
call fcn.00401000
add esp, 0x10
test bl, bl
jne 0x40ae2f
mov eax, esi
add esi, 1
cmp eax, 0x3d
jne 0x40ada0
mov edi, ebp
call fcn.0041d9d0
cmp dword [0x45bd64], 0
jne 0x408d8c
push str.Fail_to_write_user_mode_
push str._t_FAIL:_s__n
call fcn.004301ca
add esp, 8
mov dword [0x45bd64], 0x44e908
xor al, al
jmp 0x40c570
push str.Wirte_user_mode_ok_n
call fcn.00401000
add esp, 4
push 0
push 0
mov edx, str.atbmcmdreboot
mov ecx, ebp
call fcn.0041d2f0
add esp, 8
test eax, eax
mov eax, str.True
jne 0x40ae5d
mov eax, str.False
push eax
push str.excute_cmd_excute_atbmcmdreboot_ret__s_n
call fcn.00401000
add esp, 8
mov edi, ebp
call fcn.0041d9d0
test eax, eax
je 0x4094a4
push 0x45be80
push 0x64
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x64
call fcn.004301ca
add esp, 0xc
push 0x103
lea ecx, [esp + 0x2511d]
push 0
push ecx
mov byte [esp + 0x25124], 0
call fcn.00433570
add esp, 0xc
lea esi, [esp + 0x25118]
call fcn.00401f20
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x40aec8
sub eax, edx
push eax
lea edx, [esp + 0x2511c]
push edx
push 0x45bc58
call fcn.004317b3
add esp, 0xc
test eax, eax
jne 0x40aef8
push 0x45bc58
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea esi, [esp + 0xbc]
mov edi, 0x400
mov eax, dword [esi]
test eax, eax
je 0x40af19
push eax
call fcn.0042504a
add esp, 4
mov dword [esi], 0
add esi, 0x94
sub edi, 1
jne 0x40af04
push str._____________________________OneKeyDownload__end______________________________________________________________n
call fcn.00401000
add esp, 4
jmp 0x40a7b0
cmp eax, 8
jne 0x40b8ff
movzx eax, bl
or eax, dword [0x45c110]
mov ecx, 7
mov esi, str.Modem_download_completed...
mov edi, 0x45be80
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x45b93c]
push 0x45be80
push ecx
setne bl
push str._r_d___t_s
mov byte [esp + 0x20], bl
mov dword [0x45ba44], 0
call fcn.004301ca
add esp, 0xc
push 0x45be80
push 0x64
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x64
call fcn.004301ca
add esp, 0xc
push str._nModem_update_successfully_
call fcn.004301ca
add esp, 4
push str._rWait_for_update_AP...___________n_n
call fcn.004301ca
add esp, 4
push str.Wait_for_update_AP..._____n
call fcn.00401000
mov edi, dword [esp + 0x1c]
add esp, 4
mov ecx, edi
call fcn.0041d580
call fcn.0041d9d0
test eax, eax
setne al
test al, al
mov byte [esp + 0x12], al
jne 0x40aff3
cmp edi, 0xffffffff
je 0x4094ab
jmp 0x4094a6
cmp byte [0x458e72], 0
jne 0x40b03d
cmp byte [0x458e73], 0
jne 0x40b03d
cmp byte [0x45bf05], 0
jne 0x40b03d
cmp byte [0x458e70], 0
jne 0x40b03d
cmp byte [0x458e71], 0
jne 0x40b03d
cmp dword [0x45c110], 1
je 0x40b03d
push str._nNot_need_to_download_AP_and_PCSuit._n
call fcn.004301ca
add esp, 4
call fcn.004130c0
jmp 0x40b06d
call fcn.004101f0
test eax, eax
setne al
test al, al
mov byte [esp + 0x12], al
je 0x40a8bb
push str.AP_update_successfully_
call fcn.004301ca
add esp, 4
push str.AP_update_successfully__n
call fcn.00401000
add esp, 4
push str.Connect_to_device_..._n
call fcn.00401000
add esp, 4
push str._rWait_for_device...
call fcn.004301ca
add esp, 4
push 0x2710
call dword [sym.imp.KERNEL32.dll_Sleep]
test edi, edi
je 0x40b0b4
cmp edi, 0xffffffff
je 0x40b0b4
push str.Disconnect_first_if_port_valid_n
call fcn.00401000
add esp, 4
call fcn.0041d9d0
test eax, eax
setne byte [esp + 0x12]
push 0
call fcn.00402f80
mov ebp, eax
add esp, 4
cmp ebp, 0xffffffff
je 0x409b65
cmp byte [esp + 0x12], 0
je 0x409b5e
push str._rWait_for_load_and_restore...___n
call fcn.004301ca
add esp, 4
push str.Wait_for_load_and_restore..._n
call fcn.00401000
add esp, 4
cmp byte [0x45bf05], 0
jne 0x40b110
test bl, bl
jne 0x40b110
cmp byte [0x458e74], bl
jne 0x40b110
cmp dword [0x45c110], 1
jne 0x40b689
push 0x104
lea edx, [esp + 0x25224]
push 0
push edx
call fcn.00433570
add esp, 0xc
lea eax, [esp + 0x25328]
push str.mcfg_cust.mbn
push eax
lea ebx, [esp + 0x25228]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x40b1fa
push str.Downloading_mcfg_cust.mbn..._n
call fcn.00401000
mov eax, dword [0x44ea3c]
mov ecx, dword [str.mcfg_cust.mbn...]
mov edx, dword [0x44ea38]
add esp, 4
mov dword [0x45be88], eax
mov eax, dword [0x45b93c]
push 0x45be80
mov dword [0x45be80], ecx
mov ecx, dword [0x44ea40]
mov dword [0x45be84], edx
mov dl, byte [0x44ea44]
push eax
push str._r_d___t_s
mov dword [0x45ba44], 3
mov dword [0x45be8c], ecx
mov byte [0x45be90], dl
call fcn.004301ca
add esp, 0xc
push str._nv_mcfg_cfg_02_
push ebp
mov ecx, ebx
call fcn.0041f3f0
add esp, 8
test eax, eax
setne al
test al, al
mov byte [esp + 0x12], al
jne 0x40b1dd
mov edi, ebp
jmp 0x40a32a
push 0x45be80
push 0x5a
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x5a
call fcn.004301ca
jmp 0x40b216
lea ecx, [esp + 0x25220]
push ecx
push 0x44c6f8
call fcn.00401000
push str.mcfg_cust_file_not_exist__n
call fcn.00401000
add esp, 0xc
lea edx, [esp + 0x25328]
push str.mcfg_band.mbn
push edx
lea ebx, [esp + 0x25228]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x40b2eb
push str.Downloading_mcfg_band.mbn..._n
call fcn.00401000
mov edx, dword [0x44ea9c]
mov eax, dword [str.mcfg_band.mbn...]
mov ecx, dword [0x44ea98]
add esp, 4
mov dword [0x45be88], edx
mov edx, dword [0x45b93c]
push 0x45be80
mov dword [0x45be80], eax
mov eax, dword [0x44eaa0]
mov dword [0x45be84], ecx
mov cl, byte [0x44eaa4]
push edx
push str._r_d___t_s
mov dword [0x45ba44], 4
mov dword [0x45be8c], eax
mov byte [0x45be90], cl
call fcn.004301ca
add esp, 0xc
push str._nv_mcfg_cfg_03_
push ebp
mov ecx, ebx
call fcn.0041f3f0
add esp, 8
test eax, eax
setne al
test al, al
mov byte [esp + 0x12], al
jne 0x40b2ce
mov edi, ebp
jmp 0x40a32a
push 0x45be80
push 0x5b
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x5b
call fcn.004301ca
jmp 0x40b307
lea eax, [esp + 0x25220]
push eax
push 0x44c6f8
call fcn.00401000
push str.mcfg_band_file_not_exist__n
call fcn.00401000
add esp, 0xc
lea ecx, [esp + 0x25328]
push str.mcfg_band_hw.mbn
push ecx
lea ebx, [esp + 0x25228]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x40b3dc
push str.Downloading_mcfg_band_hw.mbn..._n
call fcn.00401000
mov ecx, dword [0x44eb04]
mov edx, dword [str.mcfg_band_hw.mbn...]
mov eax, dword [0x44eb00]
add esp, 4
mov dword [0x45be88], ecx
mov ecx, dword [0x45b93c]
push 0x45be80
mov dword [0x45be80], edx
mov edx, dword [0x44eb08]
mov dword [0x45be84], eax
mov eax, dword [0x44eb0c]
push ecx
push str._r_d___t_s
mov dword [0x45ba44], 5
mov dword [0x45be8c], edx
mov dword [0x45be90], eax
call fcn.004301ca
add esp, 0xc
push str._nv_mcfg_cfg_04_
push ebp
mov ecx, ebx
call fcn.0041f3f0
add esp, 8
test eax, eax
setne al
test al, al
mov byte [esp + 0x12], al
jne 0x40b3bf
mov edi, ebp
jmp 0x40a32a
push 0x45be80
push 0x5c
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x5c
call fcn.004301ca
jmp 0x40b3f8
lea edx, [esp + 0x25220]
push edx
push 0x44c6f8
call fcn.00401000
push str.mcfg_band_hw_file_not_exist__n
call fcn.00401000
add esp, 0xc
cmp byte [esp + 0x14], 0
jne 0x40b40f
cmp byte [0x45bf05], 0
je 0x40b689
push 0x80
lea eax, [esp + 0x25095]
push 0
push eax
mov byte [esp + 0x2509c], 0
call fcn.00433570
add esp, 0xc
mov eax, 0x45bb50
xor esi, esi
call fcn.00401fc0
test al, al
je 0x40b689
cmp byte [0x45bde9], 0
jne 0x40b689
mov edx, dword [0x44e148]
mov ecx, dword [str.restore_at...]
mov eax, dword [0x44e14c]
mov dword [0x45be84], edx
mov edx, dword [0x45b93c]
push 0x45be80
mov dword [0x45be80], ecx
mov cx, word [0x44e150]
push edx
push str._r_d___t_s
mov dword [0x45ba44], 7
mov dword [0x45be88], eax
mov word [0x45be8c], cx
call fcn.004301ca
add esp, 0xc
mov edi, ebp
call fcn.00401380
test al, al
je 0x40aa03
mov ebx, dword [esp + 0x20]
push ebp
lea ecx, [esp + 0x25644]
call fcn.004048f0
add esp, 4
test al, al
je 0x40aa03
push 0x45be80
push 0x5d
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x5d
call fcn.004301ca
add esp, 0xc
cmp byte [0x45bf07], 0
jne 0x40b4fd
cmp byte [0x45c117], 0
jne 0x40b506
cmp byte [0x45bf05], 0
je 0x40b56c
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
lea esp, [esp]
lea eax, [esp + 0x25090]
push 0x80
push eax
mov edx, str.ATBMCMDNV_RF_BACKUP
mov ecx, ebp
call fcn.0041d2f0
add esp, 8
test eax, eax
setne bl
test bl, bl
mov eax, str.true
jne 0x40b53f
mov eax, str.false
lea ecx, [esp + 0x25090]
push ecx
push eax
push str.Excute_cmd_:ATBMCMDNV_RF_BACKUP_ret__s_buf__s_n
call fcn.00401000
add esp, 0xc
push 0x3e8
call edi
test bl, bl
jne 0x40b572
mov edx, esi
add esi, 1
cmp edx, 0x28
jl 0x40b510
jmp 0x40b572
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x1388
call edi
mov ecx, dword [0x44e124]
mov eax, dword [str.restore_nv...]
mov edx, dword [0x44e128]
mov dword [0x45be84], ecx
mov ecx, dword [0x45b93c]
push 0x45be80
mov dword [0x45be80], eax
mov ax, word [0x44e12c]
push ecx
push str._r_d___t_s
mov dword [0x45ba44], 8
mov dword [0x45be88], edx
mov word [0x45be8c], ax
call fcn.004301ca
mov edx, dword [esp + 0x30]
add esp, 0xc
push edx
lea edx, [esp + 0x34]
mov ecx, ebp
call fcn.004049b0
add esp, 4
test al, al
jne 0x40b5e8
mov edi, ebp
jmp 0x40a32a
push 0x45be80
push 0x5e
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x5e
call fcn.004301ca
add esp, 0xc
cmp byte [0x45bf07], 0
jne 0x40b618
cmp byte [0x45c117], 0
jne 0x40b621
cmp byte [0x45bf05], 0
je 0x40b67d
xor esi, esi
lea eax, [esp + 0x25090]
push 0x80
push eax
mov edx, str.ATBMCMDNV_RF_BACKUP_END
mov ecx, ebp
call fcn.0041d2f0
add esp, 8
test eax, eax
setne bl
test bl, bl
mov eax, str.true
jne 0x40b652
mov eax, str.false
lea ecx, [esp + 0x25090]
push ecx
push eax
push str.Excute_cmd_:ATBMCMDNV_RF_BACKUP_END_ret__s_buf__s_n
call fcn.00401000
add esp, 0xc
push 0x3e8
call edi
test bl, bl
jne 0x40b67d
mov edx, esi
add esi, 1
cmp edx, 2
jl 0x40b623
mov byte [esp + 0x12], 1
mov byte [0x458e49], 0
mov eax, dword [str.End_load_and_restore...]
mov ecx, dword [0x44eb34]
mov edx, dword [0x44eb38]
mov dword [0x45be80], eax
mov eax, dword [0x44eb3c]
mov dword [0x45be8c], eax
mov eax, dword [0x45b93c]
push 0x45be80
mov dword [0x45be84], ecx
mov ecx, dword [0x44eb40]
mov dword [0x45be88], edx
mov edx, dword [0x44eb44]
push eax
push str._r_d___t_s
mov dword [0x45ba44], 0
mov dword [0x45be90], ecx
mov dword [0x45be94], edx
call fcn.004301ca
add esp, 0xc
cmp byte [esp + 0x12], 0
jne 0x40b6fd
mov edi, ebp
jmp 0x40a32a
push 0x3f
lea ecx, [esp + 0x25035]
push 0
push ecx
mov byte [esp + 0x2503c], 0
call fcn.00433570
add esp, 0xc
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, dword [0x45b93c]
mov ecx, 6
mov dword [0x45ba44], ecx
mov esi, str.Wirte_user_mode...
mov edi, 0x45be80
rep movsd dword es:[edi], dword [esi]
push 0x45be80
push edx
push str._r_d___t_s
movsw word es:[edi], word [esi]
call fcn.004301ca
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
add esp, 0xc
mov esi, 1
push 0x3e8
call edi
lea eax, [esp + 0x25030]
push 0x40
push eax
mov edx, str.atbmftm0
mov ecx, ebp
call fcn.0041d2f0
add esp, 8
test eax, eax
setne bl
test bl, bl
mov eax, str.True
jne 0x40b794
mov eax, str.False
push eax
lea ecx, [esp + 0x25034]
push ecx
push esi
push str.Wirte_user_mode_times:__d__s:_s_n
call fcn.00401000
add esp, 0x10
test bl, bl
jne 0x40b7d4
mov edx, esi
add esi, 1
cmp edx, 0x3d
jne 0x40b761
mov edi, ebp
call fcn.0041d9d0
cmp dword [0x45bd64], 0
je 0x40ae0c
xor al, al
jmp 0x40c570
push str.Wirte_user_mode_ok_n
call fcn.00401000
add esp, 4
push 0
push 0
mov edx, str.atbmcmdreboot
mov ecx, ebp
call fcn.0041d2f0
push 0x45be80
push 0x64
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x64
call fcn.004301ca
add esp, 0x14
push 0x103
lea eax, [esp + 0x2511d]
push 0
push eax
mov byte [esp + 0x25124], 0
call fcn.00433570
add esp, 0xc
lea esi, [esp + 0x25118]
call fcn.00401f20
mov eax, esi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x40b840
sub eax, edx
push eax
lea ecx, [esp + 0x2511c]
push ecx
push 0x45bc58
call fcn.004317b3
add esp, 0xc
test eax, eax
jne 0x40b870
push 0x45bc58
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea esi, [esp + 0xbc]
mov edi, 0x400
lea esp, [esp]
mov eax, dword [esi]
test eax, eax
je 0x40b895
push eax
call fcn.0042504a
add esp, 4
mov dword [esi], 0
add esi, 0x94
sub edi, 1
jne 0x40b880
push str._____________________________OneKeyDownload__end______________________________________________________________n
call fcn.00401000
add esp, 4
cmp byte [0x45be73], 0
je 0x40b8d5
cmp byte [0x45be72], 0
jne 0x40b8de
call fcn.00413740
test al, al
je 0x40b8d5
push str.Restore_WiFi_parameters_sucessfully._n
call fcn.004301ca
add esp, 4
cmp byte [0x45be72], 0
je 0x40b8eb
push str._rEmergency_download_end._n_please_find_the_correct_file_which_is_named_as_back_xxxxx.ini_or_restore_xxxxx.ini_in_temp_folder_and_download_again._n
call fcn.004301ca
add esp, 4
mov edi, ebp
call fcn.0041d9d0
test eax, eax
jne 0x40c56e
jmp 0x4094a4
cmp eax, 0xa
jne 0x40c2cf
mov eax, dword [0x45b93c]
movzx edx, bl
or edx, dword [0x45c110]
push 0x45be80
push eax
setne bl
mov ecx, 7
mov esi, str.Modem_download_completed...
mov edi, 0x45be80
push str._r_d___t_s
mov byte [esp + 0x20], bl
mov dword [0x45ba44], 0
rep movsd dword es:[edi], dword [esi]
call fcn.004301ca
add esp, 0xc
push 0x45be80
push 0x64
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x64
call fcn.004301ca
add esp, 0xc
push str._nModem_update_successfully_
call fcn.004301ca
add esp, 4
push str._rWait_for_update_AP...___________n_n
call fcn.004301ca
add esp, 4
push str.Wait_for_update_AP..._____n
call fcn.00401000
mov edi, dword [esp + 0x1c]
add esp, 4
mov ecx, edi
call fcn.0041d580
call fcn.0041d9d0
test eax, eax
setne al
test al, al
mov byte [esp + 0x12], al
jne 0x40b9bb
cmp edi, 0xffffffff
je 0x4094ab
jmp 0x4094a6
cmp byte [0x458e72], 0
jne 0x40ba05
cmp byte [0x458e73], 0
jne 0x40ba05
cmp byte [0x45bf05], 0
jne 0x40ba05
cmp byte [0x458e70], 0
jne 0x40ba05
cmp byte [0x458e71], 0
jne 0x40ba05
cmp dword [0x45c110], 1
je 0x40ba05
push str._nNot_need_to_download_AP_and_PCSuit._n
call fcn.004301ca
add esp, 4
call fcn.004130c0
jmp 0x40ba35
call fcn.00411c90
test eax, eax
setne al
test al, al
mov byte [esp + 0x12], al
je 0x40a8bb
push str.AP_update_successfully_
call fcn.004301ca
add esp, 4
push str.AP_update_successfully__n
call fcn.00401000
add esp, 4
push str.Connect_to_device_..._n
call fcn.00401000
add esp, 4
push str._rWait_for_device...
call fcn.004301ca
add esp, 4
push 0x2710
call dword [sym.imp.KERNEL32.dll_Sleep]
test edi, edi
je 0x40ba7c
cmp edi, 0xffffffff
je 0x40ba7c
push str.Disconnect_first_if_port_valid_n
call fcn.00401000
add esp, 4
call fcn.0041d9d0
test eax, eax
setne byte [esp + 0x12]
push 0
call fcn.00402f80
mov ebp, eax
add esp, 4
cmp ebp, 0xffffffff
je 0x409b65
cmp byte [esp + 0x12], 0
je 0x409b5e
push str._rWait_for_load_and_restore...___n
call fcn.004301ca
add esp, 4
push str.Wait_for_load_and_restore..._n
call fcn.00401000
add esp, 4
cmp byte [0x45bf05], 0
jne 0x40bad8
test bl, bl
jne 0x40bad8
cmp byte [0x458e74], bl
jne 0x40bad8
cmp dword [0x45c110], 1
jne 0x40c056
push 0x104
lea ecx, [esp + 0x25224]
push 0
push ecx
call fcn.00433570
add esp, 0xc
lea edx, [esp + 0x25328]
push str.mcfg_cust.mbn
push edx
lea ebx, [esp + 0x25228]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x40bbc1
push str.Downloading_mcfg_cust.mbn..._n
call fcn.00401000
mov edx, dword [0x44ea3c]
mov eax, dword [str.mcfg_cust.mbn...]
mov ecx, dword [0x44ea38]
add esp, 4
mov dword [0x45be88], edx
mov edx, dword [0x45b93c]
push 0x45be80
mov dword [0x45be80], eax
mov eax, dword [0x44ea40]
mov dword [0x45be84], ecx
mov cl, byte [0x44ea44]
push edx
push str._r_d___t_s
mov dword [0x45ba44], 3
mov dword [0x45be8c], eax
mov byte [0x45be90], cl
call fcn.004301ca
add esp, 0xc
push str._nv_mcfg_cfg_02_
push ebp
mov ecx, ebx
call fcn.0041f3f0
add esp, 8
test eax, eax
setne al
test al, al
mov byte [esp + 0x12], al
jne 0x40bba4
mov edi, ebp
jmp 0x40a32a
push 0x45be80
push 0x5a
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x5a
call fcn.004301ca
jmp 0x40bbdd
lea eax, [esp + 0x25220]
push eax
push 0x44c6f8
call fcn.00401000
push str.mcfg_cust_file_not_exist__n
call fcn.00401000
add esp, 0xc
lea ecx, [esp + 0x25328]
push str.mcfg_band.mbn
push ecx
lea ebx, [esp + 0x25228]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x40bcb2
push str.Downloading_mcfg_band.mbn..._n
call fcn.00401000
mov ecx, dword [0x44ea9c]
mov edx, dword [str.mcfg_band.mbn...]
mov eax, dword [0x44ea98]
add esp, 4
mov dword [0x45be88], ecx
mov ecx, dword [0x45b93c]
push 0x45be80
mov dword [0x45be80], edx
mov edx, dword [0x44eaa0]
mov dword [0x45be84], eax
mov al, byte [0x44eaa4]
push ecx
push str._r_d___t_s
mov dword [0x45ba44], 4
mov dword [0x45be8c], edx
mov byte [0x45be90], al
call fcn.004301ca
add esp, 0xc
push str._nv_mcfg_cfg_03_
push ebp
mov ecx, ebx
call fcn.0041f3f0
add esp, 8
test eax, eax
setne al
test al, al
mov byte [esp + 0x12], al
jne 0x40bc95
mov edi, ebp
jmp 0x40a32a
push 0x45be80
push 0x5b
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x5b
call fcn.004301ca
jmp 0x40bcce
lea edx, [esp + 0x25220]
push edx
push 0x44c6f8
call fcn.00401000
push str.mcfg_band_file_not_exist__n
call fcn.00401000
add esp, 0xc
lea eax, [esp + 0x25328]
push str.mcfg_band_hw.mbn
push eax
lea ebx, [esp + 0x25228]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x40bda4
push str.Downloading_mcfg_band_hw.mbn..._n
call fcn.00401000
mov eax, dword [0x44eb04]
mov ecx, dword [str.mcfg_band_hw.mbn...]
mov edx, dword [0x44eb00]
add esp, 4
mov dword [0x45be88], eax
mov eax, dword [0x45b93c]
push 0x45be80
mov dword [0x45be80], ecx
mov ecx, dword [0x44eb08]
mov dword [0x45be84], edx
mov edx, dword [0x44eb0c]
push eax
push str._r_d___t_s
mov dword [0x45ba44], 5
mov dword [0x45be8c], ecx
mov dword [0x45be90], edx
call fcn.004301ca
add esp, 0xc
push str._nv_mcfg_cfg_04_
push ebp
mov ecx, ebx
call fcn.0041f3f0
add esp, 8
test eax, eax
setne al
test al, al
mov byte [esp + 0x12], al
jne 0x40bd87
mov edi, ebp
jmp 0x40a32a
push 0x45be80
push 0x5c
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x5c
call fcn.004301ca
jmp 0x40bdc0
lea ecx, [esp + 0x25220]
push ecx
push 0x44c6f8
call fcn.00401000
push str.mcfg_band_hw_file_not_exist__n
call fcn.00401000
add esp, 0xc
cmp byte [esp + 0x14], 0
jne 0x40bdd7
cmp byte [0x45bf05], 0
je 0x40c056
push 0x80
lea edx, [esp + 0x25095]
push 0
push edx
mov byte [esp + 0x2509c], 0
call fcn.00433570
add esp, 0xc
mov eax, 0x45bb50
xor esi, esi
call fcn.00401fc0
test al, al
je 0x40c056
cmp byte [0x45bde9], 0
jne 0x40c056
mov ecx, dword [0x44e148]
mov eax, dword [str.restore_at...]
mov edx, dword [0x44e14c]
mov dword [0x45be84], ecx
mov ecx, dword [0x45b93c]
push 0x45be80
mov dword [0x45be80], eax
mov ax, word [0x44e150]
push ecx
push str._r_d___t_s
mov dword [0x45ba44], 7
mov dword [0x45be88], edx
mov word [0x45be8c], ax
call fcn.004301ca
add esp, 0xc
mov edi, ebp
call fcn.00401380
test al, al
je 0x40aa03
mov ebx, dword [esp + 0x20]
push ebp
lea ecx, [esp + 0x25644]
call fcn.004048f0
add esp, 4
test al, al
je 0x40aa03
push 0x45be80
push 0x5d
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x5d
call fcn.004301ca
add esp, 0xc
cmp byte [0x45bf07], 0
jne 0x40bec3
cmp byte [0x45c117], 0
jne 0x40becc
cmp byte [0x45bf05], 0
je 0x40bf2e
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
lea edx, [esp + 0x25090]
push 0x80
push edx
mov edx, str.ATBMCMDNV_RF_BACKUP
mov ecx, ebp
call fcn.0041d2f0
add esp, 8
test eax, eax
setne bl
test bl, bl
mov eax, str.true
jne 0x40bf01
mov eax, str.false
lea ecx, [esp + 0x25090]
push ecx
push eax
push str.Excute_cmd_:ATBMCMDNV_RF_BACKUP_ret__s_buf__s_n
call fcn.00401000
add esp, 0xc
push 0x3e8
call edi
test bl, bl
jne 0x40bf34
mov edx, esi
add esi, 1
cmp edx, 0x28
jl 0x40bed2
jmp 0x40bf34
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x1388
call edi
mov ecx, dword [0x44e124]
mov eax, dword [str.restore_nv...]
mov edx, dword [0x44e128]
mov dword [0x45be84], ecx
mov ecx, dword [0x45b93c]
push 0x45be80
mov dword [0x45be80], eax
mov ax, word [0x44e12c]
push ecx
push str._r_d___t_s
mov dword [0x45ba44], 8
mov dword [0x45be88], edx
mov word [0x45be8c], ax
call fcn.004301ca
mov edx, dword [esp + 0x30]
add esp, 0xc
push edx
lea edx, [esp + 0x34]
mov ecx, ebp
call fcn.004049b0
add esp, 4
test al, al
jne 0x40bfaa
mov edi, ebp
jmp 0x40a32a
push 0x45be80
push 0x5e
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x5e
call fcn.004301ca
add esp, 0xc
cmp byte [0x45bf07], 0
jne 0x40bfda
cmp byte [0x45c117], 0
jne 0x40bfe3
cmp byte [0x45bf05], 0
je 0x40c04a
xor esi, esi
jmp 0x40bff0
lea eax, [esp + 0x25090]
push 0x80
push eax
mov edx, str.ATBMCMDNV_RF_BACKUP_END
mov ecx, ebp
call fcn.0041d2f0
add esp, 8
test eax, eax
setne bl
test bl, bl
mov eax, str.true
jne 0x40c01f
mov eax, str.false
lea ecx, [esp + 0x25090]
push ecx
push eax
push str.Excute_cmd_:ATBMCMDNV_RF_BACKUP_END_ret__s_buf__s_n
call fcn.00401000
add esp, 0xc
push 0x3e8
call edi
test bl, bl
jne 0x40c04a
mov edx, esi
add esi, 1
cmp edx, 2
jl 0x40bff0
mov byte [esp + 0x12], 1
mov byte [0x458e49], 0
mov eax, dword [str.End_load_and_restore...]
mov ecx, dword [0x44eb34]
mov edx, dword [0x44eb38]
mov dword [0x45be80], eax
mov eax, dword [0x44eb3c]
mov dword [0x45be8c], eax
mov eax, dword [0x45b93c]
push 0x45be80
mov dword [0x45be84], ecx
mov ecx, dword [0x44eb40]
mov dword [0x45be88], edx
mov edx, dword [0x44eb44]
push eax
push str._r_d___t_s
mov dword [0x45ba44], 0
mov dword [0x45be90], ecx
mov dword [0x45be94], edx
call fcn.004301ca
add esp, 0xc
cmp byte [esp + 0x12], 0
jne 0x40c0ca
mov edi, ebp
jmp 0x40a32a
push 0x3f
lea ecx, [esp + 0x25035]
push 0
push ecx
mov byte [esp + 0x2503c], 0
call fcn.00433570
add esp, 0xc
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, dword [0x45b93c]
mov ecx, 6
mov dword [0x45ba44], ecx
mov esi, str.Wirte_user_mode...
mov edi, 0x45be80
rep movsd dword es:[edi], dword [esi]
push 0x45be80
push edx
push str._r_d___t_s
movsw word es:[edi], word [esi]
call fcn.004301ca
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
add esp, 0xc
mov esi, 1
mov edi, edi
push 0x3e8
call edi
lea eax, [esp + 0x25030]
push 0x40
push eax
mov edx, str.atbmftm0
mov ecx, ebp
call fcn.0041d2f0
add esp, 8
test eax, eax
setne bl
test bl, bl
mov eax, str.True
jne 0x40c163
mov eax, str.False
push eax
lea ecx, [esp + 0x25034]
push ecx
push esi
push str.Wirte_user_mode_times:__d__s:_s_n
call fcn.00401000
add esp, 0x10
test bl, bl
jne 0x40c1a3
mov edx, esi
add esi, 1
cmp edx, 0x3d
jne 0x40c130
mov edi, ebp
call fcn.0041d9d0
cmp dword [0x45bd64], 0
je 0x40ae0c
xor al, al
jmp 0x40c570
push str.Wirte_user_mode_ok_n
call fcn.00401000
add esp, 4
push 0
push 0
mov edx, str.atbmcmdreboot
mov ecx, ebp
call fcn.0041d2f0
push 0x45be80
push 0x64
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x64
call fcn.004301ca
add esp, 0x14
push 0x103
lea eax, [esp + 0x2511d]
push 0
push eax
mov byte [esp + 0x25124], 0
call fcn.00433570
add esp, 0xc
lea esi, [esp + 0x25118]
call fcn.00401f20
mov eax, esi
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x40c210
sub eax, edx
push eax
lea ecx, [esp + 0x2511c]
push ecx
push 0x45bc58
call fcn.004317b3
add esp, 0xc
test eax, eax
jne 0x40c240
push 0x45bc58
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea esi, [esp + 0xbc]
mov edi, 0x400
lea esp, [esp]
mov eax, dword [esi]
test eax, eax
je 0x40c265
push eax
call fcn.0042504a
add esp, 4
mov dword [esi], 0
add esi, 0x94
sub edi, 1
jne 0x40c250
push str._____________________________OneKeyDownload__end______________________________________________________________n
call fcn.00401000
add esp, 4
cmp byte [0x45be73], 0
je 0x40c2a5
cmp byte [0x45be72], 0
jne 0x40c2ae
call fcn.00413740
test al, al
je 0x40c2a5
push str.Restore_WiFi_parameters_sucessfully._n
call fcn.004301ca
add esp, 4
cmp byte [0x45be72], 0
je 0x40c2bb
push str._rEmergency_download_end._n_please_find_the_correct_file_which_is_named_as_back_xxxxx.ini_or_restore_xxxxx.ini_in_temp_folder_and_download_again._n
call fcn.004301ca
add esp, 4
mov edi, ebp
call fcn.0041d9d0
test eax, eax
jne 0x40c56e
jmp 0x4094a4
mov eax, 0x45bb50
call fcn.00401fc0
test al, al
je 0x40c471
cmp byte [0x45bde9], 0
jne 0x40c471
lea ebx, [esp + 0x18]
call fcn.00403880
test al, al
jne 0x40c339
mov edi, dword [esp + 0x18]
cmp edi, 0xffffffff
je 0x40c309
call fcn.0041d9d0
cmp dword [0x45bd64], 0
jne 0x408d8c
push str.Fail_to_reset_device__n
push str._t_FAIL:_s__n
call fcn.004301ca
add esp, 8
mov dword [0x45bd64], 0x44eb48
xor al, al
jmp 0x40c570
mov eax, dword [0x44e124]
mov edx, dword [str.restore_nv...]
mov ecx, dword [0x44e128]
mov dword [0x45be84], eax
mov eax, dword [0x45b93c]
push 0x45be80
mov dword [0x45be80], edx
mov dx, word [0x44e12c]
push eax
push str._r_d___t_s
mov dword [0x45ba44], 1
mov dword [0x45be88], ecx
mov word [0x45be8c], dx
call fcn.004301ca
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0x24]
add esp, 0xc
push ecx
lea edx, [esp + 0x34]
mov ecx, edi
call fcn.004049b0
add esp, 4
test al, al
jne 0x40c3b4
cmp edi, 0xffffffff
je 0x409702
jmp 0x4096fd
push 0x45be80
push 0x62
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x62
call fcn.004301ca
mov eax, dword [0x44e148]
mov edx, dword [str.restore_at...]
mov ecx, dword [0x44e14c]
add esp, 0xc
mov dword [0x45be84], eax
mov eax, dword [0x45b93c]
push 0x45be80
mov dword [0x45be80], edx
mov dx, word [0x44e150]
push eax
push str._r_d___t_s
mov dword [0x45ba44], 2
mov dword [0x45be88], ecx
mov word [0x45be8c], dx
call fcn.004301ca
mov ebx, dword [esp + 0x2c]
add esp, 0xc
push edi
lea ecx, [esp + 0x25644]
call fcn.004048f0
add esp, 4
test al, al
jne 0x40c44a
cmp edi, 0xffffffff
je 0x4097be
jmp 0x4097b9
push 0x45be80
push 0x63
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x63
call fcn.004301ca
add esp, 0xc
mov byte [0x458e49], 0
jmp 0x40c485
cmp byte [0x458e49], 0
mov edi, dword [esp + 0x18]
je 0x40c485
mov ecx, edi
call fcn.0041d580
mov edx, dword [0x44eb64]
mov ecx, dword [str.End_Download...]
mov eax, dword [0x44eb68]
mov dword [0x45be84], edx
mov edx, dword [0x45b93c]
push 0x45be80
mov dword [0x45be80], ecx
mov ecx, dword [0x44eb6c]
push edx
push str._r_d___t_s
mov dword [0x45ba44], 0
mov dword [0x45be88], eax
mov dword [0x45be8c], ecx
call fcn.004301ca
add esp, 0xc
call fcn.0041d9d0
test eax, eax
jne 0x40c4ed
cmp edi, 0xffffffff
je 0x4094ab
jmp 0x4094a6
push 0x103
lea eax, [esp + 0x2511d]
push 0
push eax
mov byte [esp + 0x25124], 0
call fcn.00433570
add esp, 0xc
lea esi, [esp + 0x25118]
call fcn.00401f20
mov eax, esi
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x40c520
sub eax, edx
push eax
lea ecx, [esp + 0x2511c]
push ecx
push 0x45bc58
call fcn.004317b3
add esp, 0xc
test eax, eax
jne 0x40c550
push 0x45bc58
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0x45be80
push 0x64
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x64
call fcn.004301ca
add esp, 0xc
mov al, 1
mov ecx, dword [esp + 0x27644]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0042fb8f
add esp, 0x2763c
ret