Function at 0x401090
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x24
push ebx
push esi
push edi
xor esi, esi
mov dword [esp + 0xc], 0
xor edx, edx
mov dword [esp + 0x1c], 0
xor ebx, ebx
mov dword [esp + 0x24], 0
mov edi, 1
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x10], esi
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], ebx
cmp dword [ebp + 8], edi
jle 0x40137a
mov eax, dword [ebp + 0xc]
nop word [eax + eax]
mov esi, dword [eax + edi*4]
mov ecx, 0x4031c4
mov eax, esi
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401120
test dl, dl
je 0x40111c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401120
add eax, 2
add ecx, 2
test dl, dl
jne 0x401100
xor eax, eax
jmp 0x401125
sbb eax, eax
or eax, 1
test eax, eax
je 0x40135a
mov ecx, str.__debug
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401154
test dl, dl
je 0x401150
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401154
add eax, 2
add ecx, 2
test dl, dl
jne 0x401134
xor eax, eax
jmp 0x401159
sbb eax, eax
or eax, 1
test eax, eax
je 0x40135a
mov ecx, 0x4031d0
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401188
test dl, dl
je 0x401184
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401188
add eax, 2
add ecx, 2
test dl, dl
jne 0x401168
xor eax, eax
jmp 0x40118d
sbb eax, eax
or eax, 1
test eax, eax
je 0x401338
mov ecx, str.__udid
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4011c0
test dl, dl
je 0x4011bc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4011c0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4011a0
xor eax, eax
jmp 0x4011c5
sbb eax, eax
or eax, 1
test eax, eax
je 0x401338
mov ecx, 0x4031dc
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4011f4
test dl, dl
je 0x4011f0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4011f4
add eax, 2
add ecx, 2
test dl, dl
jne 0x4011d4
xor eax, eax
jmp 0x4011f9
sbb eax, eax
or eax, 1
test eax, eax
je 0x40132d
mov ecx, str.__network
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401228
test dl, dl
je 0x401224
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401228
add eax, 2
add ecx, 2
test dl, dl
jne 0x401208
xor eax, eax
jmp 0x40122d
sbb eax, eax
or eax, 1
test eax, eax
je 0x40132d
mov ecx, 0x4031ec
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401260
test dl, dl
je 0x40125c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401260
add eax, 2
add ecx, 2
test dl, dl
jne 0x401240
xor eax, eax
jmp 0x401265
sbb eax, eax
or eax, 1
test eax, eax
je 0x4013d8
mov ecx, str.__help
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401294
test dl, dl
je 0x401290
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401294
add eax, 2
add ecx, 2
test dl, dl
jne 0x401274
xor eax, eax
jmp 0x401299
sbb eax, eax
or eax, 1
test eax, eax
je 0x4013d8
mov ecx, 0x4031f8
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4012c8
test dl, dl
je 0x4012c4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4012c8
add eax, 2
add ecx, 2
test dl, dl
jne 0x4012a8
xor eax, eax
jmp 0x4012cd
sbb eax, eax
or eax, 1
test eax, eax
je 0x4013b8
mov ecx, str.__version
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401300
test dl, dl
je 0x4012fc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401300
add eax, 2
add ecx, 2
test dl, dl
jne 0x4012e0
xor eax, eax
jmp 0x401305
sbb eax, eax
or eax, 1
test eax, eax
je 0x4013b8
cmp byte [esi], 0x2d
je 0x4013d8
test ebx, ebx
jne 0x4013d8
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strdup]
mov ebx, eax
mov dword [esp + 0x24], ebx
jmp 0x401362
mov edx, 1
mov dword [esp + 0x18], edx
jmp 0x401369
mov eax, dword [ebp + 0xc]
inc edi
mov esi, dword [eax + edi*4]
mov dword [esp + 0x10], esi
test esi, esi
je 0x4013e9
cmp byte [esi], 0
je 0x4013e9
mov edx, dword [esp + 0x18]
jmp 0x401370
push 1
call dword [sym.imp.imobiledevice.dll_idevice_set_debug_level]
mov edx, dword [esp + 0x1c]
add esp, 4
mov esi, dword [esp + 0x10]
mov eax, dword [ebp + 0xc]
inc edi
cmp edi, dword [ebp + 8]
jl 0x4010f0
xor eax, eax
test edx, edx
setne al
lea eax, [eax*2 + 2]
push eax
lea eax, [esp + 0x10]
push esi
push eax
call dword [sym.imp.imobiledevice.dll_idevice_new_with_options]
add esp, 0xc
test eax, eax
je 0x401410
test esi, esi
je 0x4013f9
push esi
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.004017a0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, eax
call fcn.004017a0
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 + 0x20]
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 0x401452
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 + 0x28]
push eax
push str.com.apple.mobile.screenshotr
push dword [esp + 0x24]
call dword [sym.imp.imobiledevice.dll_lockdownd_start_service]
add esp, 0xc
push dword [esp + 0x1c]
call dword [sym.imp.imobiledevice.dll_lockdownd_client_free]
mov eax, dword [esp + 0x2c]
add esp, 4
test eax, eax
je 0x4015bf
cmp word [eax], 0
jbe 0x4015bf
lea ecx, [esp + 0x24]
push ecx
push eax
push dword [esp + 0x14]
call dword [sym.imp.imobiledevice.dll_screenshotr_client_new]
add esp, 0xc
test eax, eax
je 0x4014ad
push str.Could_not_connect_to_screenshotr__n
jmp 0x4015c4
lea eax, [esp + 0x10]
mov dword [esp + 0x18], 0
push eax
lea eax, [esp + 0x1c]
xorps xmm0, xmm0
push eax
push dword [esp + 0x2c]
movlpd qword [esp + 0x1c], xmm0
call dword [sym.imp.imobiledevice.dll_screenshotr_take_screenshot]
add esp, 0xc
test eax, eax
jne 0x4015a6
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x20]
call fcn.00401600
mov ebx, dword [esp + 0x20]
test ebx, ebx
jne 0x4014fc
push str.FATAL:_Could_not_find_a_unique_filename__n
jmp 0x4015ab
push 0x403170
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 0x40157a
push esi
push dword [esp + 0x14]
push 1
push dword [esp + 0x24]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
add esp, 0x10
push ebx
cmp eax, dword [esp + 0x14]
jne 0x401557
push str.Screenshot_saved_to__s_n
call fcn.00401050
add esp, 8
mov dword [esp + 0x2c], 0
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 4
push dword [esp + 0x24]
call dword [sym.imp.imobiledevice.dll_screenshotr_client_free]
jmp 0x4015c9
push str.Could_not_save_screenshot_to_file__s__n
call fcn.00401050
add esp, 8
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 4
push dword [esp + 0x24]
call dword [sym.imp.imobiledevice.dll_screenshotr_client_free]
jmp 0x4015c9
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 + 0x24]
call dword [sym.imp.imobiledevice.dll_screenshotr_client_free]
jmp 0x4015c9
push str.Could_not_get_screenshot__n
call fcn.00401050
add esp, 4
push dword [esp + 0x24]
call dword [sym.imp.imobiledevice.dll_screenshotr_client_free]
jmp 0x4015c9
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 + 0x2c]
add esp, 4
test eax, eax
je 0x4015de
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 ebx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, dword [esp + 0x30]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret