Function at 0x401090
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c
push ebx
push esi
push edi
xor edx, edx
mov dword [esp + 0xc], 0
mov edi, 1
mov dword [esp + 0x18], 0
xor ebx, ebx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], edx
cmp dword [ebp + 8], edi
jle 0x401363
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + edi*4]
mov ecx, 0x4031c4
mov eax, esi
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401110
test dl, dl
je 0x40110c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401110
add eax, 2
add ecx, 2
test dl, dl
jne 0x4010f0
xor eax, eax
jmp 0x401115
sbb eax, eax
or eax, 1
test eax, eax
je 0x401347
mov ecx, str.__debug
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401144
test dl, dl
je 0x401140
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401144
add eax, 2
add ecx, 2
test dl, dl
jne 0x401124
xor eax, eax
jmp 0x401149
sbb eax, eax
or eax, 1
test eax, eax
je 0x401347
mov ecx, 0x4031d0
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401178
test dl, dl
je 0x401174
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401178
add eax, 2
add ecx, 2
test dl, dl
jne 0x401158
xor eax, eax
jmp 0x40117d
sbb eax, eax
or eax, 1
test eax, eax
je 0x401329
mov ecx, str.__udid
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4011b0
test dl, dl
je 0x4011ac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4011b0
add eax, 2
add ecx, 2
test dl, dl
jne 0x401190
xor eax, eax
jmp 0x4011b5
sbb eax, eax
or eax, 1
test eax, eax
je 0x401329
mov ecx, 0x4031dc
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4011e4
test dl, dl
je 0x4011e0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4011e4
add eax, 2
add ecx, 2
test dl, dl
jne 0x4011c4
xor eax, eax
jmp 0x4011e9
sbb eax, eax
or eax, 1
test eax, eax
je 0x40131e
mov ecx, str.__network
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401218
test dl, dl
je 0x401214
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401218
add eax, 2
add ecx, 2
test dl, dl
jne 0x4011f8
xor eax, eax
jmp 0x40121d
sbb eax, eax
or eax, 1
test eax, eax
je 0x40131e
mov ecx, 0x4031ec
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401250
test dl, dl
je 0x40124c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401250
add eax, 2
add ecx, 2
test dl, dl
jne 0x401230
xor eax, eax
jmp 0x401255
sbb eax, eax
or eax, 1
test eax, eax
je 0x4013c1
mov ecx, str.__help
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401284
test dl, dl
je 0x401280
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401284
add eax, 2
add ecx, 2
test dl, dl
jne 0x401264
xor eax, eax
jmp 0x401289
sbb eax, eax
or eax, 1
test eax, eax
je 0x4013c1
mov ecx, 0x4031f8
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4012b8
test dl, dl
je 0x4012b4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4012b8
add eax, 2
add ecx, 2
test dl, dl
jne 0x401298
xor eax, eax
jmp 0x4012bd
sbb eax, eax
or eax, 1
test eax, eax
je 0x4013a1
mov ecx, str.__version
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4012f0
test dl, dl
je 0x4012ec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4012f0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4012d0
xor eax, eax
jmp 0x4012f5
sbb eax, eax
or eax, 1
test eax, eax
je 0x4013a1
cmp byte [esi], 0x2d
je 0x4013c1
cmp dword [esp + 0x10], 0
jne 0x4013c1
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strdup]
mov dword [esp + 0x14], eax
jmp 0x40134f
mov edx, 1
mov dword [esp + 0x14], edx
jmp 0x401356
mov eax, dword [ebp + 0xc]
inc edi
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x4013d2
cmp byte [ebx], 0
je 0x4013d2
mov edx, dword [esp + 0x14]
jmp 0x401359
push 1
call dword [sym.imp.imobiledevice.dll_idevice_set_debug_level]
mov edx, dword [esp + 0x18]
add esp, 4
mov eax, dword [ebp + 0xc]
inc edi
cmp edi, dword [ebp + 8]
jl 0x4010e1
xor eax, eax
test edx, edx
setne al
lea eax, [eax*2 + 2]
push eax
lea eax, [esp + 0x10]
push ebx
push eax
call dword [sym.imp.imobiledevice.dll_idevice_new_with_options]
add esp, 0xc
test eax, eax
je 0x4013f9
test ebx, ebx
je 0x4013e2
push ebx
push str.No_device_found_with_udid__s._n
call fcn.00401050
add esp, 8
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.1.0.0
push str.idevicescreenshot
push str._s__s_n
call fcn.00401050
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0xc]
call fcn.00401650
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, eax
call fcn.00401650
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.No_device_found._n
call fcn.00401050
add esp, 4
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.idevicescreenshot
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x14]
call dword [sym.imp.imobiledevice.dll_lockdownd_client_new_with_handshake]
mov esi, eax
add esp, 0xc
test esi, esi
je 0x40143b
push dword [esp + 0xc]
call dword [sym.imp.imobiledevice.dll_idevice_free]
add esp, 4
push esi
push str.ERROR:_Could_not_connect_to_lockdownd__error_code__d_n
call fcn.00401050
add esp, 8
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x20]
push eax
push str.com.apple.mobile.screenshotr
push dword [esp + 0x20]
call dword [sym.imp.imobiledevice.dll_lockdownd_start_service]
add esp, 0xc
push dword [esp + 0x18]
call dword [sym.imp.imobiledevice.dll_lockdownd_client_free]
mov eax, dword [esp + 0x24]
add esp, 4
test eax, eax
je 0x4015fd
cmp word [eax], 0
jbe 0x4015fd
lea ecx, [esp + 0x1c]
push ecx
push eax
push dword [esp + 0x14]
call dword [sym.imp.imobiledevice.dll_screenshotr_client_new]
add esp, 0xc
test eax, eax
je 0x401496
push str.Could_not_connect_to_screenshotr__n
jmp 0x401602
lea eax, [esp + 0x28]
mov dword [esp + 0x14], 0
push eax
lea eax, [esp + 0x18]
xorps xmm0, xmm0
push eax
push dword [esp + 0x24]
movlpd qword [esp + 0x34], xmm0
call dword [sym.imp.imobiledevice.dll_screenshotr_take_screenshot]
add esp, 0xc
test eax, eax
jne 0x4015e4
mov ebx, dword [esp + 0x10]
test ebx, ebx
jne 0x401558
mov eax, dword [esp + 0x14]
cmp dword [eax], 0x474e5089
jne 0x4014e5
mov esi, str..png
jmp 0x401506
cmp dword [eax], 0x2a004d4d
jne 0x4014f4
mov esi, str..tiff
jmp 0x401506
push str.WARNING:_screenshot_data_has_unexpected_image_format._n
call fcn.00401050
add esp, 4
mov esi, str..dat
push 0
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
add esp, 4
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
push 0x24
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
mov ebx, eax
lea eax, [esp + 0x30]
mov dword [esp + 0x10], ebx
push eax
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__gmtime64]
add esp, 4
push eax
push str.screenshot__Y__m__d__H__M__S
push 0x24
push ebx
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll_strftime]
push esi
add eax, ebx
push 0x40316c
push eax
call fcn.00401010
add esp, 0x1c
push 0x403168
push ebx
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
mov esi, eax
add esp, 8
test esi, esi
je 0x4015b8
push esi
push dword [esp + 0x2c]
push 1
push dword [esp + 0x20]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
add esp, 0x10
cmp eax, dword [esp + 0x28]
jne 0x401596
mov dword [esp + 0x24], 0
mov eax, str.Screenshot_saved_to__s_n
jmp 0x40159b
mov eax, str.Could_not_save_screenshot_to_file__s__n
push ebx
push eax
call fcn.00401050
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 0xc
push dword [esp + 0x1c]
call dword [sym.imp.imobiledevice.dll_screenshotr_client_free]
jmp 0x401607
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.Could_not_open__s_for_writing:__s_n
call fcn.00401050
add esp, 0xc
push dword [esp + 0x1c]
call dword [sym.imp.imobiledevice.dll_screenshotr_client_free]
jmp 0x401607
push str.Could_not_get_screenshot__n
call fcn.00401050
add esp, 4
push dword [esp + 0x1c]
call dword [sym.imp.imobiledevice.dll_screenshotr_client_free]
jmp 0x401607
push str.Could_not_start_screenshotr_service__Remember_that_you_have_to_mount_the_Developer_disk_image_on_your_device_if_you_want_to_use_the_screenshotr_service._n
call fcn.00401050
mov eax, dword [esp + 0x24]
add esp, 4
test eax, eax
je 0x40161c
push eax
call dword [sym.imp.imobiledevice.dll_lockdownd_service_descriptor_free]
add esp, 4
push dword [esp + 0xc]
call dword [sym.imp.imobiledevice.dll_idevice_free]
add esp, 4
push dword [esp + 0x10]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, dword [esp + 0x28]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret