Function at 0x140001cd0
Capabilities:
Enumerate pe sections
Parse pe header

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x380]
sub rsp, 0x480
mov rax, qword [0x14000b040]
xor rax, rsp
mov qword [rbp + 0x370], rax
xor ebx, ebx
mov dword [rsp + 0x44], ebx
lea rcx, [rbp + 0x240]
call fcn.140001920
nop
mov r13, qword [rbp + 0x258]
mov r12, qword [rbp + 0x240]
mov rsi, qword [rbp + 0x250]
test rsi, rsi
je 0x140002e88
mov r8d, 0x104
lea rdx, [rbp + 0x260]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x140001e00
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rbx
lea r8d, [rax + 0x2b]
lea rdx, str.Unable_to_retrieve_current_module_file_name
lea rcx, [rsp + 0x20]
call fcn.140004d30
nop
lea rdx, str.Error:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140004a10
lea rdx, [rsp + 0x20]
cmp qword [rsp + 0x38], 0xf
cmova rdx, qword [rsp + 0x20]
mov r8, qword [rsp + 0x30]
mov rcx, rax
call fcn.140005150
mov rcx, rax
lea rdx, [0x140004be0]
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]
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 0xf
jbe 0x140001e00
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001dfb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001dfb
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000559c
xorps xmm0, xmm0
movups xmmword [rbp - 8], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 8], xmm1
lea rax, [rbp + 0x260]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140001e20
lea rdx, [rbp + 0x260]
lea rcx, [rbp - 8]
call fcn.140004d30
nop
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, rsi
cmp rax, 0x10
jb 0x140002ef6
lea r15, [rbp + 0x240]
cmp r13, 0xf
cmova r15, r12
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x70], xmm1
lea r14, [rsi + 0x10]
mov ebx, 0xf
lea rdi, [rbp - 0x80]
cmp r14, rbx
jbe 0x140001efe
mov rbx, r14
or rbx, 0xf
cmp rbx, rcx
jbe 0x140001ec1
mov rbx, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.140005560
test rax, rax
je 0x140002e1c
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x140001efa
mov eax, 0x16
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x140001ee9
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140002efc
jmp 0x140001ea2
test rcx, rcx
je 0x140001ef8
call fcn.140005560
mov rdi, rax
jmp 0x140001efa
xor edi, edi
mov qword [rbp - 0x80], rdi
mov qword [rbp - 0x70], r14
mov qword [rbp - 0x68], rbx
mov r8, rsi
mov rdx, r15
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
movups xmm0, xmmword [str.modified_md5.exe]
movups xmmword [rsi + rdi], xmm0
mov byte [rdi + r14], 0
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp + 0x130]
call sub.VCRUNTIME140.dll_memset
lea rbx, [rbp - 8]
cmp qword [rbp + 0x10], 0xf
cmova rbx, qword [rbp - 8]
lea rax, [0x140000000]
lea rax, [rax + 0x7990]
mov qword [rbp + 0x130], rax
lea rcx, [rbp + 0x1e0]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
mov dword [rsp + 0x44], 0xc
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x140]
lea rcx, [rbp + 0x130]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64__bool____ptr64]
nop
mov rax, qword [rbp + 0x130]
movsxd rcx, dword [rax + 4]
lea rdi, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x130], rdi
mov rax, qword [rbp + 0x130]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x12c], edx
lea rcx, [rbp + 0x140]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
lea rax, vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
mov qword [rbp + 0x140], rax
mov byte [rbp + 0x1bc], 0
mov byte [rbp + 0x1b1], 0
lea rcx, [rbp + 0x140]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void____ptr64]
mov qword [rbp + 0x1c0], 0
mov rax, qword [0x14000baf0]
mov qword [rbp + 0x1b4], rax
mov qword [rbp + 0x1a8], 0
mov r8d, 0x21
mov rdx, rbx
lea rcx, [rbp + 0x140]
call fcn.1400048d0
test rax, rax
jne 0x140002055
mov rax, qword [rbp + 0x130]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0x130]
add rcx, rax
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
nop
mov rax, qword [rbp + 0x130]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x130], rdi
mov rax, qword [rbp + 0x130]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x12c], edx
cmp qword [rbp + 0x1c0], 0
jne 0x140002142
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], 0
mov r8d, 0x2c
lea rdx, str.Unable_to_open_the_original_file_for_reading
lea rcx, [rsp + 0x20]
call fcn.140004d30
nop
lea rdx, str.Error:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140004a10
lea rdx, [rsp + 0x20]
cmp qword [rsp + 0x38], 0xf
cmova rdx, qword [rsp + 0x20]
mov r8, qword [rsp + 0x30]
mov rcx, rax
call fcn.140005150
mov rcx, rax
lea rdx, [0x140004be0]
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]
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 0xf
jbe 0x140002142
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000213d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000213d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000559c
lea rdx, [rbp - 8]
lea rcx, [rbp - 0x28]
call fcn.1400012b0
nop
cmp qword [rbp - 0x18], 0
jne 0x14000220f
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], 0
mov r8d, 0x35
lea rdx, str.Unable_to_calculate_the_MD5_hash_of_the_original_file
lea rcx, [rsp + 0x20]
call fcn.140004d30
nop
lea rdx, str.Error:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140004a10
lea rdx, [rsp + 0x20]
cmp qword [rsp + 0x38], 0xf
cmova rdx, qword [rsp + 0x20]
mov r8, qword [rsp + 0x30]
mov rcx, rax
call fcn.140005150
mov rcx, rax
lea rdx, [0x140004be0]
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]
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 0xf
jbe 0x14000220f
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000220a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000220a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000559c
lea rdx, str.Original_MD5_Hash:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140004a10
lea rdx, [rbp - 0x28]
cmp qword [rbp - 0x10], 0xf
cmova rdx, qword [rbp - 0x28]
mov r8, qword [rbp - 0x18]
mov rcx, rax
call fcn.140005150
mov rcx, rax
lea rdx, [0x140004be0]
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]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x20], rax
mov word [rsp + 0x28], 1
mov rax, qword [rbp + 0x130]
movsxd rcx, dword [rax + 4]
mov rax, qword [rbp + rcx + 0x178]
mov qword [rsp + 0x50], rax
test rax, rax
sete byte [rsp + 0x58]
mov byte [rsp + 0x59], 0
movdqu xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], 0
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x60], rcx
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
movaps xmm1, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x50], xmm1
movzx esi, byte [rsp + 0x59]
mov rbx, qword [rsp + 0x50]
movzx r15d, byte [rsp + 0x28]
mov rdi, qword [rsp + 0x20]
test rax, rax
jne 0x1400022dd
movzx r14d, byte [rsp + 0x58]
jmp 0x140002300
test rbx, rbx
je 0x1400022f5
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::sgetc_void____ptr64]
cmp eax, 0xffffffff
je 0x1400022f5
movzx esi, al
jmp 0x1400022f7
xor ebx, ebx
mov r14b, 1
nop word [rax + rax]
test r15b, r15b
jne 0x14000231d
test rdi, rdi
je 0x140002318
mov rcx, rdi
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::sgetc_void____ptr64]
cmp eax, 0xffffffff
jne 0x14000231a
xor edi, edi
mov r15b, 1
test rbx, rbx
jne 0x1400023f9
test rdi, rdi
jne 0x140002402
mov rax, qword [rsp + 0x68]
mov rbx, rax
mov ecx, 0x5a4d
xor r14d, r14d
cmp word [rax], cx
je 0x14000247f
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x38], r14
lea r8d, [r14 + 0x1c]
lea rdx, str.Invalid_DOS_header_signature
lea rcx, [rsp + 0x20]
call fcn.140004d30
nop
lea rdx, str.Error:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140004a10
lea rdx, [rsp + 0x20]
cmp qword [rsp + 0x38], 0xf
cmova rdx, qword [rsp + 0x20]
mov r8, qword [rsp + 0x30]
mov rcx, rax
call fcn.140005150
mov rcx, rax
lea rdx, [0x140004be0]
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]
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 0xf
jbe 0x14000247a
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002475
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002475
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
test rdi, rdi
jne 0x14000232f
test r14b, r14b
jne 0x140002421
test rbx, rbx
je 0x14000241f
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::sgetc_void____ptr64]
cmp eax, 0xffffffff
je 0x14000241f
movzx esi, al
jmp 0x140002421
xor ebx, ebx
mov byte [rsp + 0x40], sil
mov rax, qword [rsp + 0x70]
cmp rax, qword [rsp + 0x78]
je 0x14000243c
mov byte [rax], sil
inc qword [rsp + 0x70]
jmp 0x140002450
lea r8, [rsp + 0x40]
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x68]
call fcn.140005310
test rbx, rbx
je 0x1400022f5
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::sbumpc_void____ptr64]
cmp eax, 0xffffffff
je 0x1400022f5
mov byte [rsp + 0x58], 0
jmp 0x1400022dd
call fcn.14000559c
mov rax, qword [rsp + 0x68]
movsxd rbx, dword [rbx + 0x3c]
add rbx, rax
cmp dword [rbx], 0x4550
je 0x14000253e
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x38], r14
mov r8d, 0x1b
lea rdx, str.Invalid_NT_header_signature
lea rcx, [rsp + 0x20]
call fcn.140004d30
nop
lea rdx, str.Error:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140004a10
lea rdx, [rsp + 0x20]
cmp qword [rsp + 0x38], 0xf
cmova rdx, qword [rsp + 0x20]
mov r8, qword [rsp + 0x30]
mov rcx, rax
call fcn.140005150
mov rcx, rax
lea rdx, [0x140004be0]
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]
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 0xf
jbe 0x14000253e
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002539
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002539
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000559c
movzx r10d, word [rbx + 0x14]
add r10, 0x18
add r10, rbx
mov rdi, r14
mov r8d, r14d
movzx r9d, word [rbx + 6]
test r9d, r9d
je 0x140002594
lea r11, str..text
movsxd rax, r8d
lea rcx, [rax + rax*4]
lea rdx, [r10 + rcx*8]
mov rcx, r14
nop
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [r11 + rcx - 1]
jne 0x14000263b
cmp rcx, 6
jne 0x140002570
mov rdi, rdx
test rdx, rdx
jne 0x140002651
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x38], r14
mov r8d, 0x38
lea rdx, str.Unable_to_locate_the_code_section_in_the_executable_file
lea rcx, [rsp + 0x20]
call fcn.140004d30
nop
lea rdx, str.Error:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140004a10
lea rdx, [rsp + 0x20]
cmp qword [rsp + 0x38], 0xf
cmova rdx, qword [rsp + 0x20]
mov r8, qword [rsp + 0x30]
mov rcx, rax
call fcn.140005150
mov rcx, rax
lea rdx, [0x140004be0]
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]
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 0xf
jbe 0x140002651
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000264c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000264c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
inc r8d
cmp r8d, r9d
jl 0x140002561
jmp 0x140002594
call fcn.14000559c
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], rax
lea rcx, [rbp - 0x60]
call fcn.140001890
nop
mov rcx, qword [rsp + 0x70]
sub rcx, qword [rsp + 0x68]
mov eax, dword [rdi + 0x14]
cmp rax, rcx
jb 0x14000272a
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x38], r14
mov r8d, 0x1b
lea rdx, str.Invalid_code_section_offset
lea rcx, [rsp + 0x20]
call fcn.140004d30
nop
lea rdx, str.Error:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140004a10
lea rdx, [rsp + 0x20]
cmp qword [rsp + 0x38], 0xf
cmova rdx, qword [rsp + 0x20]
mov r8, qword [rsp + 0x30]
mov rcx, rax
call fcn.140005150
mov rcx, rax
lea rdx, [0x140004be0]
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]
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 0xf
jbe 0x14000272a
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002725
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002725
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000559c
mov ebx, dword [rdi + 0x14]
add rbx, qword [rsp + 0x68]
mov esi, dword [rdi + 0x10]
lea r15, [rsi + rbx]
cmp qword [rsp + 0x70], r15
jae 0x1400027f0
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x38], r14
mov r8d, 0x19
lea rdx, str.Invalid_code_section_size
lea rcx, [rsp + 0x20]
call fcn.140004d30
nop
lea rdx, str.Error:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140004a10
lea rdx, [rsp + 0x20]
cmp qword [rsp + 0x38], 0xf
cmova rdx, qword [rsp + 0x20]
mov r8, qword [rsp + 0x30]
mov rcx, rax
call fcn.140005150
mov rcx, rax
lea rdx, [0x140004be0]
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]
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 0xf
jbe 0x1400027f0
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400027eb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400027eb
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000559c
mov rdi, qword [rbp - 0x58]
mov r14, qword [rbp - 0x60]
sub rdi, r14
cmp rsi, rdi
jl 0x140002842
mov rsi, r15
sub rsi, rdi
mov r8, rdi
mov rdx, rbx
mov rcx, r14
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
sete al
test al, al
jne 0x14000283f
nop dword [rax]
cmp rbx, rsi
je 0x140002842
inc rbx
mov r8, rdi
mov rdx, rbx
mov rcx, r14
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
sete al
test al, al
je 0x140002820
mov r15, rbx
mov rax, qword [rsp + 0x68]
sub r15, rax
mov byte [rax + r15], 0x12
xor edx, edx
mov r8d, 0x108
lea rcx, [rbp + 0x20]
call sub.VCRUNTIME140.dll_memset
lea rbx, [rbp - 0x80]
cmp qword [rbp - 0x68], 0xf
cmova rbx, qword [rbp - 0x80]
lea rax, [0x140000000]
lea rax, [rax + 0x78f8]
mov qword [rbp + 0x20], rax
lea rcx, [rbp + 0xc8]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
mov dword [rsp + 0x44], 0xe
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x28]
lea rcx, [rbp + 0x20]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64__bool____ptr64]
nop
mov rax, qword [rbp + 0x20]
movsxd rcx, dword [rax + 4]
lea rsi, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x20], rsi
mov rax, qword [rbp + 0x20]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx + 0x1c], edx
lea rcx, [rbp + 0x28]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
lea r14, vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
mov qword [rbp + 0x28], r14
mov byte [rbp + 0xa4], 0
mov byte [rbp + 0x99], 0
lea rcx, [rbp + 0x28]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void____ptr64]
xor edi, edi
mov qword [rbp + 0xa8], rdi
mov rax, qword [0x14000baf0]
mov qword [rbp + 0x9c], rax
mov qword [rbp + 0x90], rdi
lea r8d, [rdi + 0x22]
mov rdx, rbx
lea rcx, [rbp + 0x28]
call fcn.1400048d0
test rax, rax
jne 0x14000294d
mov rax, qword [rbp + 0x20]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0x20]
add rcx, rax
xor r8d, r8d
lea edx, [rdi + 2]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
nop
mov rax, qword [rbp + 0x20]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x20], rsi
mov rax, qword [rbp + 0x20]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx + 0x1c], edx
cmp qword [rbp + 0xa8], 0
jne 0x140002a26
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], rdi
mov r8d, 0x2c
lea rdx, str.Unable_to_open_the_modified_file_for_writing
lea rcx, [rsp + 0x20]
call fcn.140004d30
nop
lea rdx, str.Error:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140004a10
lea rdx, [rsp + 0x20]
cmp qword [rsp + 0x38], 0xf
cmova rdx, qword [rsp + 0x20]
mov r8, qword [rsp + 0x30]
mov rcx, rax
call fcn.140005150
mov rcx, rax
lea rdx, [0x140004be0]
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]
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 0xf
jbe 0x140002a26
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002a21
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002a21
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000559c
mov r8, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x68]
sub r8, rdx
lea rcx, [rbp + 0x20]
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__::write_char_const____ptr64__long_long___int64_____ptr64]
lea rcx, [rbp + 0x28]
call fcn.1400047e0
test rax, rax
jne 0x140002a67
mov rax, qword [rbp + 0x20]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0x20]
add rcx, rax
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x48]
call fcn.1400012b0
nop
cmp qword [rbp - 0x38], 0
je 0x140002abe
lea rdx, str.Modified_MD5_Hash:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140004a10
lea rdx, [rbp - 0x48]
cmp qword [rbp - 0x30], 0xf
cmova rdx, qword [rbp - 0x48]
mov r8, qword [rbp - 0x38]
mov rcx, rax
call fcn.140005150
mov rcx, rax
lea rdx, [0x140004be0]
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]
jmp 0x140002b6a
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], rdi
mov r8d, 0x35
lea rdx, str.Unable_to_calculate_the_MD5_hash_of_the_modified_file
lea rcx, [rsp + 0x20]
call fcn.140004d30
nop
lea rdx, str.Error:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140004a10
lea rdx, [rsp + 0x20]
cmp qword [rsp + 0x38], 0xf
cmova rdx, qword [rsp + 0x20]
mov r8, qword [rsp + 0x30]
mov rcx, rax
call fcn.140005150
mov rcx, rax
lea rdx, [0x140004be0]
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]
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 0xf
jbe 0x140002b6a
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002b65
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002b65
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000559c
mov bl, 1
mov rdx, qword [rbp - 0x30]
cmp rdx, 0xf
jbe 0x140002baa
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002ba5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002ba5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000559c
mov qword [rbp - 0x38], rdi
mov qword [rbp - 0x30], 0xf
mov byte [rbp - 0x48], 0
mov rax, qword [rbp + 0x20]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x20], rsi
mov rax, qword [rbp + 0x20]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx + 0x1c], edx
mov qword [rbp + 0x28], r14
cmp qword [rbp + 0xa8], 0
je 0x140002c17
mov rax, qword [rbp + 0x40]
lea rcx, [rbp + 0x98]
cmp qword [rax], rcx
jne 0x140002c17
mov rdx, qword [rbp + 0xb8]
mov rcx, qword [rbp + 0xb0]
mov qword [rax], rcx
mov rax, qword [rbp + 0x60]
mov qword [rax], rcx
sub edx, ecx
mov rax, qword [rbp + 0x78]
mov dword [rax], edx
cmp byte [rbp + 0xa4], 0
je 0x140002c29
lea rcx, [rbp + 0x28]
call fcn.1400047e0
lea rcx, [rbp + 0x28]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x30]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0xc8]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
mov rcx, qword [rbp - 0x60]
test rcx, rcx
je 0x140002c95
mov rdx, qword [rbp - 0x50]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002c84
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002c84
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000559c
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], rdi
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x140002ce2
mov rdx, qword [rsp + 0x78]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002ccf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002ccf
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000559c
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], rdi
mov rdx, qword [rbp - 0x10]
cmp rdx, 0xf
jbe 0x140002d20
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002d1b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002d1b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000559c
mov qword [rbp - 0x18], rdi
mov qword [rbp - 0x10], 0xf
mov byte [rbp - 0x28], 0
mov rax, qword [rbp + 0x130]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x130], rax
mov rax, qword [rbp + 0x130]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x12c], edx
mov qword [rbp + 0x140], r14
cmp qword [rbp + 0x1c0], 0
je 0x140002dac
mov rax, qword [rbp + 0x158]
lea rcx, [rbp + 0x1b0]
cmp qword [rax], rcx
jne 0x140002dac
mov rdx, qword [rbp + 0x1d0]
mov rcx, qword [rbp + 0x1c8]
mov qword [rax], rcx
mov rax, qword [rbp + 0x178]
mov qword [rax], rcx
sub edx, ecx
mov rax, qword [rbp + 0x190]
mov dword [rax], edx
cmp byte [rbp + 0x1bc], 0
je 0x140002dc1
lea rcx, [rbp + 0x140]
call fcn.1400047e0
lea rcx, [rbp + 0x140]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x148]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x1e0]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
mov rdx, qword [rbp - 0x68]
cmp rdx, 0xf
jbe 0x140002e28
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002e23
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002e23
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000559c
movdqa xmm0, xmmword [0x1400079c0]
movdqu xmmword [rbp - 0x70], xmm0
mov byte [rbp - 0x80], 0
mov rdx, qword [rbp + 0x10]
cmp rdx, 0xf
jbe 0x140002e77
inc rdx
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002e72
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002e72
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000559c
movdqa xmm0, xmmword [0x1400079c0]
movdqu xmmword [rbp + 8], xmm0
mov byte [rbp - 8], 0
cmp r13, 0xf
jbe 0x140002ec3
lea rdx, [r13 + 1]
mov rax, r12
cmp rdx, 0x1000
jb 0x140002ebb
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002ebb
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r12
call fcn.14000559c
movzx eax, bl
mov rcx, qword [rbp + 0x370]
xor rcx, rsp
call fcn.140005540
lea r11, [rsp + 0x480]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1400011b0
nop
call fcn.140001110
int3