Function at 0x140003630
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov rbp, r9
mov rdi, r8
test r8, r8
je 0x1400036be
lea r13, [0x14000eda0]
mov edx, 0xfdb20
mov rcx, r13
call fcn.140002c70
mov qword [rsp + 0x28], rax
mov rsi, rax
test rax, rax
jne 0x1400036d8
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
lea rdx, str.Invalid_payload:
call fcn.1400013d0
lea rdx, [0x140001ed0]
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::ios_base____ptr64____cdecl___class_std::ios_base____ptr64_____ptr64]
mov rdx, r13
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___unsigned_long_long_unsigned___int64_____ptr64]
lea rdx, [0x140001e90]
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 al, al
mov rbx, qword [rsp + 0x88]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov edx, 0x40
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x140003742
mov eax, 0x5a4d
cmp word [0x14000eda0], ax
jne 0x140003742
mov rax, qword [0x14000eddc]
cmp eax, 0x400
jg 0x140003742
movsxd rbx, eax
mov edx, 0xf8
add rbx, r13
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x140003742
cmp dword [rbx], 0x4550
jne 0x140003742
test rbx, rbx
je 0x140003742
mov edx, 0xf8
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x140003742
mov eax, 0x20b
mov ecx, dword [rsi + 0x54]
xor r9d, r9d
movzx eax, word [rsi + 0x14]
mov edx, r9d
add rax, rsi
mov dword [rsp + 0x70], ecx
mov dword [rsp + 0x78], edx
movzx esi, r9w
lea r8, [rax + 0x18]
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x20], r8
cmp r9w, word [rax + 6]
jae 0x140003979
nop word [rax + rax]
movzx eax, si
lea rcx, [rax + rax*4]
lea rbx, [r8 + rcx*8]
test rbx, rbx
je 0x1400036be
cmp rbx, r13
jb 0x1400036be
mov rcx, rbx
sub rcx, r13
lea rdx, [rcx + 0x28]
lea rax, [rdx - 0x28]
cmp rax, 0xfdaf8
ja 0x1400036be
cmp rdx, rcx
jb 0x1400036be
cmp rdx, rbp
ja 0x1400036be
mov ecx, dword [rbx + 0x14]
test ecx, ecx
je 0x1400039e3
mov eax, dword [rbx + 0x10]
test eax, eax
je 0x1400039e3
mov r14d, dword [rbx + 0xc]
add r13, rcx
mov r15d, ecx
lea r12, [r14 + rdi]
mov edi, eax
add rax, r14
cmp rax, rbp
jbe 0x1400038a8
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
lea rdx, str.____Virtual_section_size_is_out_ouf_bounds:
call fcn.1400013d0
lea rdx, [0x140001ed0]
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::ios_base____ptr64____cdecl___class_std::ios_base____ptr64_____ptr64]
mov rcx, rax
mov edx, edi
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___unsigned_long_long_unsigned___int64_____ptr64]
mov rcx, rax
lea rdx, [0x140001e90]
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 eax, dword [rbx + 0xc]
lea rdx, str.____Truncated_to_maximal_size:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
mov rdi, rbp
sub rdi, rax
cmp rbp, rax
mov eax, 0
cmovbe rdi, rax
call fcn.1400013d0
lea rdx, [0x140001ed0]
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::ios_base____ptr64____cdecl___class_std::ios_base____ptr64_____ptr64]
mov rcx, rax
mov rdx, rdi
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___unsigned_long_long_unsigned___int64_____ptr64]
mov rcx, rax
lea rdx, str.__buffer_size:
call fcn.1400013d0
mov rdx, rbp
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___unsigned_long_long_unsigned___int64_____ptr64]
mov rcx, rax
lea rdx, [0x140001e90]
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 eax, dword [rbx + 0xc]
cmp rax, rbp
jb 0x1400038b9
test rdi, rdi
jne 0x1400039ec
mov eax, dword [rbx + 0x14]
add rax, rdi
cmp rax, rbp
ja 0x140003a20
test r13, r13
je 0x14000399c
lea rax, [0x14000eda0]
cmp r13, rax
jb 0x14000399c
lea rax, [r15 + rdi]
cmp rax, 0xfdb20
ja 0x14000399c
cmp rax, rdi
jb 0x14000399c
cmp rax, r15
jb 0x14000399c
test r12, r12
je 0x14000399c
cmp r12, qword [rsp + 0x80]
jb 0x14000399c
lea rax, [r14 + rdi]
cmp rax, rbp
ja 0x14000399c
cmp rax, rdi
jb 0x14000399c
cmp rax, r14
jb 0x14000399c
mov r8, rdi
mov rdx, r13
mov rcx, r12
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [rsp + 0x78]
test edx, edx
je 0x140003948
cmp dword [rbx + 0x14], edx
jae 0x14000394f
mov edx, dword [rbx + 0x14]
mov dword [rsp + 0x78], edx
mov r8, qword [rsp + 0x20]
lea r13, [0x14000eda0]
mov rdi, qword [rsp + 0x80]
mov rax, qword [rsp + 0x28]
inc si
cmp si, word [rax + 6]
jb 0x140003780
mov ecx, dword [rsp + 0x70]
test ecx, ecx
cmove ecx, edx
mov r8d, ecx
cmp r8, rbp
ja 0x1400036be
mov rdx, r13
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov al, 1
jmp 0x1400036c0
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
lea rdx, str.____Section
call fcn.1400013d0
movzx edx, si
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___unsigned_short_int____ptr64]
mov rcx, rax
lea rdx, str.:__out_ouf_bounds__skipping...
call fcn.1400013d0
lea rdx, [0x140001e90]
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 edx, dword [rsp + 0x78]
jmp 0x14000394f
mov edx, dword [rsp + 0x78]
jmp 0x140003963
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
lea rdx, str.____VirtualAddress_of_section_is_out_ouf_bounds:
call fcn.1400013d0
lea rdx, [0x140001ed0]
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::ios_base____ptr64____cdecl___class_std::ios_base____ptr64_____ptr64]
mov edx, dword [rbx + 0xc]
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___unsigned_long_int____ptr64]
jmp 0x1400036ae
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
lea rdx, str.____Raw_section_size_is_out_ouf_bounds:
call fcn.1400013d0
lea rdx, [0x140001ed0]
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::ios_base____ptr64____cdecl___class_std::ios_base____ptr64_____ptr64]
mov rdx, rdi
jmp 0x1400036a5