Function at 0x140002720
Capabilities:
Get file size
Read file on windows
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xa0
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x27], rax
xor esi, esi
mov rbx, qword [rdx + 8]
test rbx, rbx
je 0x140002c31
mov qword [rbp + 7], rbx
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rbx + rax], sil
jne 0x140002770
mov qword [rbp + 0xf], rax
call fcn.140003f8c
movaps xmm0, xmmword [rbp + 7]
movdqa xmmword [rbp + 7], xmm0
lea r8, [rbp + 7]
mov edx, eax
lea rcx, [rbp - 0x29]
call fcn.1400018b0
nop
lea rcx, [rbp - 0x29]
cmp qword [rbp - 0x11], 7
cmova rcx, qword [rbp - 0x29]
mov r9d, 0xffffffff
mov r8d, 3
lea rdx, [rbp + 7]
call fcn.1400040c8
mov edx, eax
test eax, eax
jne 0x1400027f5
mov ecx, dword [rbp + 0x17]
bt ecx, 0xa
jae 0x1400027ea
mov eax, dword [rbp + 0x1b]
cmp eax, 0xa000000c
jne 0x1400027dc
lea ecx, [rdx + 4]
jmp 0x140002812
cmp eax, 0xa0000003
jne 0x1400027ea
mov ecx, 0xa
jmp 0x140002812
and ecx, 0x10
or ecx, 0x20
shr ecx, 4
jmp 0x140002812
sub eax, 2
je 0x14000280d
sub eax, 1
je 0x14000280d
sub eax, 0x32
je 0x14000280d
cmp eax, 0x46
je 0x14000280d
xor al, al
jmp 0x14000280f
mov al, 1
movzx ecx, al
mov dword [rbp + 7], edx
lea rax, [0x140009080]
mov qword [rbp + 0xf], rax
movaps xmm0, xmmword [rbp + 7]
movdqa xmmword [rbp + 7], xmm0
test ecx, ecx
je 0x140002872
cmp ecx, 1
setne dil
mov rdx, qword [rbp - 0x11]
cmp rdx, 7
jbe 0x140002884
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000287f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000287f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
xor dil, dil
test edx, edx
jne 0x140002c83
jmp 0x140002834
call fcn.1400044c4
test dil, dil
je 0x140002c54
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rdi, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
mov rcx, rax
movabs r9, 0xb2f4fc0794908cf3
cmp rdi, 0x989680
jne 0x1400028b8
imul rdi, rcx, 0x64
jmp 0x140002928
cmp rdi, 0x16e3600
jne 0x14000290c
mov rax, r9
imul rcx
add rdx, rcx
sar rdx, 0x18
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul r8, rdx, 0x3b9aca00
imul rax, rdx, 0x16e3600
sub rcx, rax
imul rcx, rcx, 0x3b9aca00
mov rax, r9
imul rcx
add rdx, rcx
sar rdx, 0x18
mov rdi, rdx
shr rdi, 0x3f
add rdi, rdx
add rdi, r8
jmp 0x140002928
cqo
idiv rdi
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rdi
lea rdi, [rax + rcx]
lea rdx, str.____Working_file_:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400030a0
mov rdx, rbx
mov rcx, rax
call fcn.1400030a0
lea rdx, [0x140003270]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x10000000
lea r8d, [r9 + 3]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov r12, rax
cmp rax, 0xffffffffffffffff
je 0x140002c1c
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov r13d, eax
mov ecx, eax
call fcn.1400044cc
mov r15, rax
mov qword [rsp + 0x20], rsi
lea r9, [rbp - 9]
mov r8d, r13d
mov rdx, rax
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, 0x5a4d
cmp word [r15], ax
jne 0x140002c54
movsxd r14, dword [r15 + 0x3c]
lea rbx, [r14 + 0x108]
add rbx, r15
xor ecx, ecx
mov esi, ecx
cmp cx, word [r14 + r15 + 6]
jae 0x140002ace
nop word [rax + rax]
xorps xmm0, xmm0
movups xmmword [rbp - 0x29], xmm0
mov qword [rbp - 0x19], rcx
mov qword [rbp - 0x11], rcx
mov r8d, 8
mov rdx, rbx
lea rcx, [rbp - 0x29]
call fcn.140003600
mov rdx, qword [rbp - 0x11]
cmp rdx, 0xf
jbe 0x140002a48
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002a43
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002ac0
call fcn.1400044c4
mov rdx, rbx
lea rcx, str.____s_t_:_Section_Text_n
call fcn.140001010
lea rcx, [rbp - 0x29]
call fcn.140002380
cmp qword [rax + 0x18], 0xf
jbe 0x140002a6a
mov rax, qword [rax]
mov rax, qword [rax]
mov qword [rbx], rax
mov rdx, qword [rbp - 0x11]
cmp rdx, 0xf
jbe 0x140002aa7
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002aa2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002ac7
call fcn.1400044c4
inc rsi
add rbx, 0x28
movzx eax, word [r14 + r15 + 6]
cmp rsi, rax
jae 0x140002ace
xor ecx, ecx
jmp 0x1400029f0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
xor esi, esi
mov qword [rsp + 0x20], rsi
lea r9, [rbp - 9]
mov r8d, r13d
mov rdx, r15
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, str._n___Success_n
call fcn.140001010
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
mov r9, rax
cmp rbx, 0x989680
jne 0x140002b2f
imul rbx, r9, 0x64
jmp 0x140002bad
cmp rbx, 0x16e3600
jne 0x140002b8c
movabs r10, 0xb2f4fc0794908cf3
mov rax, r10
imul r9
lea r8, [r9 + rdx]
sar r8, 0x18
mov rcx, r8
shr rcx, 0x3f
add r8, rcx
imul rcx, r8, 0x16e3600
sub r9, rcx
imul rcx, r9, 0x3b9aca00
mov rax, r10
imul rcx
lea rbx, [rcx + rdx]
sar rbx, 0x18
mov rax, rbx
shr rax, 0x3f
add rbx, rax
imul rax, r8, 0x3b9aca00
jmp 0x140002baa
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
mov rbx, rax
imul rax, rcx, 0x3b9aca00
add rbx, rax
lea rdx, str.____Finished_operation_in
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400030a0
mov r8, rax
sub rbx, rdi
movabs rax, 0x431bde82d7b634db
imul rbx
sar rdx, 0x12
mov rcx, rdx
shr rcx, 0x3f
add rdx, rcx
mov rcx, r8
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___long_long___int64_____ptr64]
mov rcx, rax
lea rdx, [0x140006688]
call fcn.1400030a0
lea rdx, [0x140003270]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov qword [rbp + 7], 3
lea rcx, [rbp + 7]
call fcn.1400032b0
jmp 0x140002c54
mov rdx, 0xffffffffffffffff
lea rcx, str.____Failed_to_open_specified_file.___d__n
call fcn.140001010
jmp 0x140002c54
lea rdx, str.____File_is_not_specified__please_use_this_project.exe_any.exe_.dll
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400030a0
lea rdx, [0x140003270]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
xor eax, eax
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.140004460
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
lea r8, [rbp - 0x29]
lea rdx, [rbp + 7]
call fcn.140002320
int3