Function at 0x40968e
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push ebx
mov eax, 0x44b0
call fcn.00597828
sub esp, eax
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
lea eax, [ebp - 0x234]
mov dword [esp], eax
call fcn.004093a4
lea eax, [ebp - 0x234]
mov dword [ebp - 0x449c], 0xffffffff
mov edx, eax
mov al, 0
mov ecx, dword [ebp - 0x449c]
mov edi, edx
repne scasb al, byte es:[edi]
mov eax, ecx
not eax
lea edx, [eax - 1]
lea eax, [ebp - 0x234]
add eax, edx
mov dword [eax], 0x706d7564
mov byte [eax + 4], 0
mov dword [0x6f607c], 0
mov dword [esp + 4], 0x67200f
lea eax, [ebp - 0x234]
mov dword [esp], eax
call sub.msvcrt.dll_fopen
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x40974e
lea eax, [ebp - 0x234]
mov dword [esp + 8], eax
mov dword [esp + 4], str.Could_not_open__s_for_writing_n
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov eax, 0
jmp 0x409c9b
mov dword [esp + 8], 0
lea eax, [ebp - 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00419f03
test ax, ax
je 0x40979f
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x1f
mov dword [esp + 4], 1
mov dword [esp], str.Could_not_connect_to_lockdownd_n
call sub.msvcrt.dll_fwrite
mov eax, 0
jmp 0x409c9b
mov word [ebp - 0x236], 0
mov eax, dword [ebp - 0x30]
lea edx, [ebp - 0x236]
mov dword [esp + 8], edx
mov dword [esp + 4], str.com.apple.mobile.file_relay
mov dword [esp], eax
call fcn.0041a129
test ax, ax
je 0x4097db
mov dword [esp], str.could_not_start_file_relay_service_
call sub.msvcrt.dll_puts
jmp 0x409c55
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x4097f4
mov eax, dword [ebp - 0x30]
mov dword [esp], eax
call fcn.0041909f
mov dword [ebp - 0x30], 0
mov ax, word [ebp - 0x236]
movzx eax, ax
lea edx, [ebp - 0x34]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0041d138
test ax, ax
je 0x40982a
mov dword [esp], str.could_not_connect_to_file_relay_service_
call sub.msvcrt.dll_puts
jmp 0x409c55
mov dword [ebp - 0x23c], 0
mov dword [ebp - 0x244], str.Caches
mov dword [ebp - 0x240], 0
mov eax, dword [ebp - 0x34]
lea edx, [ebp - 0x23c]
mov dword [esp + 8], edx
lea edx, [ebp - 0x244]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0041d1d0
test ax, ax
je 0x40987d
mov dword [esp], str.could_not_get_sources
call sub.msvcrt.dll_puts
jmp 0x409c55
mov eax, dword [ebp - 0x23c]
test eax, eax
jne 0x409898
mov dword [esp], str.did_not_get_connection_
call sub.msvcrt.dll_puts
jmp 0x409c55
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x248], 0
jmp 0x4098e5
mov eax, dword [ebp - 0x248]
mov edx, dword [ebp - 0x18]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp + 4], 1
lea eax, [ebp - 0x4248]
mov dword [esp], eax
call sub.msvcrt.dll_fwrite
mov eax, dword [ebp - 0x248]
add dword [ebp - 0xc], eax
mov dword [ebp - 0x248], 0
mov eax, dword [ebp - 0x23c]
lea edx, [ebp - 0x248]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 0x4000
lea edx, [ebp - 0x4248]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00417c30
test ax, ax
je 0x4098ab
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
call fcn.005a0ec8
cmp dword [ebp - 0xc], 0
je 0x409c55
mov dword [esp + 4], 0x6720f6
lea eax, [ebp - 0x234]
mov dword [esp], eax
call fcn.0057c310
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x409970
lea eax, [ebp - 0x234]
mov dword [esp + 8], eax
mov dword [esp + 4], str.Huh__Could_not_open__s_for_reading__n
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x409c55
nop
mov dword [esp + 8], 0x4c
lea eax, [ebp - 0x4494]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call fcn.0057c330
cmp eax, 0x4b
jbe 0x409c4a
mov dword [esp + 8], 6
mov dword [esp + 4], str.070707
lea eax, [ebp - 0x4494]
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x409c4a
lea eax, [ebp - 0x4494]
mov dword [esp], eax
call fcn.00408790
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x409a00
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x17
mov dword [esp + 4], 1
mov dword [esp], str.zero_length_filename___n
call sub.msvcrt.dll_fwrite
jmp 0x409c4a
mov eax, dword [ebp - 0x20]
mov dword [esp + 8], eax
lea eax, [ebp - 0x4448]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call fcn.0057c330
cmp eax, dword [ebp - 0x20]
je 0x409a4e
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x1a
mov dword [esp + 4], 1
mov dword [esp], str.could_not_read_filename___n
call sub.msvcrt.dll_fwrite
jmp 0x409c4a
lea eax, [ebp - 0x4494]
mov dword [esp], eax
call fcn.00408804
mov dword [ebp - 0x24], eax
mov dword [esp + 4], str.._var_mobile_Library_Caches_com.apple.mobile.installation.plist
lea eax, [ebp - 0x4448]
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x409b5f
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x14], 0x2000
mov eax, dword [ebp - 0x10]
add eax, 0x2000
cmp eax, dword [ebp - 0x24]
jbe 0x409abc
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x24]
mov ecx, edx
sub ecx, eax
mov eax, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x28]
add edx, ecx
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call fcn.0057c330
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jle 0x409af3
mov eax, dword [ebp - 0x14]
add dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jb 0x409a99
jmp 0x409af4
nop
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jne 0x409b4f
mov dword [esp + 8], 8
mov dword [esp + 4], 0x67215b
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x409b36
lea eax, [ebp - 0x2c]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x24]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.00424f5c
jmp 0x409b4f
lea eax, [ebp - 0x2c]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x24]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.00423e4c
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.005a0e48
jmp 0x40996f
mov dword [esp], str.._var_mobile_Library_Caches_com.apple.LaunchServices_
call sub.msvcrt.dll_strlen
mov dword [esp + 8], eax
mov dword [esp + 4], str.._var_mobile_Library_Caches_com.apple.LaunchServices_
lea eax, [ebp - 0x4448]
mov dword [esp], eax
call fcn.005a0f10
test eax, eax
jne 0x409c21
mov eax, dword [0x6f607c]
cmp eax, 0xf
jg 0x409bda
mov ebx, dword [0x6f607c]
mov dword [esp], str.._var_mobile_Library_Caches_com.apple.LaunchServices_
call sub.msvcrt.dll_strlen
lea edx, [ebp - 0x4448]
add eax, edx
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msvcrt.dll_strtol
mov dword [ebx*4 + 0x6f9ce0], eax
lea eax, [ebx + 1]
mov dword [0x6f607c], eax
jmp 0x409c02
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x2d
mov dword [esp + 4], 1
mov dword [esp], str.This_is_weird._More_than_16_.csstore_files___n
call sub.msvcrt.dll_fwrite
mov eax, dword [ebp - 0x24]
mov dword [esp + 8], 1
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call fcn.0057d190
jmp 0x40996f
cmp dword [ebp - 0x24], 0
je 0x40996f
mov eax, dword [ebp - 0x24]
mov dword [esp + 8], 1
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call fcn.0057d190
jmp 0x40996f
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call fcn.0057d570
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x409c67
mov eax, dword [ebp - 0x34]
mov dword [esp], eax
call fcn.0041d1a6
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x409c79
mov eax, dword [ebp - 0x30]
mov dword [esp], eax
call fcn.0041909f
mov eax, dword [0x6f607c]
test eax, eax
jne 0x409c98
mov eax, dword [0x6f607c]
mov dword [eax*4 + 0x6f9ce0], 0x2d
inc eax
mov dword [0x6f607c], eax
mov eax, dword [ebp - 0x2c]
add esp, 0x44b0
pop ebx
pop edi
pop ebp
ret