Function at 0x402fa0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [0x42c004]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
xorps xmm0, xmm0
push esi
push edi
push str.OOB_Length
push edx
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], eax
movlpd qword [ebp - 0x14], xmm0
movlpd qword [ebp - 0x1c], xmm0
call dword [sym.imp.plist.dll_plist_dict_get_item]
mov esi, eax
add esp, 8
test esi, esi
je 0x403168
mov edi, dword [sym.imp.plist.dll_plist_get_node_type]
push esi
call edi
add esp, 4
cmp eax, 1
jne 0x403168
lea eax, [ebp - 0x1c]
push eax
push esi
call dword [sym.imp.plist.dll_plist_get_uint_val]
push str.OOB_Offset
push dword [ebp - 0xc]
call dword [sym.imp.plist.dll_plist_dict_get_item]
mov esi, eax
add esp, 0x10
test esi, esi
je 0x403161
push esi
call edi
add esp, 4
cmp eax, 1
jne 0x403161
lea eax, [ebp - 0x14]
push eax
push esi
call dword [sym.imp.plist.dll_plist_get_uint_val]
push dword [ebp - 0x1c]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x403055
push str.ERROR:_Out_of_memory_n
jmp 0x40316d
mov edi, dword [ebp - 0x20]
push 0
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push edi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__fseeki64]
add esp, 0x10
test eax, eax
je 0x4030a7
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 str.ERROR:_Unable_to_read_seek_to_offset:__s_n
call fcn.004035a0
push esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 0xc
or eax, 0xffffffff
pop edi
pop esi
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0041c84a
mov esp, ebp
pop ebp
ret
push edi
push dword [ebp - 0x1c]
push 1
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov edi, dword [ebp - 0x1c]
add esp, 0x10
xor ecx, ecx
cmp eax, edi
jne 0x403128
cmp ecx, dword [ebp - 0x18]
jne 0x403128
lea eax, [ebp - 0xc]
mov dword [ebp - 0xc], ecx
push eax
mov eax, dword [ebp - 0x24]
push edi
push esi
push dword [eax]
call dword [sym.imp.imobiledevice.dll_idevice_connection_send]
add esp, 0x10
test eax, eax
mov eax, dword [ebp - 0xc]
jne 0x403103
cmp eax, edi
jne 0x403103
push esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0041c84a
mov esp, ebp
pop ebp
ret
push edi
push eax
push str.ERROR:_Unable_to_send_data_to_ASR._Sent__u_of__u_bytes._n
call fcn.004035a0
add esp, 0xc
push str.ERROR:_Unable_to_send_OOB_data_to_ASR_n
call fcn.004035a0
add esp, 4
push esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x403172
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 str.ERROR:_Unable_to_read_OOB_data_from_filesystem_offset:__s_n
call fcn.004035a0
push esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 0xc
or eax, 0xffffffff
pop edi
pop esi
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0041c84a
mov esp, ebp
pop ebp
ret
push str.ERROR:_Unable_to_find_OOB_data_offset_n
jmp 0x40316d
push str.ERROR:_Unable_to_find_OOB_data_length_n
call fcn.004035a0
mov ecx, dword [ebp - 8]
add esp, 4
xor ecx, ebp
or eax, 0xffffffff
pop edi
pop esi
call fcn.0041c84a
mov esp, ebp
pop ebp
ret