Function at 0x4101f0
Capabilities:
Read file on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x8058
call fcn.004176c0
mov eax, dword [0x4210a8]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
xorps xmm0, xmm0
push ebx
push esi
mov esi, dword [ebp + 0xc]
mov eax, dword [eax + 0x150]
push edi
mov edi, dword [sym.imp.MSVCR120.dll__fseeki64]
mov ebx, dword [esi + 0xc]
push 2
push 0
push 0
push ebx
mov dword [ebp - 0x8058], eax
movlpd qword [ebp - 0x8054], xmm0
call edi
push ebx
call dword [sym.imp.MSVCR120.dll__ftelli64]
add esp, 0x14
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], edx
test edx, edx
jg 0x410275
jl 0x410253
test eax, eax
jae 0x410275
call dword [sym.imp.MSVCR120.dll__errno]
push dword [eax]
call dword [sym.imp.MSVCR120.dll_strerror]
push eax
push str.could_not_determine_seek_position_in_archive_file:__s_n
push dword [0x42101c]
call fcn.00410f40
add esp, 0x10
push 0
push 0
push 0
push ebx
call edi
push esi
call fcn.004107c0
push ebx
push 0x8000
lea eax, [ebp - 0x8044]
push 1
push eax
call dword [sym.imp.MSVCR120.dll_fread]
mov edi, eax
add esp, 0x24
mov eax, dword [ebp - 0x8050]
mov dword [ebp - 0x804c], eax
test edi, edi
je 0x41033b
mov eax, dword [ebp - 0x8054]
mov dword [ebp - 0x8048], eax
mov edi, edi
push dword [esi + 8]
lea eax, [ebp - 0x8044]
push edi
push 1
push eax
call dword [sym.imp.MSVCR120.dll_fwrite]
add esp, 0x10
mov dword [ebp - 0x8050], eax
cmp eax, edi
je 0x410308
call dword [sym.imp.MSVCR120.dll__errno]
push dword [eax]
call dword [sym.imp.MSVCR120.dll_strerror]
push eax
push str.could_not_write_to_output_file:__s_n
push dword [0x42101c]
call fcn.00410f40
mov eax, dword [ebp - 0x8050]
add esp, 0x10
add dword [ebp - 0x8048], eax
lea eax, [ebp - 0x8044]
push ebx
adc dword [ebp - 0x804c], 0
push 0x8000
push 1
push eax
call dword [sym.imp.MSVCR120.dll_fread]
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x4102c0
mov edi, dword [ebp - 0x8048]
jmp 0x410347
mov edi, dword [ebp - 0x8054]
mov dword [ebp - 0x8048], edi
push ebx
call dword [sym.imp.MSVCR120.dll_feof]
add esp, 4
test eax, eax
jne 0x41039a
push ebx
call dword [sym.imp.MSVCR120.dll_feof]
add esp, 4
test eax, eax
je 0x410378
push str.could_not_read_from_input_file:_end_of_file_n
push dword [0x42101c]
call fcn.00410f40
add esp, 8
jmp 0x41039a
call dword [sym.imp.MSVCR120.dll__errno]
push dword [eax]
call dword [sym.imp.MSVCR120.dll_strerror]
push eax
push str.could_not_read_from_input_file:__s_n
push dword [0x42101c]
call fcn.00410f40
add esp, 0x10
push ebx
call dword [sym.imp.MSVCR120.dll_fclose]
add esp, 4
test eax, eax
je 0x4103ca
call dword [sym.imp.MSVCR120.dll__errno]
push dword [eax]
call dword [sym.imp.MSVCR120.dll_strerror]
push eax
push str.could_not_close_temporary_file:__s_n
push dword [0x42101c]
call fcn.00410f40
add esp, 0x10
mov eax, dword [ebp - 0x804c]
cmp edi, dword [esi + 0x20]
jne 0x4103da
cmp eax, dword [esi + 0x24]
je 0x41041d
push eax
push edi
push str._lld
lea eax, [ebp - 0x44]
push 0x20
push eax
call fcn.00413380
push dword [esi + 0x24]
lea eax, [ebp - 0x24]
push dword [esi + 0x20]
push str._lld
push 0x20
push eax
call fcn.00413380
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x44]
push eax
push str.actual_file_length___s__does_not_match_expected___s__n
push dword [0x42101c]
call fcn.00410f40
add esp, 0x38
add edi, 0x1ff
and edi, 0xfffffe00
sub edi, dword [ebp - 0x8048]
je 0x41046b
mov ebx, edi
push dword [esi + 8]
push 0
call dword [sym.imp.MSVCR120.dll_fputc]
add esp, 8
cmp eax, 0xffffffff
jne 0x410468
call dword [sym.imp.MSVCR120.dll__errno]
push dword [eax]
call dword [sym.imp.MSVCR120.dll_strerror]
push eax
push str.could_not_write_to_output_file:__s_n
push dword [0x42101c]
call fcn.00410f40
add esp, 0x10
dec ebx
jne 0x410433
mov ecx, dword [ebp - 0x8058]
xor eax, eax
add edi, dword [ebp - 0x8048]
adc eax, dword [ebp - 0x804c]
add dword [ecx + 0x18], edi
pop edi
adc dword [ecx + 0x1c], eax
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.004175a2
mov esp, ebp
pop ebp
ret