Function at 0x140021060
Capabilities:
Check if file exists

Disassembly:
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbx
sub rsp, 0x2c0
mov qword [rsp + 0x258], 0xfffffffffffffffe
mov rax, qword [0x1400311e8]
xor rax, rsp
mov qword [rsp + 0x2b8], rax
call fcn.14001a390
mov edx, dword [rsp + 0x2d8]
lea rcx, str.StartType:0___START_TASK_HOST_RUN.1___START_TASK_RECEIVE_DEVICE_CurrentValue_is__d
call fcn.14001a560
mov dword [rsp + 0x24], 0
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x2d0]
add rcx, 0x60
lea rdx, [0x14002742f]
call fcn.1400048b0
mov eax, dword [rsp + 0x2d8]
mov dword [rsp + 0x260], eax
cmp dword [rsp + 0x260], 0
je 0x1400210ff
cmp dword [rsp + 0x260], 1
je 0x140021526
jmp 0x140021918
mov rdx, qword [rsp + 0x2d0]
add rdx, 0x60
mov r8d, 0x1e
mov rcx, qword [rsp + 0x2d0]
call fcn.14001ee50
test eax, eax
jne 0x140021133
lea rcx, str.No_Huawei_Handset_is_connected
call fcn.14001a560
jmp 0x140021936
xor eax, eax
cmp eax, 1
je 0x140021521
cmp dword [0x1400335a0], 0
je 0x140021158
lea rcx, str.START_TASK_HOST_RUN_Receive_m_hExitUSBEvent
call fcn.14001a560
jmp 0x140021521
mov ecx, 0x5dc
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rdx, qword [rsp + 0x2d0]
add rdx, 0x60
mov r8d, 0x1e
mov rcx, qword [rsp + 0x2d0]
call fcn.14001ee50
test eax, eax
jne 0x140021194
lea rcx, [0x1400274d8]
call fcn.14001a560
jmp 0x140021133
xor ecx, ecx
call fcn.14001c5d0
mov byte [rsp + 0x2c], al
lea rcx, [0x140027508]
call fcn.14001a560
mov rcx, qword [rsp + 0x2d0]
add rcx, 0x60
call fcn.140004a40
mov edx, 1
mov rcx, rax
call fcn.14001ab40
mov dword [rsp + 0x28], eax
cmp dword [rsp + 0x28], 0
jne 0x1400214e9
cmp dword [rsp + 0x24], 0
je 0x1400211ed
movzx eax, byte [rsp + 0x2c]
test eax, eax
jne 0x1400211ed
jmp 0x140021133
mov rdx, qword [rsp + 0x2d0]
add rdx, 0x60
lea r8, [0x140027530]
lea rcx, [rsp + 0x38]
call fcn.140008880
nop
lea rcx, [rsp + 0x38]
call fcn.140004a40
lea r8, [0x140027548]
mov rdx, rax
mov rcx, qword [rsp + 0x2d0]
call fcn.14001f470
mov rax, qword [rsp + 0x2d0]
cmp dword [rax + 0x1a4], 0
jne 0x140021317
mov rcx, qword [rsp + 0x2d0]
add rcx, 0x1a8
call fcn.140004a40
mov rcx, rax
call fcn.14001bec0
test eax, eax
jne 0x140021317
mov r8, qword [rsp + 0x2d0]
add r8, 0x1a8
mov rdx, qword [rsp + 0x2d0]
add rdx, 0x60
lea rcx, [rsp + 0x60]
call fcn.140008ac0
nop
lea rdx, [0x140027484]
lea rcx, [rsp + 0x88]
call fcn.1400047b0
nop
mov rcx, qword [rsp + 0x2d0]
add rcx, 0x1a8
lea rdx, [0x140027483]
call fcn.140008310
test eax, eax
je 0x1400212ff
lea rcx, [rsp + 0x60]
call fcn.140004a40
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x1400212ff
lea rcx, [rsp + 0x88]
call fcn.140004a40
mov rbx, rax
lea rcx, [rsp + 0x60]
call fcn.140004a40
xor r8d, r8d
mov rdx, rbx
mov rcx, rax
call fcn.14001d220
nop
lea rcx, [rsp + 0x88]
call fcn.140004860
nop
lea rcx, [rsp + 0x60]
call fcn.140004860
mov rax, qword [rsp + 0x2d0]
cmp dword [rax + 0x1a0], 0
jne 0x140021437
cmp dword [rsp + 0x20], 0
jne 0x140021437
lea rcx, [0x140027558]
call fcn.14001a560
lea rax, [rsp + 0x130]
mov qword [rsp + 0x158], rax
lea rax, [rsp + 0x160]
mov qword [rsp + 0x188], rax
lea rax, [rsp + 0x190]
mov qword [rsp + 0x1b8], rax
mov rdx, qword [rsp + 0x2d0]
add rdx, 0xb0
mov rcx, qword [rsp + 0x158]
call fcn.140004810
mov qword [rsp + 0x268], rax
mov rax, qword [rsp + 0x268]
mov qword [rsp + 0x270], rax
mov rdx, qword [rsp + 0x2d0]
add rdx, 0x88
mov rcx, qword [rsp + 0x188]
call fcn.140004810
mov qword [rsp + 0x278], rax
mov rax, qword [rsp + 0x278]
mov qword [rsp + 0x280], rax
mov rdx, qword [rsp + 0x2d0]
add rdx, 0x150
mov rcx, qword [rsp + 0x1b8]
call fcn.140004810
mov qword [rsp + 0x288], rax
mov r9, qword [rsp + 0x270]
mov r8, qword [rsp + 0x280]
mov rdx, qword [rsp + 0x288]
mov rcx, qword [rsp + 0x2d0]
call fcn.14001f920
test eax, eax
jne 0x140021437
lea rcx, [rsp + 0x38]
call fcn.140004860
jmp 0x140021521
mov rcx, qword [rsp + 0x2d0]
add rcx, 0x128
call fcn.140004a40
mov rdx, rax
mov rcx, qword [rsp + 0x2d0]
call fcn.14001eb20
test eax, eax
jne 0x1400214d0
lea rcx, [0x140027588]
call fcn.14001a560
mov rcx, qword [rsp + 0x2d0]
add rcx, 0xb0
call fcn.140004a40
mov rbx, rax
mov rcx, qword [rsp + 0x2d0]
add rcx, 0x88
call fcn.140004a40
mov r9, rbx
mov r8, rax
xor edx, edx
mov rcx, qword [rsp + 0x2d0]
call fcn.140020930
test eax, eax
jne 0x1400214c8
lea rcx, [0x1400275b8]
call fcn.14001a560
nop
lea rcx, [rsp + 0x38]
call fcn.140004860
jmp 0x140021521
mov dword [rsp + 0x24], 1
mov dword [rsp + 0x20], 1
lea rcx, [rsp + 0x38]
call fcn.140004860
jmp 0x140021133
cmp dword [rsp + 0x28], 0xa
jne 0x140021503
lea rcx, [0x1400275d0]
call fcn.14001a560
jmp 0x140021133
lea rcx, [0x140027600]
call fcn.14001a560
mov dword [rsp + 0x24], 0
jmp 0x140021133
jmp 0x140021936
xor eax, eax
cmp eax, 1
je 0x140021916
cmp dword [0x1400335a0], 0
je 0x14002154b
lea rcx, str.START_TASK_RECEIVE_DEVICE_Receive_m_hExitUSBEvent
call fcn.14001a560
jmp 0x140021916
mov ecx, 0x5dc
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rdx, qword [rsp + 0x2d0]
add rdx, 0x60
mov r8d, 0x1e
mov rcx, qword [rsp + 0x2d0]
call fcn.14001ee50
test eax, eax
jne 0x140021587
lea rcx, str.the_phone_is_not_used_smartphone_autorun
call fcn.14001a560
jmp 0x140021526
xor ecx, ecx
call fcn.14001c5d0
mov byte [rsp + 0xb4], al
lea rcx, str.Start_send_SCSI_to_check_HandSet_mode
call fcn.14001a560
mov rcx, qword [rsp + 0x2d0]
add rcx, 0x60
call fcn.140004a40
mov edx, 1
mov rcx, rax
call fcn.14001ab40
mov dword [rsp + 0xb0], eax
cmp dword [rsp + 0xb0], 0
jne 0x1400218db
cmp dword [rsp + 0x24], 0
je 0x1400215ec
movzx eax, byte [rsp + 0xb4]
test eax, eax
jne 0x1400215ec
jmp 0x140021526
mov rdx, qword [rsp + 0x2d0]
add rdx, 0x60
lea r8, [0x1400276b8]
lea rcx, [rsp + 0xb8]
call fcn.140008880
nop
lea rcx, [rsp + 0xb8]
call fcn.140004a40
lea r8, str.Section_Autorun
mov rdx, rax
mov rcx, qword [rsp + 0x2d0]
call fcn.14001f470
mov rax, qword [rsp + 0x2d0]
cmp dword [rax + 0x1a4], 0
jne 0x140021728
mov rcx, qword [rsp + 0x2d0]
add rcx, 0x1a8
call fcn.140004a40
mov rcx, rax
call fcn.14001bec0
test eax, eax
jne 0x140021728
mov r8, qword [rsp + 0x2d0]
add r8, 0x1a8
mov rdx, qword [rsp + 0x2d0]
add rdx, 0x60
lea rcx, [rsp + 0xe0]
call fcn.140008ac0
nop
lea rdx, [0x1400274d4]
lea rcx, [rsp + 0x108]
call fcn.1400047b0
nop
mov rcx, qword [rsp + 0x2d0]
add rcx, 0x1a8
lea rdx, [0x1400274a7]
call fcn.140008310
test eax, eax
je 0x14002170d
lea rcx, [rsp + 0xe0]
call fcn.140004a40
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x14002170d
lea rcx, [rsp + 0x108]
call fcn.140004a40
mov rbx, rax
lea rcx, [rsp + 0xe0]
call fcn.140004a40
xor r8d, r8d
mov rdx, rbx
mov rcx, rax
call fcn.14001d220
nop
lea rcx, [rsp + 0x108]
call fcn.140004860
nop
lea rcx, [rsp + 0xe0]
call fcn.140004860
mov rax, qword [rsp + 0x2d0]
cmp dword [rax + 0x1a0], 0
jne 0x14002184b
cmp dword [rsp + 0x20], 0
jne 0x14002184b
lea rcx, str._______Init_________Updata_HiSuite_______
call fcn.14001a560
lea rax, [rsp + 0x1c0]
mov qword [rsp + 0x1e8], rax
lea rax, [rsp + 0x1f0]
mov qword [rsp + 0x218], rax
lea rax, [rsp + 0x220]
mov qword [rsp + 0x248], rax
mov rdx, qword [rsp + 0x2d0]
add rdx, 0xb0
mov rcx, qword [rsp + 0x1e8]
call fcn.140004810
mov qword [rsp + 0x290], rax
mov rax, qword [rsp + 0x290]
mov qword [rsp + 0x298], rax
mov rdx, qword [rsp + 0x2d0]
add rdx, 0x88
mov rcx, qword [rsp + 0x218]
call fcn.140004810
mov qword [rsp + 0x2a0], rax
mov rax, qword [rsp + 0x2a0]
mov qword [rsp + 0x2a8], rax
mov rdx, qword [rsp + 0x2d0]
add rdx, 0x150
mov rcx, qword [rsp + 0x248]
call fcn.140004810
mov qword [rsp + 0x2b0], rax
mov r9, qword [rsp + 0x298]
mov r8, qword [rsp + 0x2a8]
mov rdx, qword [rsp + 0x2b0]
mov rcx, qword [rsp + 0x2d0]
call fcn.14001f920
test eax, eax
jne 0x14002184b
lea rcx, [rsp + 0xb8]
call fcn.140004860
jmp 0x140021916
lea rcx, str._______Init_________start_HiSuite_______
call fcn.14001a560
mov rcx, qword [rsp + 0x2d0]
add rcx, 0xb0
call fcn.140004a40
mov rbx, rax
mov rcx, qword [rsp + 0x2d0]
add rcx, 0x88
call fcn.140004a40
mov r9, rbx
mov r8, rax
xor edx, edx
mov rcx, qword [rsp + 0x2d0]
call fcn.140020930
test eax, eax
jne 0x1400218b7
lea rcx, str.start_HiSuite_error
call fcn.14001a560
nop
lea rcx, [rsp + 0xb8]
call fcn.140004860
jmp 0x140021916
mov dword [rsp + 0x24], 1
mov dword [rsp + 0x20], 1
lea rcx, [rsp + 0xb8]
call fcn.140004860
jmp 0x140021526
cmp dword [rsp + 0xb0], 0xa
jne 0x1400218f8
lea rcx, str.the_phone_reutrnning_SCSI_command_is_null
call fcn.14001a560
jmp 0x140021526
lea rcx, str.the_mode_of_phone_is_not_hisuite_mode
call fcn.14001a560
mov dword [rsp + 0x24], 0
jmp 0x140021526
jmp 0x140021936
mov byte [rsp + 0x250], 0
mov rcx, qword [rsp + 0x2e0]
call fcn.140004b70
mov al, byte [rsp + 0x250]
jmp 0x140021952
mov byte [rsp + 0x251], 1
mov rcx, qword [rsp + 0x2e0]
call fcn.140004b70
mov al, byte [rsp + 0x251]
mov rcx, qword [rsp + 0x2b8]
xor rcx, rsp
call fcn.140009950
add rsp, 0x2c0
pop rbx
ret