Function at 0x404ca0
Capabilities:
Check for time delay via gettickcount

Disassembly:
push 0xffffffffffffffff
push 0x4486cb
mov eax, dword fs:[0]
push eax
mov eax, 0x2600
call fcn.00435100
mov eax, dword [0x457a00]
xor eax, esp
mov dword [esp + 0x25f8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x457a00]
xor eax, esp
push eax
lea eax, [esp + 0x2614]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x2624]
push 0x103
lea eax, [esp + 0x22f9]
push 0
push eax
mov byte [esp + 0x2300], 0
call fcn.00433570
add esp, 0xc
push 0x103
lea ecx, [esp + 0x21f1]
push 0
push ecx
mov byte [esp + 0x21f8], 0
call fcn.00433570
add esp, 0xc
push 0x103
lea edx, [esp + 0x2509]
push 0
push edx
mov byte [esp + 0x2510], 0
call fcn.00433570
add esp, 0xc
push 0x103
lea eax, [esp + 0x2401]
push 0
push eax
mov byte [esp + 0x2408], 0
call fcn.00433570
add esp, 0xc
lea esi, [esp + 0x22f4]
mov byte [esp + 0x1b], 0
mov dword [esp + 0x28], 0
call fcn.00401520
cmp byte [0x45c114], 0
je 0x404db6
mov eax, esi
add eax, 0xffffffff
lea esp, [esp]
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x404d90
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
push str.Enter_download____cur_pathfilename_n
mov byte [0x458e49], 0
call fcn.00401000
add esp, 4
lea edx, [esp + 0x22f4]
push edx
push 0x44c6f8
call fcn.00401000
lea eax, [esp + 0x21f4]
push 0
push eax
lea ecx, [esp + 0x2304]
call fcn.00401580
add esp, 0x10
test eax, eax
je 0x40749f
mov ecx, 5
mov esi, str.Enter_download_mode...
mov edi, 0x45be80
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x45b93c]
movsw word es:[edi], word [esi]
push 0x45be80
push ecx
push str._r_d___t_s
mov dword [0x45ba44], 2
movsb byte es:[edi], byte [esi]
call fcn.004301ca
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 1
lea edx, [esp + 0x18]
push edx
push 8
lea ecx, [esp + 0x38]
mov dword [esp + 0x30], eax
mov dword [esp + 0x20], 0
call fcn.004217a0
mov eax, dword [0x458e6c]
mov bl, byte [esp + 0x20]
add esp, 0xc
cmp eax, 5
jne 0x404e73
mov dword [esp + 0x14], 2
jmp 0x404e9c
cmp eax, 6
je 0x404e94
cmp eax, 7
je 0x404e94
cmp eax, 8
je 0x404e94
cmp eax, 9
je 0x404e94
cmp eax, 0xa
mov dword [esp + 0x14], 3
jne 0x404e9c
mov dword [esp + 0x14], 1
cmp bl, 1
jne 0x404f5f
lea eax, [esp + 0x15b]
push str.Vid_05c6Pid_9008
push eax
call fcn.00430890
add esp, 8
test eax, eax
jne 0x404edb
lea ecx, [esp + 0x15b]
push str.VID_05C6PID_9008
push ecx
call fcn.00430890
add esp, 8
test eax, eax
je 0x404f5f
push 0x104
lea edx, [esp + 0x2508]
push 0
push edx
call fcn.00433570
add esp, 0xc
lea eax, [esp + 0x2504]
push 1
push eax
lea ecx, [esp + 0x22fc]
call fcn.00401580
add esp, 8
test eax, eax
je 0x40502e
mov eax, dword [0x458e6c]
cmp eax, 7
mov dword [esp + 0x28], 1
mov byte [esp + 0x1b], 1
je 0x40502e
cmp eax, 8
je 0x40502e
cmp eax, 9
je 0x40502e
cmp eax, 0xa
je 0x40502e
mov edx, dword [ebp]
lea ecx, [esp + 0x1b]
push ecx
push edx
call fcn.00419750
add esp, 8
jmp 0x40502e
movzx esi, bl
cmp esi, dword [esp + 0x14]
jb 0x40502e
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esp + 0x24]
cmp eax, 0x7530
ja 0x40502e
lea eax, [esp + 0x1b]
push eax
push ebp
call fcn.00418f70
add esp, 8
test eax, eax
mov dword [esp + 0x20], eax
je 0x404fee
mov esi, 0xf
push 1
lea ecx, [esp + 0x20]
push ecx
push 8
lea ecx, [esp + 0x38]
mov dword [esp + 0x28], 0
call fcn.004217a0
mov bl, byte [esp + 0x28]
mov edx, esi
add esp, 0xc
sub esi, 1
test edx, edx
jle 0x405015
cmp bl, 3
jae 0x404fda
cmp dword [0x458e6c], 7
jne 0x404fe7
push 0x3e8
call edi
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
cmp bl, 1
jne 0x404fa2
jmp 0x40501a
push 1
lea eax, [esp + 0x20]
push eax
push esi
lea ecx, [esp + 0x38]
mov dword [esp + 0x28], 0
call fcn.004217a0
mov bl, byte [esp + 0x28]
add esp, 0xc
push 0x7d0
call edi
cmp bl, 1
jne 0x405021
cmp dword [esp + 0x20], 0
jne 0x40502e
movzx esi, bl
cmp esi, dword [esp + 0x14]
jae 0x404f72
movzx ecx, bl
cmp ecx, dword [esp + 0x14]
je 0x405072
mov ebp, dword [ebp]
cmp ebp, 0xffffffff
je 0x405046
mov edi, ebp
call fcn.0041d9d0
cmp dword [0x45bd64], 0
jne 0x40506b
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 0x4074ae
mov edi, 6
push 0x45be80
push edi
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], edi
call fcn.004301ca
add esp, 0xc
push str.Enter_download_end__n
call fcn.00401000
add esp, 4
lea esi, [edi - 2]
mov edx, dword [ebp]
push edx
call fcn.00418ce0
add esp, 4
test eax, eax
jne 0x4050b9
mov eax, esi
sub esi, 1
test eax, eax
jne 0x4050a0
cmp dword [0x458e6c], edi
jne 0x40514d
mov ecx, edi
mov esi, str.Send_parameter_request...
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], 1
movsw word es:[edi], word [esi]
call fcn.004301ca
mov ecx, dword [ebp]
add esp, 0xc
call fcn.00419bf0
test eax, eax
jne 0x405127
mov ebp, dword [ebp]
cmp ebp, 0xffffffff
je 0x405113
mov edi, ebp
call fcn.0041d9d0
cmp dword [0x45bd64], 0
je 0x40504f
xor al, al
jmp 0x4074ae
push 0x45be80
push 7
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 7
call fcn.004301ca
mov ecx, dword [ebp]
add esp, 0xc
call fcn.0041dea0
mov edx, dword [str.Downloading_hex_file...]
mov eax, dword [0x44d1a4]
mov ecx, dword [0x44d1a8]
mov dword [0x45be80], edx
mov edx, dword [0x44d1ac]
mov dword [0x45be8c], edx
mov edx, dword [0x45b93c]
push 0x45be80
mov dword [0x45be84], eax
mov eax, dword [0x44d1b0]
mov dword [0x45be88], ecx
mov ecx, dword [0x44d1b4]
push edx
push str._r_d___t_s
mov dword [0x45ba44], 2
mov dword [0x45be90], eax
mov dword [0x45be94], ecx
call fcn.004301ca
add esp, 0xc
push str.Downloading_hex_file..._n
call fcn.00401000
mov eax, dword [0x458e6c]
add esp, 4
cmp eax, 7
je 0x405208
cmp eax, 8
je 0x405208
cmp eax, 9
je 0x405208
cmp eax, 0xa
je 0x405208
cmp dword [esp + 0x28], 1
push ebp
jne 0x4051fa
lea eax, [esp + 0x2508]
call fcn.0041b6c0
add esp, 4
test eax, eax
jne 0x405280
push ebp
lea eax, [esp + 0x21f0]
call fcn.0041b6c0
jmp 0x405256
push 0x104
lea eax, [esp + 0x2508]
push 0
push eax
call fcn.00433570
add esp, 0xc
lea ecx, [esp + 0x2504]
push 1
push ecx
lea ecx, [esp + 0x22fc]
call fcn.00401580
add esp, 8
test eax, eax
je 0x4052fa
lea edx, [esp + 0x2504]
push edx
lea ecx, [esp + 0x21f0]
mov ebx, ebp
call fcn.0041b870
add esp, 4
test eax, eax
jne 0x405280
mov ebp, dword [ebp]
cmp ebp, 0xffffffff
je 0x40526c
mov edi, ebp
call fcn.0041d9d0
cmp dword [0x45bd64], 0
je 0x40504f
xor al, al
jmp 0x4074ae
push 0x45be80
push 9
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 9
call fcn.004301ca
add esp, 0xc
cmp byte [0x45bd5d], 0
je 0x405338
mov ecx, dword [ebp]
call fcn.0041da50
test eax, eax
jne 0x405338
mov ebp, dword [ebp]
cmp ebp, 0xffffffff
je 0x4052ca
mov edi, ebp
call fcn.0041d9d0
cmp dword [0x45bd64], 0
jne 0x40506b
push str.Erase_flash_fail_
push str._t_FAIL:_s__n
call fcn.004301ca
add esp, 8
mov dword [0x45bd64], 0x44d1f0
xor al, al
jmp 0x4074ae
push ecx
lea eax, [esp + 0x2508]
mov ecx, esp
mov dword [esp + 0x24], esp
push eax
call fcn.00415050
lea ebx, [esp + 0x24]
call fcn.004012e0
mov ecx, dword [eax]
add esp, 4
push ecx
push str.find_hex_file___s__fail_n
call fcn.00401000
add esp, 8
mov ecx, ebx
call fcn.004155c0
xor al, al
jmp 0x4074ae
mov ecx, dword [0x44d20c]
mov edx, dword [str.Set_trust_mode...]
mov eax, dword [0x44d208]
mov dword [0x45be88], ecx
mov ecx, dword [0x45b93c]
push 0x45be80
mov dword [0x45be80], edx
mov edx, dword [0x44d210]
mov dword [0x45be84], eax
mov ax, word [0x44d214]
push ecx
push str._r_d___t_s
mov dword [0x45ba44], 1
mov dword [0x45be8c], edx
mov word [0x45be90], ax
call fcn.004301ca
add esp, 0xc
push str.Set_trust_mode..._n
call fcn.00401000
mov ecx, dword [ebp]
add esp, 4
cmp dword [0x458e6c], 4
jne 0x4053b2
push 1
jmp 0x4053b4
push 0
call fcn.0041ba30
add esp, 4
test eax, eax
jne 0x4053e3
mov ebp, dword [ebp]
cmp ebp, 0xffffffff
je 0x4053cf
mov edi, ebp
call fcn.0041d9d0
cmp dword [0x45bd64], 0
je 0x40504f
xor al, al
jmp 0x4074ae
push 0x45be80
push 0xa
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0xa
call fcn.004301ca
add esp, 0xc
lea edx, [esp + 0x22f4]
push str.partition.mbn
push edx
lea ebx, [esp + 0x21f4]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x40547b
push str.Downloading_partition_table..._n
call fcn.00401000
mov eax, dword [0x45b93c]
mov ecx, 7
mov esi, str.Downloading_partition_table...
mov edi, 0x45be80
rep movsd dword es:[edi], dword [esi]
add esp, 4
movsw word es:[edi], word [esi]
push 0x45be80
push eax
push str._r_d___t_s
mov dword [0x45ba44], 2
movsb byte es:[edi], byte [esi]
call fcn.004301ca
mov ecx, dword [ebp]
add esp, 0xc
push ecx
mov eax, ebx
call fcn.0041c310
add esp, 4
test eax, eax
jne 0x40548c
mov edi, dword [ebp]
cmp edi, 0xffffffff
je 0x405113
jmp 0x40510e
cmp dword [0x45c110], 1
mov eax, str.pattion_differ_n
je 0x40549f
mov eax, str.pattion_same_n
push eax
call fcn.00401000
add esp, 4
push 0x45be80
push 0xc
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0xc
call fcn.004301ca
add esp, 0xc
cmp dword [0x458e6c], 7
jne 0x405ad3
lea edx, [esp + 0x22f4]
push str._sbl1.mbn
push edx
lea ebx, [esp + 0x21f4]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x4055ac
push str.Downloading_sbl1.mbn..._n
call fcn.00401000
mov eax, dword [str.Downloading_sbl1.mbn...]
mov ecx, dword [0x44d2c8]
mov edx, dword [0x44d2cc]
mov dword [0x45be80], eax
mov eax, dword [0x44d2d0]
add esp, 4
mov dword [0x45be8c], eax
mov eax, dword [0x45b93c]
push 0x45be80
mov dword [0x45be84], ecx
mov ecx, dword [0x44d2d4]
mov dword [0x45be88], edx
mov edx, dword [0x44d2d8]
push eax
push str._r_d___t_s
mov dword [0x45ba44], 1
mov dword [0x45be90], ecx
mov dword [0x45be94], edx
call fcn.004301ca
mov edx, dword [ebp]
add esp, 0xc
mov ecx, ebx
call fcn.0041c420
test eax, eax
jne 0x40558e
mov edi, dword [ebp]
cmp edi, 0xffffffff
je 0x405113
jmp 0x40510e
push 0x45be80
push 0xd
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0xd
call fcn.004301ca
add esp, 0xc
lea ecx, [esp + 0x22f4]
push str._sdi.mbn
push ecx
lea ebx, [esp + 0x21f4]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x405656
push str.Downloading_sdi.mbn..._n
call fcn.00401000
mov edx, dword [0x45b93c]
mov ecx, 5
mov esi, str.Downloading_sdi.mbn...
mov edi, 0x45be80
rep movsd dword es:[edi], dword [esi]
add esp, 4
movsw word es:[edi], word [esi]
push 0x45be80
push edx
push str._r_d___t_s
mov dword [0x45ba44], 1
movsb byte es:[edi], byte [esi]
call fcn.004301ca
mov edx, dword [ebp]
add esp, 0xc
mov ecx, ebx
call fcn.0041c420
test eax, eax
jne 0x405638
mov edi, dword [ebp]
cmp edi, 0xffffffff
je 0x405113
jmp 0x40510e
push 0x45be80
push 0x11
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x11
call fcn.004301ca
add esp, 0xc
lea eax, [esp + 0x22f4]
push str._tz.mbn
push eax
lea ebx, [esp + 0x21f4]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x405732
push str.Downloading_tz.mbn..._n
call fcn.00401000
mov ecx, dword [str.Downloading_tz.mbn...]
mov edx, dword [0x44d33c]
mov eax, dword [0x44d340]
mov dword [0x45be80], ecx
mov ecx, dword [0x44d344]
add esp, 4
mov dword [0x45be8c], ecx
mov ecx, dword [0x45b93c]
push 0x45be80
mov dword [0x45be84], edx
mov edx, dword [0x44d348]
mov dword [0x45be88], eax
mov ax, word [0x44d34c]
push ecx
push str._r_d___t_s
mov dword [0x45ba44], 1
mov dword [0x45be90], edx
mov word [0x45be94], ax
call fcn.004301ca
mov edx, dword [ebp]
add esp, 0xc
mov ecx, ebx
call fcn.0041c420
test eax, eax
jne 0x405714
mov edi, dword [ebp]
cmp edi, 0xffffffff
je 0x405113
jmp 0x40510e
push 0x45be80
push 0x17
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x17
call fcn.004301ca
add esp, 0xc
lea edx, [esp + 0x22f4]
push 0x44d350
push edx
lea ebx, [esp + 0x21f4]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x4057db
push str.Downloading_mba.mbn..._n
call fcn.00401000
mov eax, dword [0x45b93c]
mov ecx, 5
mov esi, str.Downloading_mba.mbn...
mov edi, 0x45be80
rep movsd dword es:[edi], dword [esi]
add esp, 4
movsw word es:[edi], word [esi]
push 0x45be80
push eax
push str._r_d___t_s
mov dword [0x45ba44], 1
movsb byte es:[edi], byte [esi]
call fcn.004301ca
mov edx, dword [ebp]
add esp, 0xc
mov ecx, ebx
call fcn.0041c420
test eax, eax
jne 0x4057bd
mov edi, dword [ebp]
cmp edi, 0xffffffff
je 0x405113
jmp 0x40510e
push 0x45be80
push 0x21
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x21
call fcn.004301ca
add esp, 0xc
lea ecx, [esp + 0x22f4]
push str._rpm.mbn
push ecx
lea ebx, [esp + 0x21f4]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x405885
push str.Downloading_rpm.mbn..._n
call fcn.00401000
mov edx, dword [0x45b93c]
mov ecx, 5
mov esi, str.Downloading_rpm.mbn...
mov edi, 0x45be80
rep movsd dword es:[edi], dword [esi]
add esp, 4
movsw word es:[edi], word [esi]
push 0x45be80
push edx
push str._r_d___t_s
mov dword [0x45ba44], 1
movsb byte es:[edi], byte [esi]
call fcn.004301ca
mov edx, dword [ebp]
add esp, 0xc
mov ecx, ebx
call fcn.0041c420
test eax, eax
jne 0x405867
mov edi, dword [ebp]
cmp edi, 0xffffffff
je 0x405113
jmp 0x40510e
push 0x45be80
push 0x32
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x32
call fcn.004301ca
add esp, 0xc
lea eax, [esp + 0x22f4]
push 0x44d3c8
push eax
lea ebx, [esp + 0x21f4]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x405953
cmp byte [0x458e70], 0
jne 0x4058cd
cmp byte [0x45bf05], 0
jne 0x4058cd
cmp dword [0x45c110], 1
jne 0x405953
push str.Downloading_qdsp6sw.mbn..._n
call fcn.00401000
mov ecx, 6
mov esi, str.Downloading_qdsp6sw.mbn...
mov edi, 0x45be80
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x45b93c]
add esp, 4
movsw word es:[edi], word [esi]
push 0x45be80
push ecx
push str._r_d___t_s
mov dword [0x45ba44], 1
movsb byte es:[edi], byte [esi]
call fcn.004301ca
mov edx, dword [ebp]
add esp, 0xc
lea ecx, [esp + 0x21ec]
call fcn.0041c420
test eax, eax
jne 0x405935
mov edi, dword [ebp]
cmp edi, 0xffffffff
je 0x405113
jmp 0x40510e
push 0x45be80
push 0x4b
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x4b
call fcn.004301ca
add esp, 0xc
lea edx, [esp + 0x22f4]
push str._appsboot.mbn
push edx
lea ebx, [esp + 0x21f4]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x4059f9
push str.Downloading_appsboot.mbn..._n
call fcn.00401000
mov eax, dword [0x45b93c]
add esp, 4
push 0x45be80
push eax
mov ecx, 7
mov esi, str.Downloading_appsboot.mbn...
mov edi, 0x45be80
push str._r_d___t_s
mov dword [0x45ba44], 1
rep movsd dword es:[edi], dword [esi]
call fcn.004301ca
mov edx, dword [ebp]
add esp, 0xc
mov ecx, ebx
call fcn.0041c420
test eax, eax
jne 0x4059db
mov edi, dword [ebp]
cmp edi, 0xffffffff
je 0x405113
jmp 0x40510e
push 0x45be80
push 0x50
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x50
call fcn.004301ca
add esp, 0xc
lea ecx, [esp + 0x22f4]
push 0x44d45c
push ecx
lea ebx, [esp + 0x21f4]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x405ad3
push str.Downloading_dsp2.mbn..._n
call fcn.00401000
mov edx, dword [str.Downloading_dsp2.mbn...]
mov eax, dword [0x44d488]
mov ecx, dword [0x44d48c]
mov dword [0x45be80], edx
mov edx, dword [0x44d490]
add esp, 4
mov dword [0x45be8c], edx
mov edx, dword [0x45b93c]
push 0x45be80
mov dword [0x45be84], eax
mov eax, dword [0x44d494]
mov dword [0x45be88], ecx
mov ecx, dword [0x44d498]
push edx
push str._r_d___t_s
mov dword [0x45ba44], 1
mov dword [0x45be90], eax
mov dword [0x45be94], ecx
call fcn.004301ca
mov edx, dword [ebp]
add esp, 0xc
mov ecx, ebx
call fcn.0041c420
test eax, eax
jne 0x405ab5
mov edi, dword [ebp]
cmp edi, 0xffffffff
je 0x405113
jmp 0x40510e
push 0x45be80
push 0x58
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x58
call fcn.004301ca
add esp, 0xc
cmp dword [0x458e6c], 8
jne 0x405de6
lea eax, [esp + 0x22f4]
push str._sbl1.mbn
push eax
lea ebx, [esp + 0x21f4]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x405bba
push str.Downloading_sbl1.mbn..._n
call fcn.00401000
mov ecx, dword [str.Downloading_sbl1.mbn...]
mov edx, dword [0x44d2c8]
mov eax, dword [0x44d2cc]
mov dword [0x45be80], ecx
mov ecx, dword [0x44d2d0]
add esp, 4
mov dword [0x45be8c], ecx
mov ecx, dword [0x45b93c]
push 0x45be80
mov dword [0x45be84], edx
mov edx, dword [0x44d2d4]
mov dword [0x45be88], eax
mov eax, dword [0x44d2d8]
push ecx
push str._r_d___t_s
mov dword [0x45ba44], 1
mov dword [0x45be90], edx
mov dword [0x45be94], eax
call fcn.004301ca
mov edx, dword [ebp]
add esp, 0xc
mov ecx, ebx
call fcn.0041c420
test eax, eax
jne 0x405b9c
mov edi, dword [ebp]
cmp edi, 0xffffffff
je 0x405113
jmp 0x40510e
push 0x45be80
push 0xd
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0xd
call fcn.004301ca
add esp, 0xc
lea edx, [esp + 0x22f4]
push str._tz.mbn
push edx
lea ebx, [esp + 0x21f4]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x405c95
push str.Downloading_tz.mbn..._n
call fcn.00401000
mov eax, dword [str.Downloading_tz.mbn...]
mov ecx, dword [0x44d33c]
mov edx, dword [0x44d340]
mov dword [0x45be80], eax
mov eax, dword [0x44d344]
add esp, 4
mov dword [0x45be8c], eax
mov eax, dword [0x45b93c]
push 0x45be80
mov dword [0x45be84], ecx
mov ecx, dword [0x44d348]
mov dword [0x45be88], edx
mov dx, word [0x44d34c]
push eax
push str._r_d___t_s
mov dword [0x45ba44], 1
mov dword [0x45be90], ecx
mov word [0x45be94], dx
call fcn.004301ca
mov edx, dword [ebp]
add esp, 0xc
mov ecx, ebx
call fcn.0041c420
test eax, eax
jne 0x405c77
mov edi, dword [ebp]
cmp edi, 0xffffffff
je 0x405113
jmp 0x40510e
push 0x45be80
push 0x11
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x11
call fcn.004301ca
add esp, 0xc
lea ecx, [esp + 0x22f4]
push str._rpm.mbn
push ecx
lea ebx, [esp + 0x21f4]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x405d3f
push str.Downloading_rpm.mbn..._n
call fcn.00401000
mov edx, dword [0x45b93c]
mov ecx, 5
mov esi, str.Downloading_rpm.mbn...
mov edi, 0x45be80
rep movsd dword es:[edi], dword [esi]
add esp, 4
movsw word es:[edi], word [esi]
push 0x45be80
push edx
push str._r_d___t_s
mov dword [0x45ba44], 1
movsb byte es:[edi], byte [esi]
call fcn.004301ca
mov edx, dword [ebp]
add esp, 0xc
mov ecx, ebx
call fcn.0041c420
test eax, eax
jne 0x405d21
mov edi, dword [ebp]
cmp edi, 0xffffffff
je 0x405113
jmp 0x40510e
push 0x45be80
push 0x17
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x17
call fcn.004301ca
add esp, 0xc
lea eax, [esp + 0x22f4]
push str._appsboot.mbn
push eax
lea ebx, [esp + 0x21f4]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x405de6
push str.Downloading_appsboot.mbn..._n
call fcn.00401000
add esp, 4
mov ecx, 7
mov esi, str.Downloading_appsboot.mbn...
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], 1
call fcn.004301ca
mov edx, dword [ebp]
add esp, 0xc
mov ecx, ebx
call fcn.0041c420
test eax, eax
jne 0x405dc8
mov edi, dword [ebp]
cmp edi, 0xffffffff
je 0x405113
jmp 0x40510e
push 0x45be80
push 0x61
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x61
call fcn.004301ca
add esp, 0xc
cmp dword [0x458e6c], 0xa
jne 0x4060f8
lea edx, [esp + 0x22f4]
push str._sbl1.mbn
push edx
lea ebx, [esp + 0x21f4]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x405ecc
push str.Downloading_sbl1.mbn..._n
call fcn.00401000
mov eax, dword [str.Downloading_sbl1.mbn...]
mov ecx, dword [0x44d2c8]
mov edx, dword [0x44d2cc]
mov dword [0x45be80], eax
mov eax, dword [0x44d2d0]
add esp, 4
mov dword [0x45be8c], eax
mov eax, dword [0x45b93c]
push 0x45be80
mov dword [0x45be84], ecx
mov ecx, dword [0x44d2d4]
mov dword [0x45be88], edx
mov edx, dword [0x44d2d8]
push eax
push str._r_d___t_s
mov dword [0x45ba44], 1
mov dword [0x45be90], ecx
mov dword [0x45be94], edx
call fcn.004301ca
mov edx, dword [ebp]
add esp, 0xc
mov ecx, ebx
call fcn.0041c420
test eax, eax
jne 0x405eae
mov edi, dword [ebp]
cmp edi, 0xffffffff
je 0x405113
jmp 0x40510e
push 0x45be80
push 0xd
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0xd
call fcn.004301ca
add esp, 0xc
lea ecx, [esp + 0x22f4]
push str._tz.mbn
push ecx
lea ebx, [esp + 0x21f4]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x405fa8
push str.Downloading_tz.mbn..._n
call fcn.00401000
mov edx, dword [str.Downloading_tz.mbn...]
mov eax, dword [0x44d33c]
mov ecx, dword [0x44d340]
mov dword [0x45be80], edx
mov edx, dword [0x44d344]
add esp, 4
mov dword [0x45be8c], edx
mov edx, dword [0x45b93c]
push 0x45be80
mov dword [0x45be84], eax
mov eax, dword [0x44d348]
mov dword [0x45be88], ecx
mov cx, word [0x44d34c]
push edx
push str._r_d___t_s
mov dword [0x45ba44], 1
mov dword [0x45be90], eax
mov word [0x45be94], cx
call fcn.004301ca
mov edx, dword [ebp]
add esp, 0xc
mov ecx, ebx
call fcn.0041c420
test eax, eax
jne 0x405f8a
mov edi, dword [ebp]
cmp edi, 0xffffffff
je 0x405113
jmp 0x40510e
push 0x45be80
push 0x11
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x11
call fcn.004301ca
add esp, 0xc
lea eax, [esp + 0x22f4]
push str._rpm.mbn
push eax
lea ebx, [esp + 0x21f4]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x406052
push str.Downloading_rpm.mbn..._n
call fcn.00401000
mov ecx, 5
mov esi, str.Downloading_rpm.mbn...
mov edi, 0x45be80
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x45b93c]
add esp, 4
movsw word es:[edi], word [esi]
push 0x45be80
push ecx
push str._r_d___t_s
mov dword [0x45ba44], 1
movsb byte es:[edi], byte [esi]
call fcn.004301ca
mov edx, dword [ebp]
add esp, 0xc
mov ecx, ebx
call fcn.0041c420
test eax, eax
jne 0x406034
mov edi, dword [ebp]
cmp edi, 0xffffffff
je 0x405113
jmp 0x40510e
push 0x45be80
push 0x17
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x17
call fcn.004301ca
add esp, 0xc
lea edx, [esp + 0x22f4]
push str._appsboot.mbn
push edx
lea ebx, [esp + 0x21f4]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x4060f8
push str.Downloading_appsboot.mbn..._n
call fcn.00401000
mov eax, dword [0x45b93c]
add esp, 4
push 0x45be80
push eax
mov ecx, 7
mov esi, str.Downloading_appsboot.mbn...
mov edi, 0x45be80
push str._r_d___t_s
mov dword [0x45ba44], 1
rep movsd dword es:[edi], dword [esi]
call fcn.004301ca
mov edx, dword [ebp]
add esp, 0xc
mov ecx, ebx
call fcn.0041c420
test eax, eax
jne 0x4060da
mov edi, dword [ebp]
cmp edi, 0xffffffff
je 0x405113
jmp 0x40510e
push 0x45be80
push 0x61
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x61
call fcn.004301ca
add esp, 0xc
cmp dword [0x458e6c], 6
jne 0x406a5b
cmp byte [0x45bdeb], 0
push str._sbl1.mbn
lea ebx, [esp + 0x21f0]
je 0x4064a1
lea ecx, [esp + 0x22f8]
push ecx
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x4061ec
push str.Downloading_sbl1.mbn..._n
call fcn.00401000
mov edx, dword [str.Downloading_sbl1.mbn...]
mov eax, dword [0x44d2c8]
mov ecx, dword [0x44d2cc]
mov dword [0x45be80], edx
mov edx, dword [0x44d2d0]
add esp, 4
mov dword [0x45be8c], edx
mov edx, dword [0x45b93c]
push 0x45be80
mov dword [0x45be84], eax
mov eax, dword [0x44d2d4]
mov dword [0x45be88], ecx
mov ecx, dword [0x44d2d8]
push edx
push str._r_d___t_s
mov dword [0x45ba44], 1
mov dword [0x45be90], eax
mov dword [0x45be94], ecx
call fcn.004301ca
mov edx, dword [ebp]
add esp, 0xc
mov ecx, ebx
call fcn.0041c420
test eax, eax
jne 0x4061ce
mov edi, dword [ebp]
cmp edi, 0xffffffff
je 0x405113
jmp 0x40510e
push 0x45be80
push 0xd
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0xd
call fcn.004301ca
add esp, 0xc
lea eax, [esp + 0x22f4]
push str._sbl2.mbn
push eax
lea ebx, [esp + 0x21f4]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x4062c6
push str.Downloading_sbl2.mbn..._n
call fcn.00401000
mov ecx, dword [str.Downloading_sbl2.mbn...]
mov edx, dword [0x44d4c8]
mov eax, dword [0x44d4cc]
mov dword [0x45be80], ecx
mov ecx, dword [0x44d4d0]
add esp, 4
mov dword [0x45be8c], ecx
mov ecx, dword [0x45b93c]
push 0x45be80
mov dword [0x45be84], edx
mov edx, dword [0x44d4d4]
mov dword [0x45be88], eax
mov eax, dword [0x44d4d8]
push ecx
push str._r_d___t_s
mov dword [0x45ba44], 1
mov dword [0x45be90], edx
mov dword [0x45be94], eax
call fcn.004301ca
mov edx, dword [ebp]
add esp, 0xc
mov ecx, ebx
call fcn.0041c420
test eax, eax
jne 0x4062a8
mov edi, dword [ebp]
cmp edi, 0xffffffff
je 0x405113
jmp 0x40510e
push 0x45be80
push 0x23
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x23
call fcn.004301ca
add esp, 0xc
lea edx, [esp + 0x22f4]
push str._rpm.mbn
push edx
lea ebx, [esp + 0x21f4]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x40636f
push str.Downloading_rpm.mbn..._n
call fcn.00401000
mov eax, dword [0x45b93c]
mov ecx, 5
mov esi, str.Downloading_rpm.mbn...
mov edi, 0x45be80
rep movsd dword es:[edi], dword [esi]
add esp, 4
movsw word es:[edi], word [esi]
push 0x45be80
push eax
push str._r_d___t_s
mov dword [0x45ba44], 1
movsb byte es:[edi], byte [esi]
call fcn.004301ca
mov edx, dword [ebp]
add esp, 0xc
mov ecx, ebx
call fcn.0041c420
test eax, eax
jne 0x406351
mov edi, dword [ebp]
cmp edi, 0xffffffff
je 0x405113
jmp 0x40510e
push 0x45be80
push 0x30
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x30
call fcn.004301ca
add esp, 0xc
lea ecx, [esp + 0x22f4]
push str._appsboot.mbn
push ecx
lea ebx, [esp + 0x21f4]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x406416
push str.Downloading_appsboot.mbn..._n
call fcn.00401000
mov edx, dword [0x45b93c]
add esp, 4
push 0x45be80
push edx
mov ecx, 7
mov esi, str.Downloading_appsboot.mbn...
mov edi, 0x45be80
push str._r_d___t_s
mov dword [0x45ba44], 1
rep movsd dword es:[edi], dword [esi]
call fcn.004301ca
mov edx, dword [ebp]
add esp, 0xc
mov ecx, ebx
call fcn.0041c420
test eax, eax
jne 0x4063f8
mov edi, dword [ebp]
cmp edi, 0xffffffff
je 0x405113
jmp 0x40510e
push 0x45be80
push 0x4b
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x4b
call fcn.004301ca
add esp, 0xc
lea eax, [esp + 0x22f4]
push 0x44d4dc
push eax
lea ebx, [esp + 0x21f4]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x406a5b
push str.Downloading_dsp3.mbn..._n
call fcn.00401000
mov ecx, dword [str.Downloading_dsp3.mbn...]
mov edx, dword [0x44d508]
mov eax, dword [0x44d50c]
mov dword [0x45be80], ecx
mov ecx, dword [0x44d510]
add esp, 4
mov dword [0x45be84], edx
mov edx, dword [0x44d514]
mov dword [0x45be88], eax
mov eax, dword [0x44d518]
mov dword [0x45be8c], ecx
mov ecx, dword [0x45b93c]
push 0x45be80
mov dword [0x45be90], edx
mov dword [0x45be94], eax
push ecx
jmp 0x4069d6
lea edx, [esp + 0x22f8]
push edx
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x406573
push str.Downloading_sbl1.mbn..._n
call fcn.00401000
mov eax, dword [str.Downloading_sbl1.mbn...]
mov ecx, dword [0x44d2c8]
mov edx, dword [0x44d2cc]
mov dword [0x45be80], eax
mov eax, dword [0x44d2d0]
add esp, 4
mov dword [0x45be8c], eax
mov eax, dword [0x45b93c]
push 0x45be80
mov dword [0x45be84], ecx
mov ecx, dword [0x44d2d4]
mov dword [0x45be88], edx
mov edx, dword [0x44d2d8]
push eax
push str._r_d___t_s
mov dword [0x45ba44], 1
mov dword [0x45be90], ecx
mov dword [0x45be94], edx
call fcn.004301ca
mov edx, dword [ebp]
add esp, 0xc
lea ecx, [esp + 0x21ec]
call fcn.0041c420
test eax, eax
jne 0x406555
mov edi, dword [ebp]
cmp edi, 0xffffffff
je 0x405113
jmp 0x40510e
push 0x45be80
push 0xd
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0xd
call fcn.004301ca
add esp, 0xc
lea ecx, [esp + 0x22f4]
push str._sbl2.mbn
push ecx
lea ebx, [esp + 0x21f4]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x40664d
push str.Downloading_sbl2.mbn..._n
call fcn.00401000
mov edx, dword [str.Downloading_sbl2.mbn...]
mov eax, dword [0x44d4c8]
mov ecx, dword [0x44d4cc]
mov dword [0x45be80], edx
mov edx, dword [0x44d4d0]
add esp, 4
mov dword [0x45be8c], edx
mov edx, dword [0x45b93c]
push 0x45be80
mov dword [0x45be84], eax
mov eax, dword [0x44d4d4]
mov dword [0x45be88], ecx
mov ecx, dword [0x44d4d8]
push edx
push str._r_d___t_s
mov dword [0x45ba44], 1
mov dword [0x45be90], eax
mov dword [0x45be94], ecx
call fcn.004301ca
mov edx, dword [ebp]
add esp, 0xc
mov ecx, ebx
call fcn.0041c420
test eax, eax
jne 0x40662f
mov edi, dword [ebp]
cmp edi, 0xffffffff
je 0x405113
jmp 0x40510e
push 0x45be80
push 0x11
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x11
call fcn.004301ca
add esp, 0xc
lea eax, [esp + 0x22f4]
push str._rpm.mbn
push eax
lea ebx, [esp + 0x21f4]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x4066f7
push str.Downloading_rpm.mbn..._n
call fcn.00401000
mov ecx, 5
mov esi, str.Downloading_rpm.mbn...
mov edi, 0x45be80
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x45b93c]
add esp, 4
movsw word es:[edi], word [esi]
push 0x45be80
push ecx
push str._r_d___t_s
mov dword [0x45ba44], 1
movsb byte es:[edi], byte [esi]
call fcn.004301ca
mov edx, dword [ebp]
add esp, 0xc
mov ecx, ebx
call fcn.0041c420
test eax, eax
jne 0x4066d9
mov edi, dword [ebp]
cmp edi, 0xffffffff
je 0x405113
jmp 0x40510e
push 0x45be80
push 0x17
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x17
call fcn.004301ca
add esp, 0xc
lea edx, [esp + 0x22f4]
push 0x44d51c
push edx
lea ebx, [esp + 0x21f4]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x4067d0
push str.Downloading_dsp1.mbn..._n
call fcn.00401000
mov eax, dword [str.Downloading_dsp1.mbn...]
mov ecx, dword [0x44d548]
mov edx, dword [0x44d54c]
mov dword [0x45be80], eax
mov eax, dword [0x44d550]
add esp, 4
mov dword [0x45be8c], eax
mov eax, dword [0x45b93c]
push 0x45be80
mov dword [0x45be84], ecx
mov ecx, dword [0x44d554]
mov dword [0x45be88], edx
mov edx, dword [0x44d558]
push eax
push str._r_d___t_s
mov dword [0x45ba44], 1
mov dword [0x45be90], ecx
mov dword [0x45be94], edx
call fcn.004301ca
mov edx, dword [ebp]
add esp, 0xc
mov ecx, ebx
call fcn.0041c420
test eax, eax
jne 0x4067b2
mov edi, dword [ebp]
cmp edi, 0xffffffff
je 0x405113
jmp 0x40510e
push 0x45be80
push 0x21
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x21
call fcn.004301ca
add esp, 0xc
lea ecx, [esp + 0x22f4]
push 0x44d45c
push ecx
lea ebx, [esp + 0x21f4]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x4068aa
push str.Downloading_dsp2.mbn..._n
call fcn.00401000
mov edx, dword [str.Downloading_dsp2.mbn...]
mov eax, dword [0x44d488]
mov ecx, dword [0x44d48c]
mov dword [0x45be80], edx
mov edx, dword [0x44d490]
add esp, 4
mov dword [0x45be8c], edx
mov edx, dword [0x45b93c]
push 0x45be80
mov dword [0x45be84], eax
mov eax, dword [0x44d494]
mov dword [0x45be88], ecx
mov ecx, dword [0x44d498]
push edx
push str._r_d___t_s
mov dword [0x45ba44], 1
mov dword [0x45be90], eax
mov dword [0x45be94], ecx
call fcn.004301ca
mov edx, dword [ebp]
add esp, 0xc
mov ecx, ebx
call fcn.0041c420
test eax, eax
jne 0x40688c
mov edi, dword [ebp]
cmp edi, 0xffffffff
je 0x405113
jmp 0x40510e
push 0x45be80
push 0x46
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x46
call fcn.004301ca
add esp, 0xc
lea eax, [esp + 0x22f4]
push str._appsboot.mbn
push eax
lea ebx, [esp + 0x21f4]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x406951
push str.Downloading_appsboot.mbn..._n
call fcn.00401000
add esp, 4
mov ecx, 7
mov esi, str.Downloading_appsboot.mbn...
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], 1
call fcn.004301ca
mov edx, dword [ebp]
add esp, 0xc
mov ecx, ebx
call fcn.0041c420
test eax, eax
jne 0x406933
mov edi, dword [ebp]
cmp edi, 0xffffffff
je 0x405113
jmp 0x40510e
push 0x45be80
push 0x4b
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x4b
call fcn.004301ca
add esp, 0xc
lea edx, [esp + 0x22f4]
push 0x44d4dc
push edx
lea ebx, [esp + 0x21f4]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x406a5b
push str.Downloading_dsp3.mbn..._n
call fcn.00401000
mov eax, dword [str.Downloading_dsp3.mbn...]
mov ecx, dword [0x44d508]
mov edx, dword [0x44d50c]
mov dword [0x45be80], eax
mov eax, dword [0x44d510]
add esp, 4
mov dword [0x45be84], ecx
mov ecx, dword [0x44d514]
mov dword [0x45be88], edx
mov edx, dword [0x44d518]
mov dword [0x45be8c], eax
mov eax, dword [0x45b93c]
push 0x45be80
mov dword [0x45be90], ecx
mov dword [0x45be94], edx
push eax
push str._r_d___t_s
mov dword [0x45ba44], 1
call fcn.004301ca
mov edx, dword [ebp]
add esp, 0xc
lea ecx, [esp + 0x21ec]
call fcn.0041c420
test eax, eax
jne 0x406a3d
mov edi, dword [ebp]
cmp edi, 0xffffffff
je 0x406a0d
call fcn.0041d9d0
cmp dword [0x45bd64], 0
jne 0x40506b
push str.Fail_to_update._n
push str._t_FAIL:_s__n
call fcn.004301ca
add esp, 8
xor al, al
mov dword [0x45bd64], 0x44d13c
jmp 0x4074ae
push 0x45be80
push 0x58
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x58
call fcn.004301ca
add esp, 0xc
mov eax, dword [0x458e6c]
cmp eax, 2
je 0x406b65
cmp eax, 3
je 0x406b4d
test byte [0x458e68], 0x10
je 0x406b4d
lea ecx, [esp + 0x22f4]
push str.qcsblhd_cfgdata.mbn
push ecx
lea ebx, [esp + 0x2404]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x406b4d
lea edx, [esp + 0x22f4]
push str.qcsbl.mbn
push edx
lea ebx, [esp + 0x21f4]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x406b4d
mov eax, dword [0x45b93c]
mov ecx, 0xc
mov esi, str.Downloading_qcsblhd_cfgdata.mbn_and_qcsbl.mbn...
mov edi, 0x45be80
rep movsd dword es:[edi], dword [esi]
push 0x45be80
push eax
push str._r_d___t_s
mov dword [0x45ba44], 1
movsb byte es:[edi], byte [esi]
call fcn.004301ca
mov edi, dword [ebp]
mov ecx, ebx
add esp, 0xc
push ecx
lea ecx, [esp + 0x2400]
call fcn.0041c3e0
add esp, 4
test eax, eax
jne 0x406b2f
mov edi, dword [ebp]
cmp edi, 0xffffffff
je 0x405113
jmp 0x40510e
push 0x45be80
push 0xd
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0xd
call fcn.004301ca
add esp, 0xc
mov eax, dword [0x458e6c]
cmp eax, 2
je 0x406b65
cmp eax, 3
je 0x406b65
cmp eax, 5
jne 0x406c0a
test byte [0x458e68], 0x20
je 0x406c0a
lea edx, [esp + 0x22f4]
push str.dbl.mbn
push edx
lea ebx, [esp + 0x21f4]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x406c0a
mov eax, dword [0x45b93c]
mov ecx, 5
mov esi, str.Downloading_dbl.mbn...
mov edi, 0x45be80
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0x45be80
push eax
push str._r_d___t_s
mov dword [0x45ba44], 1
movsb byte es:[edi], byte [esi]
call fcn.004301ca
mov edx, dword [ebp]
add esp, 0xc
mov ecx, ebx
call fcn.0041c420
test eax, eax
jne 0x406bec
mov edi, dword [ebp]
cmp edi, 0xffffffff
je 0x405113
jmp 0x40510e
push 0x45be80
push 0xd
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0xd
call fcn.004301ca
add esp, 0xc
mov eax, dword [0x458e6c]
cmp eax, 2
je 0x406dd8
cmp eax, 3
je 0x406d15
test byte [0x458e68], 8
je 0x406d15
lea ecx, [esp + 0x22f4]
push str.oemsblhd.mbn
push ecx
lea ebx, [esp + 0x2404]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x406d15
lea edx, [esp + 0x22f4]
push str.oemsbl.mbn
push edx
lea ebx, [esp + 0x21f4]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x406d15
mov eax, dword [0x45b93c]
mov ecx, 0xa
mov esi, str.Downloading_oemsblhd.mbn_and_oemsbl.mbn...
mov edi, 0x45be80
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0x45be80
push eax
push str._r_d___t_s
mov dword [0x45ba44], 2
movsb byte es:[edi], byte [esi]
call fcn.004301ca
mov eax, dword [0x45b80c]
mov ecx, dword [ebp]
add esp, 0xc
cmp eax, 2
je 0x406ce6
cmp eax, 3
je 0x406ce6
cmp eax, 5
je 0x406ce6
lea edx, [esp + 0x23fc]
push edx
push 4
push ecx
mov ecx, ebx
call fcn.004170c0
add esp, 0xc
test eax, eax
jne 0x406cf7
mov edi, dword [ebp]
cmp edi, 0xffffffff
je 0x405113
jmp 0x40510e
push 0x45be80
push 0xf
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0xf
call fcn.004301ca
add esp, 0xc
mov eax, dword [0x458e6c]
cmp eax, 2
je 0x406dd8
cmp eax, 3
je 0x406dd8
cmp eax, 5
je 0x406dd8
test byte [0x458e68], 1
je 0x4070a7
lea eax, [esp + 0x22f4]
push str._amsshd.mbn
push eax
lea ebx, [esp + 0x2404]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x4070a7
lea ecx, [esp + 0x22f4]
push str._amss.mbn
push ecx
lea ebx, [esp + 0x21f4]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x4070a7
mov edx, dword [0x45b93c]
mov ecx, 9
mov esi, str.Downloading_amsshd.mbn_and_amss.mbn...
mov edi, 0x45be80
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0x45be80
push edx
push str._r_d___t_s
mov dword [0x45ba44], 0x1e
movsb byte es:[edi], byte [esi]
call fcn.004301ca
add esp, 0xc
lea ecx, [esp + 0x23fc]
push ecx
jmp 0x40706c
test byte [0x458e68], 0x40
je 0x406ed2
lea edx, [esp + 0x22f4]
push str._fsbl.mbn
push edx
lea ebx, [esp + 0x21f4]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x406ed2
mov eax, dword [str.Downloading_fsbl.mbn...]
mov ecx, dword [0x44d630]
mov edx, dword [0x44d634]
mov dword [0x45be80], eax
mov eax, dword [0x44d638]
mov dword [0x45be8c], eax
mov eax, dword [0x45b93c]
push 0x45be80
mov dword [0x45be84], ecx
mov ecx, dword [0x44d63c]
mov dword [0x45be88], edx
mov edx, dword [0x44d640]
push eax
push str._r_d___t_s
mov dword [0x45ba44], 1
mov dword [0x45be90], ecx
mov dword [0x45be94], edx
call fcn.004301ca
mov eax, dword [0x45b80c]
mov ecx, dword [ebp]
add esp, 0xc
cmp eax, 2
je 0x406e8b
cmp eax, 3
je 0x406e8b
cmp eax, 5
jne 0x406ea3
push 0
push 0x11
push ecx
lea ecx, [esp + 0x21f8]
call fcn.004170c0
add esp, 0xc
test eax, eax
jne 0x406eb4
mov edi, dword [ebp]
cmp edi, 0xffffffff
je 0x405113
jmp 0x40510e
push 0x45be80
push 0xe
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0xe
call fcn.004301ca
add esp, 0xc
test byte [0x458e68], 0x80
je 0x406fcd
lea ecx, [esp + 0x22f4]
push str.osbl.mbn
push ecx
lea ebx, [esp + 0x21f4]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x406fcd
mov edx, dword [str.Downloading_osbl.mbn...]
mov eax, dword [0x44d654]
mov ecx, dword [0x44d658]
mov dword [0x45be80], edx
mov edx, dword [0x44d65c]
mov dword [0x45be8c], edx
mov edx, dword [0x45b93c]
push 0x45be80
mov dword [0x45be84], eax
mov eax, dword [0x44d660]
mov dword [0x45be88], ecx
mov ecx, dword [0x44d664]
push edx
push str._r_d___t_s
mov dword [0x45ba44], 1
mov dword [0x45be90], eax
mov dword [0x45be94], ecx
call fcn.004301ca
mov eax, dword [0x45b80c]
mov ecx, dword [ebp]
add esp, 0xc
cmp eax, 2
je 0x406f86
cmp eax, 3
je 0x406f86
cmp eax, 5
jne 0x406f9e
push 0
push 0x10
push ecx
lea ecx, [esp + 0x21f8]
call fcn.004170c0
add esp, 0xc
test eax, eax
jne 0x406faf
mov edi, dword [ebp]
cmp edi, 0xffffffff
je 0x405113
jmp 0x40510e
push 0x45be80
push 0xf
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0xf
call fcn.004301ca
add esp, 0xc
test byte [0x458e68], 1
je 0x4070a7
lea eax, [esp + 0x22f4]
push str._amss.mbn
push eax
lea ebx, [esp + 0x21f4]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x4070a7
mov ecx, dword [str.Downloading_amss.mbn...]
mov edx, dword [0x44d678]
mov eax, dword [0x44d67c]
mov dword [0x45be80], ecx
mov ecx, dword [0x44d680]
mov dword [0x45be8c], ecx
mov ecx, dword [0x45b93c]
push 0x45be80
mov dword [0x45be84], edx
mov edx, dword [0x44d684]
mov dword [0x45be88], eax
mov eax, dword [0x44d688]
push ecx
push str._r_d___t_s
mov dword [0x45ba44], 0x1e
mov dword [0x45be90], edx
mov dword [0x45be94], eax
call fcn.004301ca
add esp, 0xc
push 0
mov eax, dword [ebp]
push 5
push eax
lea ecx, [esp + 0x21f8]
call fcn.004170c0
add esp, 0xc
test eax, eax
je 0x406a00
push 0x45be80
push 0x32
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x32
call fcn.004301ca
add esp, 0xc
cmp dword [0x458e6c], 4
jne 0x407195
test byte [0x458e68], 2
je 0x407195
lea edx, [esp + 0x22f4]
push str._appsboothd.mbn
push edx
lea ebx, [esp + 0x2404]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x407195
lea eax, [esp + 0x22f4]
push str._appsboot.mbn
push eax
lea ebx, [esp + 0x21f4]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x407195
mov ecx, 0xb
mov esi, str.Downloading_appsboothd.mbn_and_appsboot.mbn...
mov edi, 0x45be80
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x45b93c]
movsw word es:[edi], word [esi]
push 0x45be80
push ecx
push str._r_d___t_s
mov dword [0x45ba44], 5
movsb byte es:[edi], byte [esi]
call fcn.004301ca
mov eax, dword [ebp]
add esp, 0xc
lea edx, [esp + 0x23fc]
push edx
push 0xa
push eax
mov ecx, ebx
call fcn.004170c0
add esp, 0xc
test eax, eax
jne 0x407177
mov edi, dword [ebp]
cmp edi, 0xffffffff
je 0x405113
jmp 0x40510e
push 0x45be80
push 0x37
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x37
call fcn.004301ca
add esp, 0xc
test byte [0x458e68], 4
je 0x4073c3
cmp byte [0x458e71], 0
jne 0x4071c1
cmp byte [0x45bf05], 0
jne 0x4071c1
cmp dword [0x45c110], 1
jne 0x4073b6
cmp dword [0x458e6c], 8
je 0x4073b6
lea eax, [esp + 0x22f4]
push eax
push 0x44c6f8
call fcn.00401000
add esp, 8
cmp byte [0x458e71], 0
mov eax, str.lsDownloadEFS_true_n
jne 0x4071f6
mov eax, str.lsDownloadEFS_false_n
push eax
call fcn.00401000
mov eax, dword [0x458e6c]
add esp, 4
cmp eax, 9
je 0x407213
cmp eax, 0xa
mov eax, 0x44d738
jne 0x407218
mov eax, 0x44d72c
push eax
lea ecx, [esp + 0x18]
call fcn.00415050
lea ecx, [esp + 0x24]
push ecx
lea ecx, [esp + 0x18]
mov dword [esp + 0x2620], 0
call fcn.00413ff0
mov eax, dword [eax]
add esp, 4
push eax
lea edx, [esp + 0x22f8]
push edx
lea ebx, [esp + 0x21f4]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
lea ecx, [esp + 0x24]
mov bl, al
call fcn.004155c0
test bl, bl
je 0x407381
mov eax, dword [esp + 0x14]
push eax
push str.Downloading__s..._n
call fcn.00401000
mov ecx, dword [esp + 0x1c]
push ecx
lea edx, [esp + 0x20]
push str.Downloading__s...
push edx
call fcn.00415030
mov eax, dword [esp + 0x28]
mov edx, 0x45be80
add esp, 0x14
mov dword [0x45ba44], 1
sub edx, eax
jmp 0x4072b0
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, 1
test cl, cl
jne 0x4072b0
mov eax, dword [0x45b93c]
push 0x45be80
push eax
push str._r_d___t_s
call fcn.004301ca
mov eax, dword [ebp]
add esp, 0xc
push 0
push 9
push eax
lea ecx, [esp + 0x21f8]
call fcn.004170c0
add esp, 0xc
test eax, eax
jne 0x407333
mov ebp, dword [ebp]
cmp ebp, 0xffffffff
je 0x4072fe
mov edi, ebp
call fcn.0041d9d0
cmp dword [0x45bd64], 0
jne 0x407323
push str.Fail_to_update._n
push str._t_FAIL:_s__n
call fcn.004301ca
add esp, 8
mov dword [0x45bd64], 0x44d13c
lea ecx, [esp + 0x14]
call fcn.004155c0
xor al, al
jmp 0x4074ae
mov eax, dword [0x458e6c]
cmp eax, 6
je 0x407364
cmp eax, 7
je 0x407364
cmp eax, 8
je 0x407364
push 0x45be80
push 0x41
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x41
call fcn.004301ca
jmp 0x40739d
push 0x45be80
push 0x61
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x61
call fcn.004301ca
jmp 0x40739d
lea ecx, [esp + 0x21ec]
push ecx
push 0x44c6f8
call fcn.00401000
push str.efs_file_not_exist__n
call fcn.00401000
add esp, 0xc
lea ecx, [esp + 0x14]
mov dword [esp + 0x261c], 0xffffffff
call fcn.004155c0
jmp 0x4073c3
push str.Not_need_download_efs__n
call fcn.00401000
add esp, 4
test dword [0x458e68], 0x100
je 0x407498
lea edx, [esp + 0x22f4]
push str.image.bmf
push edx
lea ebx, [esp + 0x21f4]
call fcn.00404c20
add esp, 8
call fcn.00401fc0
test al, al
je 0x407498
mov eax, dword [0x45b93c]
mov ecx, 7
mov esi, str.Downloading_PC_Suite_image...
mov edi, 0x45be80
rep movsd dword es:[edi], dword [esi]
push 0x45be80
push eax
push str._r_d___t_s
mov dword [0x45ba44], 0x25
movsw word es:[edi], word [esi]
call fcn.004301ca
mov eax, dword [0x45b80c]
mov ecx, dword [ebp]
add esp, 0xc
cmp eax, 2
je 0x40744d
cmp eax, 3
je 0x40744d
cmp eax, 5
mov eax, 0x10
jne 0x407452
mov eax, 0xf0
push 0
push eax
push ecx
lea ecx, [esp + 0x21f8]
call fcn.004170c0
add esp, 0xc
test eax, eax
jne 0x40747a
mov edi, dword [ebp]
cmp edi, 0xffffffff
je 0x405113
jmp 0x40510e
push 0x45be80
push 0x62
push str._r_d___t_s_t_OK__n
mov dword [0x45b93c], 0x62
call fcn.004301ca
add esp, 0xc
mov byte [0x458e49], 1
push str.download_exit_n
call fcn.00401000
add esp, 4
mov al, 1
mov ecx, dword [esp + 0x2614]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x25f8]
xor ecx, esp
call fcn.0042fb8f
add esp, 0x260c
ret