Function at 0x401890
Capabilities:
Read file on windows
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x4094
call fcn.004033d0
mov eax, dword [0x406004]
xor eax, esp
mov dword [esp + 0x4090], eax
push ebx
mov ebx, dword [sym.imp.getopt.dll_getopt_long_a]
xor eax, eax
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 8]
push eax
push 0x406018
push str.hu:lt:xdnv
push esi
push edi
mov dword [esp + 0x50], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x64], 0xffffffff
mov dword [esp + 0x30], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x2c], eax
mov dword [esp + 0x24], eax
call ebx
add esp, 0x14
cmp eax, 0xffffffff
je 0x4019ac
add eax, 0xffffff9c
cmp eax, 0x14
ja case.0x401935.101
movzx eax, byte [eax + 0x402728]
jmp dword [eax*4 + 0x402704]
mov eax, dword [sym.imp.getopt.dll_optarg_a]
mov eax, dword [eax]
cmp byte [eax], 0
je 0x4019ef
mov dword [0x40641c], eax
jmp 0x401990
mov dword [0x406414], 1
jmp 0x401990
mov dword [0x40640c], 1
jmp 0x401990
mov eax, dword [sym.imp.getopt.dll_optarg_a]
mov eax, dword [eax]
mov dword [0x406418], eax
jmp 0x401990
mov dword [0x406410], 1
jmp 0x401990
push 1
call dword [sym.imp.imobiledevice.dll_idevice_set_debug_level]
add esp, 4
push 0
push 0x406018
push str.hu:lt:xdnv
push esi
push edi
call ebx
add esp, 0x14
cmp eax, 0xffffffff
jne 0x401922
mov eax, dword [sym.imp.getopt.dll_optind]
mov eax, dword [eax]
sub edi, eax
cmp dword [0x40640c], 0
lea ebx, [esi + eax*4]
jne 0x401aa9
cmp edi, 1
jge 0x401a45
push str.ERROR:_No_IMAGE_FILE_has_been_given__n
call fcn.00401620
add esp, 4
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x4090]
xor ecx, esp
call fcn.0040273d
mov esp, ebp
pop ebp
ret
push str.ERROR:_UDID_must_not_be_empty__n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.00401010
add esp, 8
mov edx, esi
call fcn.00401780
push 2
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
mov edx, esi
call fcn.00401780
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
push str.1.0.0
push str.ideviceimagemounter
push str._s__s_n
call fcn.00401620
add esp, 0xc
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
push dword [ebx]
mov esi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strdup]
call esi
add esp, 4
mov dword [esp + 0x1c], eax
cmp edi, 2
jl 0x401a65
push dword [ebx + 4]
call esi
add esp, 4
jmp 0x401aa5
push eax
lea eax, [esp + 0x14]
push str._s.signature
push eax
call fcn.00401690
add esp, 0xc
test eax, eax
jns 0x401aa1
push 0x404618
call fcn.00401620
add esp, 4
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x4090]
xor ecx, esp
call fcn.0040273d
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], eax
xor eax, eax
cmp dword [0x406414], eax
setne al
lea eax, [eax*2 + 2]
push eax
push dword [0x40641c]
lea eax, [esp + 0x44]
push eax
call dword [sym.imp.imobiledevice.dll_idevice_new_with_options]
add esp, 0xc
test eax, eax
je 0x401b28
mov eax, dword [0x40641c]
test eax, eax
je 0x401b03
push eax
push str.No_device_found_with_udid__s._n
call fcn.00401620
add esp, 8
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x4090]
xor ecx, esp
call fcn.0040273d
mov esp, ebp
pop ebp
ret
push str.No_device_found._n
call fcn.00401620
add esp, 4
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x4090]
xor ecx, esp
call fcn.0040273d
mov esp, ebp
pop ebp
ret
push str.ideviceimagemounter
lea eax, [esp + 0x38]
push eax
push dword [esp + 0x44]
call dword [sym.imp.imobiledevice.dll_lockdownd_client_new_with_handshake]
mov esi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 0xc
test eax, eax
je 0x401b5c
push eax
push str.ERROR:_Could_not_connect_to_lockdown__error_code__d._n
call fcn.00401620
add esp, 8
jmp 0x40269d
lea eax, [esp + 0x4c]
mov dword [esp + 0x4c], 0
push eax
push str.ProductVersion
push 0
push dword [esp + 0x40]
mov dword [esp + 0x64], 0
call dword [sym.imp.imobiledevice.dll_lockdownd_get_value]
mov eax, dword [esp + 0x5c]
add esp, 0x10
test eax, eax
je 0x401bae
push eax
call dword [sym.imp.plist.dll_plist_get_node_type]
add esp, 4
cmp eax, 3
jne 0x401bae
lea eax, [esp + 0x54]
push eax
push dword [esp + 0x50]
call dword [sym.imp.plist.dll_plist_get_string_val]
add esp, 8
mov eax, dword [esp + 0x54]
xor esi, esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x64], esi
test eax, eax
je 0x401bea
lea ecx, [esp + 0x64]
push ecx
lea ecx, [esp + 0x5c]
push ecx
push str._d._d._d
push eax
call fcn.00401660
add esp, 0x10
cmp eax, 2
jne 0x401bea
cmp dword [esp + 0x58], 7
mov eax, 1
cmovge esi, eax
mov ebx, dword [sym.imp.imobiledevice.dll_lockdownd_start_service]
lea eax, [esp + 0x2c]
push eax
push str.com.apple.mobile.mobile_image_mounter
push dword [esp + 0x3c]
call ebx
mov eax, dword [esp + 0x38]
add esp, 0xc
test eax, eax
je 0x40268a
cmp word [eax], 0
je 0x40268a
lea ecx, [esp + 0x38]
push ecx
push eax
push dword [esp + 0x44]
call dword [sym.imp.imobiledevice.dll_mobile_image_mounter_new]
add esp, 0xc
test eax, eax
je 0x401c3a
push str.ERROR:_Could_not_connect_to_mobile_image_mounter__n
jmp 0x40268f
mov eax, dword [esp + 0x2c]
mov edi, dword [sym.imp.imobiledevice.dll_lockdownd_service_descriptor_free]
test eax, eax
je 0x401c56
push eax
call edi
add esp, 4
mov dword [esp + 0x2c], 0
cmp dword [0x40640c], 0
jne 0x401da9
test esi, esi
jne 0x401ce2
lea eax, [esp + 0x2c]
push eax
push str.com.apple.afc
push dword [esp + 0x3c]
call ebx
add esp, 0xc
test eax, eax
jne 0x401d35
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x401d35
cmp word [eax], si
je 0x401d35
lea ecx, [esp + 0x30]
push ecx
push eax
push dword [esp + 0x44]
call dword [sym.imp.imobiledevice.dll_afc_client_new]
add esp, 0xc
test eax, eax
je 0x401ccc
push str.Could_not_connect_to_AFC__n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.00401010
add esp, 8
jmp 0x402697
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x401ce2
push eax
call edi
add esp, 4
mov dword [esp + 0x2c], 0
mov edi, dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__stat64i32]
lea eax, [esp + 0x68]
push eax
push dword [esp + 0x20]
call edi
add esp, 8
test eax, eax
je 0x401d53
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
push dword [eax]
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_strerror]
mov edi, dword [esp + 0x20]
add esp, 4
push eax
push edi
push str.ERROR:_stat:__s:__s_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.00401010
mov esi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 0x10
jmp 0x4026a1
push str.Could_not_start_com.apple.afc__n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.00401010
add esp, 8
jmp 0x402697
mov eax, dword [esp + 0x7c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x68]
push eax
push ebx
call edi
add esp, 8
test eax, eax
je 0x401dad
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
push dword [eax]
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_strerror]
add esp, 4
push eax
push ebx
push str.ERROR:_stat:__s:__s_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.00401010
mov edi, dword [esp + 0x2c]
add esp, 0x10
mov esi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x4026a5
mov ebx, dword [esp + 0x18]
push dword [esp + 0x34]
call dword [sym.imp.imobiledevice.dll_lockdownd_client_free]
add esp, 4
mov dword [esp + 0x34], 0
cmp dword [0x40640c], 0
mov dword [esp + 0x24], 0
je 0x401ebb
mov eax, dword [0x406418]
mov ecx, str.Developer
test eax, eax
cmovne ecx, eax
lea eax, [esp + 0x24]
push eax
push ecx
push dword [esp + 0x40]
mov dword [0x406418], ecx
call dword [sym.imp.imobiledevice.dll_mobile_image_mounter_lookup_image]
add esp, 0xc
test eax, eax
jne 0x401eb0
mov dword [esp + 0x50], eax
cmp dword [0x406410], eax
je 0x401e4d
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x14]
push eax
push dword [esp + 0x2c]
call dword [sym.imp.plist.dll_plist_to_xml]
mov eax, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
je 0x40265f
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_puts]
add esp, 4
jmp 0x40265f
push 1
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov esi, dword [esp + 0x28]
add esp, 4
mov dword [esp + 0x14], 0
mov edi, eax
test esi, esi
je 0x402671
test edi, edi
je 0x40265f
mov eax, dword [sym.imp.plist.dll_plist_get_node_type]
push esi
call eax
lea edx, [esp + 0x18]
add esp, 4
mov ecx, esi
push edi
sub eax, 4
je 0x402647
sub eax, 1
je 0x401ea3
call fcn.004011d0
add esp, 4
jmp 0x40265f
call fcn.004010c0
add esp, 4
jmp 0x40265f
push eax
push str.Error:_lookup_image_returned__d_n
jmp 0x402657
push 0x4041f0
push ebx
mov ebx, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
call ebx
mov edi, eax
add esp, 8
test edi, edi
jne 0x401f11
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
push dword [eax]
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_strerror]
mov ebx, dword [esp + 0x1c]
add esp, 4
push eax
push ebx
push str.Error_opening_signature_file__s:__s_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.00401010
mov edi, dword [esp + 0x2c]
add esp, 0x10
mov esi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x4026a5
push edi
push 0x2000
lea eax, [esp + 0xa0]
push 1
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
push edi
mov dword [esp + 0x74], eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 0x14
cmp dword [esp + 0x60], 0
jne 0x401f69
mov ebx, dword [esp + 0x18]
push ebx
push str.Could_not_read_signature_from_file__s_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.00401010
mov edi, dword [esp + 0x28]
add esp, 0xc
mov esi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x4026a5
mov edi, dword [esp + 0x1c]
push 0x4041f0
push edi
call ebx
mov ebx, eax
add esp, 8
mov dword [esp + 0x5c], ebx
test ebx, ebx
jne 0x401fb9
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
push dword [eax]
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_strerror]
add esp, 4
push eax
push edi
push str.Error_opening_image_file__s:__s_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.00401010
mov esi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 0x10
jmp 0x4026a1
push str.staging.dimage
push str.PublicStaging
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0
push str._s__s
push eax
call fcn.00401690
add esp, 0x10
test eax, eax
jns 0x402005
push str.Out_of_memory___n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.00401010
mov esi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 8
jmp 0x4026a1
mov edi, dword [esp + 0x10]
lea eax, [esp + 0x20]
push edi
push str._private_var_mobile_Media
push str._s__s
push eax
mov dword [esp + 0x30], 0
call fcn.00401690
add esp, 0x10
test eax, eax
jns 0x40204b
push str.Out_of_memory___n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.00401010
add esp, 8
jmp 0x402697
mov eax, dword [0x406418]
mov ecx, str.Developer
test eax, eax
cmovne ecx, eax
mov dword [0x406418], ecx
sub esi, 1
je 0x402266
push edi
push dword [esp + 0x20]
push str.Uploading__s_____afc:____s_n
call fcn.00401620
add esp, 0xc
mov dword [esp + 0x14], 0
lea eax, [esp + 0x14]
push eax
push str.PublicStaging
push dword [esp + 0x38]
call dword [sym.imp.imobiledevice.dll_afc_get_file_info]
mov esi, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 0xc
test eax, eax
je 0x4020d4
push str.PublicStaging
push dword [esp + 0x34]
call dword [sym.imp.imobiledevice.dll_afc_make_directory]
add esp, 8
test eax, eax
je 0x4020d4
push str.PublicStaging
push str.WARNING:_Could_not_create_directory__s_on_device__n
push 2
call esi
add esp, 4
push eax
call fcn.00401010
add esp, 0xc
mov eax, dword [esp + 0x14]
test eax, eax
je 0x40210c
xor esi, esi
cmp dword [eax], esi
je 0x4020fc
mov ecx, dword [eax]
push ecx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, dword [esp + 0x18]
lea esi, [esi + 1]
add esp, 4
mov ecx, dword [eax + esi*4]
test ecx, ecx
jne 0x4020e4
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov esi, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
lea eax, [esp + 0x40]
xorps xmm0, xmm0
push eax
push 3
push edi
push dword [esp + 0x3c]
movlpd qword [esp + 0x50], xmm0
call dword [sym.imp.imobiledevice.dll_afc_file_open]
add esp, 0x10
test eax, eax
jne 0x402240
mov eax, dword [esp + 0x40]
or eax, dword [esp + 0x44]
je 0x402240
mov ebx, dword [sym.imp.imobiledevice.dll_afc_file_write]
nop word [eax + eax]
mov esi, dword [esp + 0x5c]
lea eax, [esp + 0x2098]
push esi
push 0x2000
push 1
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov edi, eax
add esp, 0x10
test edi, edi
je 0x402219
xor esi, esi
nop dword [eax]
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0
push eax
mov eax, edi
sub eax, esi
push eax
lea eax, [esp + 0x20a0]
add eax, esi
push eax
push dword [esp + 0x50]
push dword [esp + 0x50]
push dword [esp + 0x44]
call ebx
add esp, 0x18
test eax, eax
jne 0x4021bb
add esi, dword [esp + 0x10]
cmp esi, edi
jb 0x402180
jmp 0x4021d4
push str.AFC_Write_error__n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.00401010
add esp, 8
cmp esi, edi
je 0x402150
push edi
push esi
push str.Error:_wrote_only__d_of__d_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.00401010
push dword [esp + 0x54]
push dword [esp + 0x54]
push dword [esp + 0x48]
call dword [sym.imp.imobiledevice.dll_afc_file_close]
mov eax, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 0x1c
push dword [esp + 0x5c]
call eax
jmp 0x402694
push dword [esp + 0x44]
push dword [esp + 0x44]
push dword [esp + 0x38]
call dword [sym.imp.imobiledevice.dll_afc_file_close]
mov eax, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 0xc
push esi
call eax
add esp, 4
mov edi, 0xffffff00
jmp 0x4022b4
mov eax, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
push ebx
call eax
add esp, 4
push edi
push str.afc_file_open_on__s_failed__n
push 2
call esi
add esp, 4
push eax
call fcn.00401010
add esp, 0xc
jmp 0x402697
push dword [esp + 0x1c]
push str.Uploading__s_n
call fcn.00401620
mov eax, dword [esp + 0x68]
push ebx
push 0x401870
movzx eax, ax
push eax
mov esi, eax
lea eax, [esp + 0xac]
push eax
push dword [esp + 0x40]
push dword [0x406418]
push dword [esp + 0x58]
call dword [sym.imp.imobiledevice.dll_mobile_image_mounter_upload_image]
add esp, 0x24
mov edi, eax
mov eax, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
push ebx
call eax
add esp, 4
test edi, edi
je 0x4022cf
cmp edi, 0xfffffffb
mov ecx, str.ERROR:_Device_is_locked__cant_mount._Unlock_device_and_try_again._n
mov eax, str.ERROR:_Unknown_error_occurred__cant_mount._n
cmove eax, ecx
push eax
call fcn.00401620
jmp 0x40266e
push str.done._n
call fcn.00401620
add esp, 4
push str.Mounting..._n
call fcn.00401620
add esp, 4
lea eax, [esp + 0x24]
push eax
push dword [0x406418]
lea eax, [esp + 0xa0]
push esi
push eax
push dword [esp + 0x30]
push dword [esp + 0x4c]
call dword [sym.imp.imobiledevice.dll_mobile_image_mounter_mount_image]
add esp, 0x18
test eax, eax
jne 0x402651
mov eax, dword [esp + 0x24]
test eax, eax
je 0x402671
push str.Status
push eax
call dword [sym.imp.plist.dll_plist_dict_get_item]
mov esi, dword [sym.imp.plist.dll_plist_to_xml]
add esp, 8
mov ebx, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_puts]
mov edi, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
test eax, eax
je 0x4024f1
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], 0
push ecx
push eax
call dword [sym.imp.plist.dll_plist_get_string_val]
mov eax, dword [esp + 0x18]
add esp, 8
test eax, eax
je 0x40245c
mov ecx, str.Complete
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x402393
test dl, dl
je 0x40238f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x402393
add eax, 2
add ecx, 2
test dl, dl
jne 0x402373
xor eax, eax
jmp 0x402398
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4023b3
push str.Done._n
call fcn.00401620
mov dword [esp + 0x54], 0
jmp 0x402445
push str.unexpected_status_value:_n
call fcn.00401620
add esp, 4
cmp dword [0x406410], 0
je 0x4023f9
lea eax, [esp + 0x28]
mov dword [esp + 0x20], 0
push eax
lea eax, [esp + 0x24]
mov dword [esp + 0x2c], 0
push eax
push dword [esp + 0x2c]
call esi
mov eax, dword [esp + 0x2c]
add esp, 0xc
test eax, eax
je 0x402448
push eax
call ebx
jmp 0x402445
push 1
call edi
mov esi, dword [esp + 0x28]
add esp, 4
mov dword [esp + 0x14], 0
mov edi, eax
test esi, esi
je 0x402448
test edi, edi
je 0x402448
mov eax, dword [sym.imp.plist.dll_plist_get_node_type]
push esi
call eax
add esp, 4
lea edx, [esp + 0x14]
mov ecx, esi
push edi
sub eax, 4
je 0x402440
sub eax, 1
je 0x402439
call fcn.004011d0
jmp 0x402445
call fcn.004010c0
jmp 0x402445
call fcn.00401040
add esp, 4
push dword [esp + 0x10]
mov esi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
call esi
add esp, 4
jmp 0x4024f7
push str.unexpected_result:_n
call fcn.00401620
add esp, 4
cmp dword [0x406410], 0
je 0x4024a2
lea eax, [esp + 0x28]
mov dword [esp + 0x20], 0
push eax
lea eax, [esp + 0x24]
mov dword [esp + 0x2c], 0
push eax
push dword [esp + 0x2c]
call esi
mov eax, dword [esp + 0x2c]
add esp, 0xc
test eax, eax
je 0x4024f1
push eax
call ebx
jmp 0x4024ee
push 1
call edi
mov esi, dword [esp + 0x28]
add esp, 4
mov dword [esp + 0x14], 0
mov edi, eax
test esi, esi
je 0x4024f1
test edi, edi
je 0x4024f1
mov eax, dword [sym.imp.plist.dll_plist_get_node_type]
push esi
call eax
add esp, 4
lea edx, [esp + 0x14]
mov ecx, esi
push edi
sub eax, 4
je 0x4024e9
sub eax, 1
je 0x4024e2
call fcn.004011d0
jmp 0x4024ee
call fcn.004010c0
jmp 0x4024ee
call fcn.00401040
add esp, 4
mov esi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
push str.Error
push dword [esp + 0x28]
call dword [sym.imp.plist.dll_plist_dict_get_item]
add esp, 8
test eax, eax
je 0x4025d4
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], 0
push ecx
push eax
call dword [sym.imp.plist.dll_plist_get_string_val]
mov eax, dword [esp + 0x18]
add esp, 8
test eax, eax
je 0x402549
push eax
push str.Error:__s_n
call fcn.00401620
push dword [esp + 0x18]
call esi
add esp, 0xc
jmp 0x40265f
push str.unexpected_result:_n
call fcn.00401620
add esp, 4
cmp dword [0x406410], 0
je 0x40259e
lea eax, [esp + 0x28]
mov dword [esp + 0x20], 0
push eax
lea eax, [esp + 0x24]
mov dword [esp + 0x2c], 0
push eax
push dword [esp + 0x2c]
mov eax, dword [sym.imp.plist.dll_plist_to_xml]
call eax
mov eax, dword [esp + 0x2c]
add esp, 0xc
test eax, eax
je 0x40265f
push eax
call ebx
add esp, 4
jmp 0x40265f
mov eax, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
push 1
call eax
mov esi, dword [esp + 0x28]
add esp, 4
mov dword [esp + 0x14], 0
mov edi, eax
test esi, esi
je 0x402671
test edi, edi
je 0x40265f
push esi
call dword [sym.imp.plist.dll_plist_get_node_type]
jmp 0x401e7e
cmp dword [0x406410], 0
je 0x402615
lea eax, [esp + 0x28]
mov dword [esp + 0x20], 0
push eax
lea eax, [esp + 0x24]
mov dword [esp + 0x2c], 0
push eax
push dword [esp + 0x2c]
mov eax, dword [sym.imp.plist.dll_plist_to_xml]
call eax
mov eax, dword [esp + 0x2c]
add esp, 0xc
test eax, eax
je 0x40265f
push eax
call ebx
add esp, 4
jmp 0x40265f
mov eax, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
push 1
call eax
mov esi, dword [esp + 0x28]
add esp, 4
mov dword [esp + 0x10], 0
mov edi, eax
test esi, esi
je 0x402671
test edi, edi
je 0x40265f
push esi
call dword [sym.imp.plist.dll_plist_get_node_type]
lea edx, [esp + 0x14]
jmp 0x401e82
call fcn.00401040
add esp, 4
jmp 0x40265f
push eax
push str.Error:_mount_image_returned__d_n
call fcn.00401620
add esp, 8
mov esi, dword [esp + 0x24]
test esi, esi
je 0x402671
push esi
call dword [sym.imp.plist.dll_plist_free]
add esp, 4
push dword [esp + 0x38]
call dword [sym.imp.imobiledevice.dll_mobile_image_mounter_hangup]
add esp, 4
push dword [esp + 0x38]
call dword [sym.imp.imobiledevice.dll_mobile_image_mounter_free]
jmp 0x402694
push str.ERROR:_Could_not_start_mobile_image_mounter_service__n
call fcn.00401620
add esp, 4
mov esi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4026b7
push eax
call dword [sym.imp.imobiledevice.dll_afc_client_free]
add esp, 4
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4026c9
push eax
call dword [sym.imp.imobiledevice.dll_lockdownd_client_free]
add esp, 4
push dword [esp + 0x3c]
call dword [sym.imp.imobiledevice.dll_idevice_free]
add esp, 4
test edi, edi
je 0x4026e0
push edi
call esi
add esp, 4
test ebx, ebx
je 0x4026ea
push ebx
call esi
add esp, 4
mov ecx, dword [esp + 0x409c]
mov eax, dword [esp + 0x50]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0040273d
mov esp, ebp
pop ebp
ret