Function at 0x403190
Capabilities:
Hash data using sha1
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa4
mov eax, dword [0x42c004]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov esi, edx
xorps xmm0, xmm0
push 0x41e700
push esi
mov ebx, ecx
movlpd qword [ebp - 0x98], xmm0
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
mov edi, eax
add esp, 8
mov dword [ebp - 0x74], edi
test edi, edi
jne 0x403201
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 esi
push str.ERROR:_Unable_to_open_filesystem_image__s:__s_n
call fcn.004035a0
add esp, 0xc
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041c84a
mov esp, ebp
pop ebp
ret
mov esi, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__fseeki64]
push 2
push 0
push 0
push edi
call esi
push 0
push 0
cdq
push 0
push edi
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x90], edx
call esi
push edi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_rewind]
add esp, 0x24
mov dword [ebp - 0x78], 0
xor esi, esi
push 0x20000
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov cl, byte [ebx + 4]
add esp, 4
mov edi, eax
test cl, cl
je 0x403279
mov dword [ebp - 0x70], 0x67452301
mov dword [ebp - 0x6c], 0xefcdab89
mov dword [ebp - 0x68], 0x98badcfe
mov dword [ebp - 0x64], 0x10325476
mov dword [ebp - 0x60], 0xc3d2e1f0
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x5c], esi
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x90]
mov edx, eax
test eax, eax
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x88]
jne 0x4032a2
test eax, eax
jbe 0x40347c
mov ecx, dword [ebp - 0x94]
mov dword [ebp - 0x8c], ecx
mov ecx, dword [ebp - 0x98]
mov dword [ebp - 0x80], ecx
mov esi, 0x20000
test edx, edx
ja 0x4032c8
jb 0x4032c6
cmp eax, esi
jae 0x4032c8
mov esi, eax
xor eax, eax
mov dword [ebp - 0x7c], eax
cmp byte [ebx + 4], al
je 0x4032f0
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x7c], eax
lea eax, [esi + ecx]
cmp eax, 0x20000
jl 0x4032f0
mov esi, 0x20000
mov dword [ebp - 0x7c], 1
sub esi, ecx
push dword [ebp - 0x74]
push esi
push 1
push edi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
add esp, 0x10
cmp eax, esi
jne 0x403505
lea eax, [ebp - 8]
mov dword [ebp - 8], 0
push eax
push esi
push edi
push dword [ebx]
call dword [sym.imp.imobiledevice.dll_idevice_connection_send]
add esp, 0x10
test eax, eax
mov eax, dword [ebp - 8]
jne 0x4034ef
cmp eax, esi
jne 0x4034ef
cmp byte [ebx + 4], 0
je 0x4033c3
push esi
mov edx, edi
lea ecx, [ebp - 0x70]
call fcn.004025c0
add dword [ebp - 0x78], esi
add esp, 4
cmp dword [ebp - 0x7c], 0
je 0x4033c3
lea edx, [ebp - 0x70]
mov ecx, edi
call fcn.00402670
lea eax, [ebp - 8]
mov dword [ebp - 8], 0
push eax
push 0x14
push edi
push dword [ebx]
call dword [sym.imp.imobiledevice.dll_idevice_connection_send]
add esp, 0x10
test eax, eax
mov eax, dword [ebp - 8]
jne 0x4034d8
cmp eax, 0x14
jne 0x4034d8
mov dword [ebp - 0x70], 0x67452301
mov dword [ebp - 0x6c], 0xefcdab89
mov dword [ebp - 0x68], 0x98badcfe
mov dword [ebp - 0x64], 0x10325476
mov dword [ebp - 0x60], 0xc3d2e1f0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x78], 0
mov ecx, dword [ebp - 0x8c]
mov eax, esi
cdq
mov esi, eax
mov eax, edx
add dword [ebp - 0x80], esi
mov dword [ebp - 0x94], eax
adc ecx, eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 8], eax
test eax, eax
je 0x40344e
mov edx, ecx
mov ecx, dword [ebp - 0x80]
call fcn.0041d8e0
mov edx, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x84]
movsd qword [ebp - 0xa0], xmm0
call fcn.0041d8e0
movsd xmm1, qword [ebp - 0xa0]
divsd xmm1, xmm0
movaps xmm0, xmm1
mulsd xmm0, qword [0x4299b0]
cvttsd2si eax, xmm0
mov dword [ebp - 0x9c], eax
cmp eax, dword [ebx + 8]
jle 0x40344e
push dword [ebx + 0x10]
sub esp, 8
movsd qword [esp], xmm1
call dword [ebp - 8]
mov eax, dword [ebp - 0x9c]
add esp, 0xc
mov dword [ebx + 8], eax
mov eax, dword [ebp - 0x88]
mov edx, dword [ebp - 0xc]
sub eax, esi
mov dword [ebp - 0x88], eax
sbb edx, dword [ebp - 0x94]
mov dword [ebp - 0xc], edx
jne 0x4032b7
test eax, eax
jne 0x4032b7
mov cl, byte [ebx + 4]
mov esi, dword [ebp - 0x7c]
test cl, cl
je 0x4034af
test esi, esi
jne 0x4034af
lea edx, [ebp - 0x70]
mov ecx, edi
call fcn.00402670
lea eax, [ebp - 0xc]
mov dword [ebp - 0xc], esi
push eax
push 0x14
push edi
push dword [ebx]
call dword [sym.imp.imobiledevice.dll_idevice_connection_send]
add esp, 0x10
test eax, eax
mov eax, dword [ebp - 0xc]
jne 0x4034d8
cmp eax, 0x14
jne 0x4034d8
push edi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
push dword [ebp - 0x74]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041c84a
mov esp, ebp
pop ebp
ret
push 0x14
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_chunk_checksum_n
jmp 0x40350a
push esi
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_filesystem_payload_n
jmp 0x40350a
push str.Error_reading_filesystem_n
call fcn.004035a0
add esp, 4
push edi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
push dword [ebp - 0x74]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov ecx, dword [ebp - 4]
add esp, 4
xor ecx, ebp
or eax, 0xffffffff
pop edi
pop esi
pop ebx
call fcn.0041c84a
mov esp, ebp
pop ebp
ret