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

Disassembly:
push rbp
push rbx
push rdi
push r13
push r14
push r15
lea rbp, [rsp - 0x2c8]
sub rsp, 0x3c8
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x2b0], rax
xor r13d, r13d
mov rbx, rdx
mov edi, ecx
mov qword [rsp + 0x28], r13
mov edx, 0x100010
mov qword [rsp + 0x30], r13
lea ecx, [r13 + 1]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov edx, 0x100010
lea ecx, [r13 + 1]
mov r14, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
xorps xmm0, xmm0
mov qword [rbp + 0x180], r13
xorps xmm1, xmm1
mov qword [rbp + 0x188], r13
mov r15, rax
mov qword [rbp + 0x190], r13
xor eax, eax
mov dword [rbp + 0x198], 0x30313130
lea rdx, str.ETDES_V1.03
mov byte [rbp + 0x1a0], al
lea rcx, [0x1400042bc]
mov dword [rbp + 0x230], eax
mov dword [rbp + 0x2a0], eax
mov dword [rbp + 0x19c], 0x4b4c3131
movups xmmword [rbp + 0x1a8], xmm0
movups xmmword [rbp + 0x1b8], xmm0
movups xmmword [rbp + 0x1d0], xmm1
movups xmmword [rbp + 0x1e0], xmm1
movups xmmword [rbp + 0x1f0], xmm1
movups xmmword [rbp + 0x200], xmm1
movups xmmword [rbp + 0x210], xmm1
movups xmmword [rbp + 0x220], xmm1
movups xmmword [rbp + 0x240], xmm0
movups xmmword [rbp + 0x250], xmm0
movups xmmword [rbp + 0x260], xmm0
movups xmmword [rbp + 0x270], xmm0
movups xmmword [rbp + 0x280], xmm0
movups xmmword [rbp + 0x290], xmm0
call fcn.140001010
cmp edi, 3
jge 0x1400028d3
mov edx, edi
lea rcx, str.argc_d__n
call fcn.140001010
lea rcx, str.Please_set_input_file_and_outfile_name__n_Ex:_ETDes.exe_c:12345.avi_d:daes_12345.avi__n
call fcn.140001010
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, 0xffffffff
jmp 0x140002dab
cmp edi, 4
jne 0x1400028fb
mov rcx, qword [rbx + 0x18]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], r13b
jne 0x1400028e3
cmp rax, 0xc
jbe 0x1400028fb
lea rcx, str.Please_enter_correct_password___n_Ex:_ETDes.exe_c:12345.avi_d:daes_12345.avi_1234567890ab_n
jmp 0x1400028b2
mov rdx, qword [rbx + 8]
lea rcx, str.source_file:_s_n
call fcn.140001010
mov rcx, qword [rbx + 8]
lea rdx, [rbp + 0x1d0]
sub rdx, rcx
nop dword [rax]
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x140002920
mov rcx, qword [rbx + 0x10]
lea rdx, [rbp + 0x240]
sub rdx, rcx
nop dword [rax]
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x140002940
lea rdx, [rsp + 0x38]
lea rcx, [rbp + 0x1d0]
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__stat64i32]
test eax, eax
je 0x140002993
lea rdx, [rbp + 0x1d0]
lea rcx, str.Cant_find_file__s__n
call fcn.140001010
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, 0xfffffffd
jmp 0x140002dab
mov qword [rsp + 0x3c0], r12
lea rcx, str.Src_size__d_____n
mov r12d, dword [rsp + 0x4c]
mov edx, r12d
call fcn.140001010
test r12d, r12d
je 0x1400029f1
lea r8, [0x1400043cc]
lea rdx, [rbp + 0x1d0]
lea rcx, [rsp + 0x28]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen_s]
test eax, eax
je 0x140002a0d
lea rdx, [rbp + 0x1d0]
lea rcx, str.Open__s_failed__n
call fcn.140001010
lea rcx, str.Error
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_perror]
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, 0xfffffffd
jmp 0x140002da3
lea r8, [0x1400043ec]
lea rdx, [rbp + 0x240]
lea rcx, [rsp + 0x30]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen_s]
test eax, eax
je 0x140002a71
lea rdx, [rbp + 0x240]
lea rcx, str.Open__s_failed__n
call fcn.140001010
lea rcx, str.Error
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_perror]
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, 0xfffffffc
jmp 0x140002da3
lea rcx, str.Start_decryption_n
call fcn.140001010
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll_clock]
mov dword [rsp + 0x20], eax
cmp edi, 4
jne 0x140002c4e
mov rcx, qword [rbx + 0x18]
lea rdx, [rbp + 0x1a8]
sub rdx, rcx
nop
movzx eax, byte [rcx]
mov byte [rcx + rdx], al
lea rcx, [rcx + 1]
test al, al
jne 0x140002aa0
movzx eax, byte [rbp + 0x1c7]
mov byte [rbp + 0x180], al
movzx eax, byte [rbp + 0x1c6]
mov byte [rbp + 0x181], al
movzx eax, byte [rbp + 0x1c5]
mov byte [rbp + 0x182], al
movzx eax, byte [rbp + 0x1c4]
mov byte [rbp + 0x183], al
movzx eax, byte [rbp + 0x1c3]
mov byte [rbp + 0x184], al
movzx eax, byte [rbp + 0x1c2]
mov byte [rbp + 0x185], al
movzx eax, byte [rbp + 0x1c1]
mov byte [rbp + 0x186], al
movzx eax, byte [rbp + 0x1c0]
mov byte [rbp + 0x187], al
movzx eax, byte [rbp + 0x1bf]
mov byte [rbp + 0x188], al
movzx eax, byte [rbp + 0x1be]
mov byte [rbp + 0x189], al
movzx eax, byte [rbp + 0x1bd]
mov byte [rbp + 0x18a], al
movzx eax, byte [rbp + 0x1bc]
mov byte [rbp + 0x18b], al
movzx eax, byte [rbp + 0x1bb]
mov byte [rbp + 0x18c], al
movzx eax, byte [rbp + 0x1ba]
mov byte [rbp + 0x18d], al
movzx eax, byte [rbp + 0x1b9]
mov byte [rbp + 0x18e], al
movzx eax, byte [rbp + 0x1b8]
mov byte [rbp + 0x18f], al
movzx eax, byte [rbp + 0x1b7]
mov byte [rbp + 0x190], al
movzx eax, byte [rbp + 0x1b6]
mov byte [rbp + 0x191], al
movzx eax, byte [rbp + 0x1b5]
mov byte [rbp + 0x192], al
movzx eax, byte [rbp + 0x1b4]
mov byte [rbp + 0x193], al
movzx eax, byte [rbp + 0x1b3]
mov byte [rbp + 0x194], al
movzx eax, byte [rbp + 0x1b2]
mov byte [rbp + 0x195], al
movzx eax, byte [rbp + 0x1b1]
mov byte [rbp + 0x196], al
movzx eax, byte [rbp + 0x1b0]
mov byte [rbp + 0x197], al
movzx eax, byte [rbp + 0x1af]
mov byte [rbp + 0x198], al
movzx eax, byte [rbp + 0x1ae]
mov byte [rbp + 0x199], al
movzx eax, byte [rbp + 0x1ad]
mov byte [rbp + 0x19a], al
movzx eax, byte [rbp + 0x1ac]
mov byte [rbp + 0x19b], al
movzx eax, byte [rbp + 0x1ab]
mov byte [rbp + 0x19c], al
movzx eax, byte [rbp + 0x1aa]
mov byte [rbp + 0x19d], al
movzx eax, byte [rbp + 0x1a9]
mov byte [rbp + 0x19e], al
movzx eax, byte [rbp + 0x1a8]
mov byte [rbp + 0x19f], al
lea rdx, [rbp + 0x180]
mov qword [rsp + 0x410], rsi
lea rcx, [rsp + 0x70]
call fcn.140001370
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fflush]
test r12d, r12d
jle 0x140002d2b
nop dword [rax]
nop dword [rax + rax]
mov r9, qword [rsp + 0x28]
mov edx, 1
mov r8d, 0x100000
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
test eax, eax
jle 0x140002de1
mov ecx, eax
and ecx, 0xf
test eax, eax
jns 0x140002cc0
add eax, 0xf
sub ecx, 0x10
sar eax, 4
mov ebx, r13d
test ecx, ecx
lea esi, [rax + 1]
cmove esi, eax
test esi, esi
jle 0x140002cfe
mov edi, esi
nop dword [rax]
nop dword [rax + rax]
movsxd rax, ebx
lea rcx, [rsp + 0x70]
lea r8, [rax + r15]
lea rdx, [rax + r14]
call fcn.1400017e0
add ebx, 0x10
sub rdi, 1
jne 0x140002ce0
mov r9, qword [rsp + 0x30]
mov edx, 1
shl esi, 4
mov rcx, r15
movsxd r8, esi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp eax, esi
jne 0x140002dcb
sub r12d, eax
test r12d, r12d
jg 0x140002c90
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll_clock]
lea rcx, str.passed._n
mov ebx, eax
call fcn.140001010
sub ebx, dword [rsp + 0x20]
lea rcx, str.Total_time_taken_by_CPU:__f
movd xmm1, ebx
cvtdq2pd xmm1, xmm1
divsd xmm1, qword [0x140004480]
movq rdx, xmm1
call fcn.140001010
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
lea rcx, [0x14000447c]
call fcn.140001010
mov rsi, qword [rsp + 0x410]
mov eax, r13d
mov r12, qword [rsp + 0x3c0]
mov rcx, qword [rbp + 0x2b0]
xor rcx, rsp
call fcn.140002e10
add rsp, 0x3c8
pop r15
pop r14
pop r13
pop rdi
pop rbx
pop rbp
ret
mov edx, eax
lea rcx, str.write_error__write_len_d_n
call fcn.140001010
mov r13d, 0xfffffffc
jmp 0x140002d64
mov edx, eax
lea rcx, str.read_error_read_len_d__n
call fcn.140001010
mov r13d, 0xfffffffd
jmp 0x140002d64