Function at 0x41ade0
Capabilities:
Create thread
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
push ebx
xor eax, eax
mov dword [ebp - 0x30], edx
push esi
mov ebx, ecx
mov dword [ebp - 0x34], 0
push edi
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x2c], eax
mov dword [0x448800], eax
call fcn.00415d70
mov esi, eax
mov dword [ebp - 0x18], esi
test esi, esi
jns 0x41ae3d
push str.ERROR:_Unable_to_open_device_in_restore_mode_n
call fcn.00404d10
xor eax, eax
add esp, 4
cmp esi, 0xfffffffe
sete al
add eax, 0xfffffffe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [ebx + 0x28]
push str.Device__s_has_successfully_entered_restore_mode_n
call fcn.00404cb0
mov eax, dword [ebx + 0x3c]
mov esi, dword [sym.imp.imobiledevice.dll_restored_query_value]
mov edi, dword [eax + 0x20]
mov eax, dword [eax + 8]
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x10]
push eax
push str.HardwareInfo
push edi
mov dword [ebp - 0x28], edi
call esi
add esp, 0x14
test eax, eax
jne 0x41af98
xorps xmm0, xmm0
mov byte [ebp - 5], al
push str.Hardware_Information:_n
movlpd qword [ebp - 0x44], xmm0
call fcn.00404cb0
add esp, 4
push str.BoardID
push dword [ebp - 0x10]
call sym.fixios.exe_plist_dict_get_item
add esp, 8
test eax, eax
je 0x41aec9
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x41aec9
cmp dword [ecx + 0x10], 1
jne 0x41aec9
lea ecx, [ebp - 0x44]
push ecx
push eax
call sym.fixios.exe_plist_get_uint_val
push dword [ebp - 0x44]
push str.BoardID:__d_n
call fcn.00404cb0
add esp, 0x10
push 0x444ae8
push dword [ebp - 0x10]
call sym.fixios.exe_plist_dict_get_item
add esp, 8
test eax, eax
je 0x41af04
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x41af04
cmp dword [ecx + 0x10], 1
jne 0x41af04
lea ecx, [ebp - 0x44]
push ecx
push eax
call sym.fixios.exe_plist_get_uint_val
push dword [ebp - 0x44]
push str.ChipID:__d_n
call fcn.00404cb0
add esp, 0x10
push str.UniqueChipID
push dword [ebp - 0x10]
call sym.fixios.exe_plist_dict_get_item
add esp, 8
test eax, eax
je 0x41af42
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x41af42
cmp dword [ecx + 0x10], 1
jne 0x41af42
lea ecx, [ebp - 0x44]
push ecx
push eax
call sym.fixios.exe_plist_get_uint_val
push dword [ebp - 0x40]
push dword [ebp - 0x44]
push str.UniqueChipID:__I64u_n
call fcn.00404cb0
add esp, 0x14
push 0x444b24
push dword [ebp - 0x10]
call sym.fixios.exe_plist_dict_get_item
add esp, 8
test eax, eax
je 0x41af8c
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x41af8c
cmp dword [ecx + 0x10], 0
jne 0x41af8c
lea ecx, [ebp - 5]
push ecx
push eax
call sym.fixios.exe_plist_get_bool_val
cmp byte [ebp - 5], 1
mov ecx, 0x444b3c
mov eax, 0x444b34
cmovne eax, ecx
push eax
push str.ProductionMode:__s_n
call fcn.00404cb0
add esp, 0x10
mov ecx, dword [ebp - 0x10]
test ecx, ecx
je 0x41af98
call fcn.00427a00
lea eax, [ebp - 0x10]
push eax
push str.SavedDebugInfo
push edi
call esi
mov edi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 0xc
test eax, eax
jne 0x41b093
push str.PreviousExitStatus
push dword [ebp - 0x10]
mov dword [ebp - 0x14], 0
call sym.fixios.exe_plist_dict_get_item
add esp, 8
test eax, eax
je 0x41b002
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x41b002
cmp dword [ecx + 0x10], 3
jne 0x41b002
lea ecx, [ebp - 0x14]
push ecx
push eax
call sym.fixios.exe_plist_get_string_val
mov esi, dword [ebp - 0x14]
push esi
push str.Previous_restore_exit_status:__s_n
call fcn.00404cb0
push esi
call edi
add esp, 0x14
mov dword [ebp - 0x14], 0
push str.USBLog
push dword [ebp - 0x10]
call sym.fixios.exe_plist_dict_get_item
add esp, 8
test eax, eax
je 0x41b048
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x41b048
cmp dword [ecx + 0x10], 3
jne 0x41b048
lea ecx, [ebp - 0x14]
push ecx
push eax
call sym.fixios.exe_plist_get_string_val
mov esi, dword [ebp - 0x14]
push esi
push str.USB_log_is_available:_n_s_n
call fcn.00404cb0
push esi
call edi
add esp, 0x14
mov dword [ebp - 0x14], 0
push str.PanicLog
push dword [ebp - 0x10]
call sym.fixios.exe_plist_dict_get_item
add esp, 8
test eax, eax
je 0x41b087
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x41b087
cmp dword [ecx + 0x10], 3
jne 0x41b087
lea ecx, [ebp - 0x14]
push ecx
push eax
call sym.fixios.exe_plist_get_string_val
mov esi, dword [ebp - 0x14]
push esi
push str.Panic_log_is_available:_n_s_n
call fcn.00404cb0
push esi
call edi
add esp, 0x14
mov ecx, dword [ebp - 0x10]
test ecx, ecx
je 0x41b093
call fcn.00427a00
push 0x444bec
push dword [ebx + 4]
call sym.fixios.exe_plist_dict_get_item
add esp, 8
test eax, eax
je 0x41b0c2
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0x14]
mov dword [ebp - 0x14], 0
call fcn.00427d60
mov ecx, dword [ebx + 0x3c]
mov eax, dword [ebp - 0x14]
mov dword [ecx + 4], eax
push str.Starting_FDR_listener_thread_n
mov dword [ebp - 0x14], 0
call fcn.00404cb0
mov ecx, dword [ebp - 0x3c]
lea eax, [ebp - 0x14]
add esp, 4
xor edx, edx
push eax
call fcn.00406430
add esp, 4
test eax, eax
jne 0x41b11a
push eax
push eax
push dword [ebp - 0x14]
push 0x4066e0
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov esi, eax
mov dword [ebp - 0x2c], esi
test esi, esi
jne 0x41b127
push str.ERROR:_Failed_to_start_FDR_listener_thread_n
call fcn.00404d10
add esp, 4
xor eax, eax
mov dword [ebp - 0x2c], eax
jmp 0x41b127
push str.ERROR:_Failed_to_start_FDR_Ctrl_channel_n
call fcn.00404d10
add esp, 4
mov ebx, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
push 1
push 0x18
call ebx
mov edx, eax
mov dword [eax + 0x10], 5
call fcn.0042c770
push 1
push 0x18
mov edi, eax
call ebx
mov edx, eax
mov dword [eax + 0x10], 1
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 8
mov dword [eax + 0xc], 0
call fcn.0042c770
push eax
push str.AutoBootDelay
push edi
call sym.fixios.exe_plist_dict_set_item
mov ecx, dword [ebp - 0x20]
add esp, 0x1c
mov ecx, dword [ecx + 0x24]
test ecx, ecx
je 0x41b1fb
lea edx, [ebp - 0x38]
mov dword [ebp - 0x38], 0
call fcn.00427d60
mov esi, dword [ebp - 0x38]
push str.FusingStatus
push esi
call sym.fixios.exe_plist_dict_remove_item
push str.PkHash
push esi
call sym.fixios.exe_plist_dict_remove_item
push esi
push str.BBUpdaterState
push edi
call sym.fixios.exe_plist_dict_set_item
mov eax, dword [ebp - 0x20]
add esp, 0x1c
push 0x444ca8
push dword [eax + 0x24]
call sym.fixios.exe_plist_dict_get_item
add esp, 8
test eax, eax
je 0x41b1fb
lea edx, [ebp - 0x38]
mov dword [ebp - 0x38], 0
mov ecx, eax
call fcn.00427d60
push dword [ebp - 0x38]
push str.BasebandNonce
push edi
call sym.fixios.exe_plist_dict_set_item
add esp, 0xc
push 1
push 0x18
call ebx
mov esi, eax
push str.UserOrInternal
mov dword [esi + 0x10], 3
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strdup]
mov ecx, str.UserOrInternal
mov dword [esi], eax
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41b222
sub ecx, edx
mov dword [esi + 0xc], 0
mov edx, esi
mov dword [esi + 8], ecx
call fcn.0042c770
push eax
push str.BootImageType
push edi
call sym.fixios.exe_plist_dict_set_item
add esp, 0xc
push 1
push 0x18
call ebx
mov edx, eax
mov dword [eax + 0x10], 0
mov byte [eax], 1
mov dword [eax + 8], 1
mov dword [eax + 0xc], 0
call fcn.0042c770
push eax
push str.CreateFilesystemPartitions
push edi
call sym.fixios.exe_plist_dict_set_item
add esp, 0x14
push 1
push 0x18
call ebx
mov esi, eax
push str.RELEASE
mov dword [esi + 0x10], 3
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strdup]
mov ecx, str.RELEASE
mov dword [esi], eax
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41b2a6
sub ecx, edx
mov dword [esi + 0xc], 0
mov edx, esi
mov dword [esi + 8], ecx
call fcn.0042c770
push eax
push str.DFUFileType
push edi
call sym.fixios.exe_plist_dict_set_item
add esp, 0xc
push 1
push 0x18
call ebx
mov edx, eax
mov dword [eax + 0x10], 0
mov byte [eax], 0
mov dword [eax + 8], 1
mov dword [eax + 0xc], 0
call fcn.0042c770
push eax
push str.DataImage
push edi
call sym.fixios.exe_plist_dict_set_item
add esp, 0x14
push 1
push 0x18
call ebx
mov esi, eax
push 0x444d1c
mov dword [esi + 0x10], 3
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strdup]
mov ecx, 0x444d1c
mov dword [esi], eax
add esp, 0xc
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41b330
sub ecx, edx
mov dword [esi + 0xc], 0
mov edx, esi
mov dword [esi + 8], ecx
call fcn.0042c770
push eax
push str.FirmwareDirectory
push edi
call sym.fixios.exe_plist_dict_set_item
add esp, 0xc
push 1
push 0x18
call ebx
mov edx, eax
mov dword [eax + 0x10], 0
mov byte [eax], 1
mov dword [eax + 8], 1
mov dword [eax + 0xc], 0
call fcn.0042c770
push eax
push str.FlashNOR
push edi
call sym.fixios.exe_plist_dict_set_item
add esp, 0x14
push 1
push 0x18
call ebx
mov esi, eax
push str.Release
mov dword [esi + 0x10], 3
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strdup]
mov ecx, str.Release
mov dword [esi], eax
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41b3b4
sub ecx, edx
mov dword [esi + 0xc], 0
mov edx, esi
mov dword [esi + 8], ecx
call fcn.0042c770
push eax
push str.KernelCacheType
push edi
call sym.fixios.exe_plist_dict_set_item
add esp, 0xc
push 1
push 0x18
call ebx
mov esi, eax
push str.production
mov dword [esi + 0x10], 3
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strdup]
mov ecx, str.production
mov dword [esi], eax
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41b404
sub ecx, edx
mov dword [esi + 0xc], 0
mov edx, esi
mov dword [esi + 8], ecx
call fcn.0042c770
push eax
push str.NORImageType
push edi
call sym.fixios.exe_plist_dict_set_item
mov eax, dword [ebp - 0x20]
add esp, 0xc
mov eax, dword [eax + 0x5c]
test eax, eax
je 0x41b44f
push eax
call sym.fixios.exe_plist_new_string
add esp, 4
push eax
push str.RestoreBootArgs
push edi
call sym.fixios.exe_plist_dict_set_item
add esp, 0xc
push 1
push 0x18
call ebx
mov esi, eax
push str._tmp_Per2.tmp
mov dword [esi + 0x10], 3
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strdup]
mov ecx, str._tmp_Per2.tmp
mov dword [esi], eax
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41b476
sub ecx, edx
mov dword [esi + 0xc], 0
mov edx, esi
mov dword [esi + 8], ecx
call fcn.0042c770
push eax
push str.RestoreBundlePath
push edi
call sym.fixios.exe_plist_dict_set_item
add esp, 0xc
push 1
push 0x18
call ebx
mov edx, eax
mov dword [eax + 0x10], 0
mov byte [eax], 0
mov dword [eax + 8], 1
mov dword [eax + 0xc], 0
call fcn.0042c770
push eax
push str.RootToInstall
push edi
call sym.fixios.exe_plist_dict_set_item
add esp, 0x14
push 1
push 0x18
call ebx
mov edx, eax
mov dword [eax + 0x10], 0
mov byte [eax], 1
mov dword [eax + 8], 1
mov dword [eax + 0xc], 0
call fcn.0042c770
push eax
push str.SystemImage
push edi
call sym.fixios.exe_plist_dict_set_item
add esp, 0x14
push 1
push 0x18
call ebx
mov esi, eax
push str.User
mov dword [esi + 0x10], 3
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strdup]
mov ecx, str.User
mov dword [esi], eax
add esp, 0xc
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41b530
sub ecx, edx
mov dword [esi + 0xc], 0
mov edx, esi
mov dword [esi + 8], ecx
call fcn.0042c770
push eax
push str.SystemImageType
push edi
call sym.fixios.exe_plist_dict_set_item
add esp, 0xc
push 0x444ddc
push 0x444df4
push 2
push dword [ebp - 0x30]
call sym.fixios.exe_plist_access_path
add esp, 0x10
test eax, eax
je 0x41b58d
lea edx, [ebp - 0x38]
mov dword [ebp - 0x38], 0
mov ecx, eax
call fcn.00427d60
mov esi, dword [ebp - 0x38]
jmp 0x41b6d9
push 1
push 0x18
call ebx
mov edx, eax
mov dword [eax + 0x10], 5
call fcn.0042c770
push 1
push 0x18
mov esi, eax
call ebx
mov edx, eax
mov dword [eax + 0x10], 1
mov dword [eax], 0x500
mov dword [eax + 4], 0
mov dword [eax + 8], 8
mov dword [eax + 0xc], 0
call fcn.0042c770
push eax
push 0x444dfc
push esi
call sym.fixios.exe_plist_dict_set_item
add esp, 0x1c
push 1
push 0x18
call ebx
mov edx, eax
mov dword [eax + 0x10], 1
mov dword [eax], 0xa0
mov dword [eax + 4], 0
mov dword [eax + 8], 8
mov dword [eax + 0xc], 0
call fcn.0042c770
push eax
push 0x444e00
push esi
call sym.fixios.exe_plist_dict_set_item
add esp, 0x14
push 1
push 0x18
call ebx
mov edx, eax
mov dword [eax + 0x10], 1
mov dword [eax], 0x140
mov dword [eax + 4], 0
mov dword [eax + 8], 8
mov dword [eax + 0xc], 0
call fcn.0042c770
push eax
push 0x444e04
push esi
call sym.fixios.exe_plist_dict_set_item
add esp, 0x14
push 1
push 0x18
call ebx
mov edx, eax
mov dword [eax + 0x10], 1
mov dword [eax], 0x280
mov dword [eax + 4], 0
mov dword [eax + 8], 8
mov dword [eax + 0xc], 0
call fcn.0042c770
push eax
push 0x444e08
push esi
call sym.fixios.exe_plist_dict_set_item
add esp, 0x14
push 1
push 0x18
call ebx
mov edx, eax
mov dword [eax + 0x10], 1
mov dword [eax], 0x50
mov dword [eax + 4], 0
mov dword [eax + 8], 8
mov dword [eax + 0xc], 0
call fcn.0042c770
push eax
push 0x444e0c
push esi
call sym.fixios.exe_plist_dict_set_item
add esp, 0x14
push esi
push str.SystemPartitionPadding
push edi
call sym.fixios.exe_plist_dict_set_item
add esp, 0xc
call fcn.00405080
mov esi, eax
test esi, esi
je 0x41b715
push esi
call sym.fixios.exe_plist_new_string
add esp, 4
push eax
push str.UUID
push edi
call sym.fixios.exe_plist_dict_set_item
add esp, 0xc
push esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
push 1
push 0x18
call ebx
mov edx, eax
mov dword [eax + 0x10], 0
mov byte [eax], 0
mov dword [eax + 8], 1
mov dword [eax + 0xc], 0
call fcn.0042c770
push eax
push str.UpdateBaseband
push edi
call sym.fixios.exe_plist_dict_set_item
add esp, 0x14
push 0x444e40
push 0x444e48
push 0x444e4c
push 3
push dword [ebp - 0x30]
call sym.fixios.exe_plist_access_path
add esp, 0x14
test eax, eax
je 0x41b7d7
push str.RequiredCapacity
push eax
call sym.fixios.exe_plist_dict_get_item
add esp, 8
mov dword [ebp - 0x40], eax
test eax, eax
je 0x41b7d7
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x41b7d7
cmp dword [ecx + 0x10], 3
jne 0x41b7d7
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x38], 0
push ecx
push eax
call sym.fixios.exe_plist_get_string_val
mov esi, dword [ebp - 0x38]
push esi
push str.TZ0RequiredCapacity:__s_n
call fcn.00404da0
mov ecx, dword [ebp - 0x40]
lea edx, [ebp - 0x38]
mov dword [ebp - 0x38], 0
call fcn.00427d60
push dword [ebp - 0x38]
push str.TZ0RequiredCapacity
push edi
call sym.fixios.exe_plist_dict_set_item
add esp, 0x1c
push esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
push 1
push 0x18
call ebx
mov edx, eax
mov dword [eax + 0x10], 0
mov byte [eax], 1
mov dword [eax + 8], 1
mov dword [eax + 0xc], 0
call fcn.0042c770
push eax
push str.PersonalizedDuringPreflight
push edi
call sym.fixios.exe_plist_dict_set_item
mov ebx, dword [ebp - 0x20]
add esp, 0x14
mov esi, dword [ebp - 0x28]
mov eax, dword [ebx + 0x3c]
push dword [eax + 0x1c]
push dword [eax + 0x18]
push edi
push esi
call dword [sym.imp.imobiledevice.dll_restored_start_restore]
add esp, 0x10
test eax, eax
je 0x41b852
push str.ERROR:_Unable_to_start_the_restore_process_n
call fcn.00404d10
add esp, 4
test edi, edi
je 0x41b841
mov ecx, edi
call fcn.00427a00
mov ecx, ebx
call fcn.00415520
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test edi, edi
je 0x41b85d
mov ecx, edi
call fcn.00427a00
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x41b87e
push dword [ebx + 0x68]
movsd xmm0, qword [0x432d28]
sub esp, 8
movsd qword [esp], xmm0
push 1
call eax
add esp, 0x10
push 0
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
add esp, 4
mov dword [ebp - 0x38], eax
xor edi, edi
mov dword [ebp - 0x40], edx
test byte [ebx], 1
jne 0x41bc10
nop word [eax + eax]
cmp dword [ebp - 0x18], 0
jge 0x41b8b6
push str.ERROR:_Unable_to_successfully_restore_device_n
call fcn.00404d10
add esp, 4
or dword [ebx], 1
lea eax, [ebp - 0xc]
push eax
push esi
call dword [sym.imp.imobiledevice.dll_restored_receive]
mov esi, eax
add esp, 8
test esi, esi
je 0x41b950
inc edi
cmp edi, 0x32
jl 0x41b900
mov eax, 0x51eb851f
mov ecx, edi
imul edi
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xc8
sub ecx, eax
je 0x41b900
push edi
push esi
push str._fixos__No_data_to_read_error___d_retry_d_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x41b923
push edi
cmp esi, 0xfffffffb
jne 0x41b915
push str.No_data_to_read_RESTORE_E_RECEIVE_TIMEOUT__retry_d_n
call fcn.00404da0
add esp, 8
jmp 0x41b923
push esi
push str.No_data_to_read_err___d_retry_d_n
call fcn.00404da0
add esp, 0xc
push 0
mov dword [ebp - 0xc], 0
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
sub eax, dword [ebp - 0x38]
add esp, 4
cmp eax, 0x708
jg 0x41bbf9
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x41bbec
push 0
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
add esp, 4
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x40], edx
xor edi, edi
push 0x444fd0
push dword [ebp - 0xc]
call sym.fixios.exe_plist_dict_get_item
mov esi, eax
add esp, 8
test esi, esi
je 0x41bbc8
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x41bbc8
cmp dword [ecx + 0x10], 3
jne 0x41bbc8
test ecx, ecx
je 0x41b99b
mov eax, dword [ecx + 0x10]
jmp 0x41b9a0
mov eax, 0xa
mov dword [ebp - 0x40], eax
xorps xmm0, xmm0
movlpd qword [ebp - 0x24], xmm0
cmp eax, 3
jne 0x41b9c5
lea eax, [ebp - 0x24]
mov ecx, esi
push eax
lea eax, [ebp - 0x34]
push eax
lea edx, [ebp - 0x40]
call fcn.00428610
add esp, 8
mov esi, dword [ebp - 0x34]
mov ecx, str.DataRequestMsg
mov eax, esi
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41b9f0
test dl, dl
je 0x41b9ec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41b9f0
add eax, 2
add ecx, 2
test dl, dl
jne 0x41b9d0
xor eax, eax
jmp 0x41b9f5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x41ba24
push dword [ebp + 8]
mov edx, dword [ebp - 0x3c]
mov ecx, ebx
push dword [ebp - 0x30]
push dword [ebp - 0xc]
push dword [ebp - 0x28]
call fcn.0041a940
add esp, 0x10
mov dword [ebp - 0x18], eax
push esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
jmp 0x41bbdd
mov ecx, str.PreviousRestoreLogMsg
mov eax, esi
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41ba50
test dl, dl
je 0x41ba4c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41ba50
add eax, 2
add ecx, 2
test dl, dl
jne 0x41ba30
xor eax, eax
jmp 0x41ba55
sbb eax, eax
or eax, 1
test eax, eax
jne 0x41ba73
mov edx, dword [ebp - 0xc]
call fcn.00416200
push esi
mov dword [ebp - 0x18], eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
jmp 0x41bbdd
mov ecx, str.ProgressMsg
mov eax, esi
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41baa0
test dl, dl
je 0x41ba9c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41baa0
add eax, 2
add ecx, 2
test dl, dl
jne 0x41ba80
xor eax, eax
jmp 0x41baa5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x41bac5
mov edx, dword [ebp - 0xc]
mov ecx, ebx
call fcn.004162a0
push esi
mov dword [ebp - 0x18], eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
jmp 0x41bbdd
mov ecx, str.StatusMsg
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41baf0
test dl, dl
je 0x41baec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41baf0
add eax, 2
add ecx, 2
test dl, dl
jne 0x41bad0
xor eax, eax
jmp 0x41baf5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x41bb60
mov edx, dword [ebp - 0xc]
call fcn.00416550
mov dword [ebp - 0x18], eax
cmp dword [0x448800], edi
je 0x41bbbc
call sym.fixios.exe_plist_new_dict
push str.ReceivedFinalStatusMsg
mov esi, eax
call sym.fixios.exe_plist_new_string
add esp, 4
push eax
push str.MsgType
push esi
call sym.fixios.exe_plist_dict_set_item
add esp, 0xc
push esi
push dword [ebp - 0x28]
call dword [sym.imp.imobiledevice.dll_restored_send]
add esp, 8
test esi, esi
je 0x41bb4b
mov ecx, esi
call fcn.00427a00
mov esi, dword [ebp - 0x34]
or dword [ebx], 1
push esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
jmp 0x41bbdd
mov ecx, str.BBUpdateStatusMsg
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41bb87
test dl, dl
je 0x41bb83
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41bb87
add eax, 2
add ecx, 2
test dl, dl
jne 0x41bb67
xor eax, eax
jmp 0x41bb8c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x41bba7
mov edx, dword [ebp - 0xc]
call fcn.00416790
push esi
mov dword [ebp - 0x18], eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
jmp 0x41bbdd
push str.Unknown_message_type_received_n
call fcn.00404da0
mov ecx, dword [ebp - 0xc]
add esp, 4
call fcn.00405000
push esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
jmp 0x41bbdd
push str.Unknown_message_received:_n
call fcn.00404da0
mov ecx, dword [ebp - 0xc]
add esp, 4
call fcn.00405000
mov ecx, dword [ebp - 0xc]
test ecx, ecx
je 0x41bbe9
call fcn.00427a00
mov dword [ebp - 0xc], edi
test byte [ebx], 1
jne 0x41bc10
mov esi, dword [ebp - 0x28]
jmp 0x41b8a0
push esi
push edi
push eax
push str.ERROR:time_out__d_second__retry_d__err:_d__n
call fcn.00404d10
add esp, 0x10
mov edi, 0xffffff91
jmp 0x41bc13
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x41bc53
mov esi, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push 0
push eax
call esi
xor ecx, ecx
cmp eax, 0x102
sete cl
test ecx, ecx
je 0x41bc53
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x41bc53
mov ecx, dword [eax]
test ecx, ecx
je 0x41bc4b
mov dword [eax], 0
call fcn.0041fd20
mov eax, dword [ebp - 0x2c]
push 0xffffffffffffffff
push eax
call esi
mov ecx, ebx
call fcn.00415520
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret