Function at 0x140003760
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov r14, r9
mov rdi, r8
mov r15, rdx
mov rsi, rcx
test rcx, rcx
je 0x1400037e5
test r8, r8
je 0x1400037e5
call fcn.140002db0
mov qword [rsp + 0x30], rax
mov rbp, rax
test rax, rax
jne 0x1400037ff
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.1400013a0
lea rdx, [0x140001eb0]
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, rsi
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, [0x140001e70]
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 + 0x98]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov edx, 0x40
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x140003860
mov eax, 0x5a4d
cmp word [rsi], ax
jne 0x140003860
movsxd rax, dword [rsi + 0x3c]
cmp eax, 0x400
jg 0x140003860
lea rbx, [rsi + rax]
mov edx, 0xf8
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x140003860
cmp dword [rbx], 0x4550
jne 0x140003860
test rbx, rbx
je 0x140003860
mov edx, 0xf8
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x140003860
mov eax, 0x20b
movzx eax, word [rbp + 0x14]
xor r9d, r9d
mov ecx, dword [rbp + 0x54]
add rax, rbp
mov edx, r9d
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x80], edx
movzx ebp, r9w
lea r8, [rax + 0x18]
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x28], r8
cmp r9w, word [rax + 6]
jae 0x140003acd
nop dword [rax + rax]
movzx eax, bp
lea rcx, [rax + rax*4]
lea rbx, [r8 + rcx*8]
test rbx, rbx
je 0x1400037e5
cmp rbx, rsi
jb 0x1400037e5
mov rcx, rbx
sub rcx, rsi
lea rax, [rcx + 0x28]
cmp rax, r15
ja 0x1400037e5
cmp rax, 0x28
jb 0x1400037e5
cmp rax, rcx
jb 0x1400037e5
cmp rax, r14
ja 0x1400037e5
mov ecx, dword [rbx + 0x14]
test ecx, ecx
je 0x140003ab7
mov eax, dword [rbx + 0x10]
test eax, eax
je 0x140003ab7
mov r15d, dword [rbx + 0xc]
mov r12d, ecx
add rcx, rsi
lea r13, [r15 + rdi]
mov edi, eax
add rax, r15
cmp rax, r14
jbe 0x1400039cf
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.1400013a0
lea rdx, [0x140001eb0]
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, [0x140001e70]
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, r14
sub rdi, rax
cmp r14, rax
mov eax, 0
cmovbe rdi, rax
call fcn.1400013a0
lea rdx, [0x140001eb0]
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.1400013a0
mov rdx, r14
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, [0x140001e70]
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]
lea rcx, [r12 + rsi]
mov eax, dword [rbx + 0xc]
cmp rax, r14
jb 0x1400039e0
test rdi, rdi
jne 0x140003af0
mov eax, dword [rbx + 0x14]
add rax, rdi
cmp rax, r14
ja 0x140003b24
test rcx, rcx
je 0x140003a5d
cmp rcx, rsi
jb 0x140003a5d
lea rax, [r12 + rdi]
cmp rax, qword [rsp + 0x88]
ja 0x140003a5d
cmp rax, rdi
jb 0x140003a5d
cmp rax, r12
jb 0x140003a5d
test r13, r13
je 0x140003a5d
cmp r13, qword [rsp + 0x90]
jb 0x140003a5d
lea rax, [r15 + rdi]
cmp rax, r14
ja 0x140003a5d
cmp rax, rdi
jb 0x140003a5d
cmp rax, r15
jb 0x140003a5d
mov rdx, rcx
mov r8, rdi
mov rcx, r13
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [rsp + 0x80]
test edx, edx
je 0x140003a51
cmp dword [rbx + 0x14], edx
jae 0x140003aa2
mov edx, dword [rbx + 0x14]
mov dword [rsp + 0x80], edx
jmp 0x140003aa2
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.1400013a0
movzx edx, bp
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.1400013a0
lea rdx, [0x140001e70]
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 + 0x80]
mov r8, qword [rsp + 0x28]
mov r15, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x90]
mov rax, qword [rsp + 0x30]
inc bp
cmp bp, word [rax + 6]
jb 0x1400038a0
mov ecx, dword [rsp + 0x20]
test ecx, ecx
cmove ecx, edx
mov r8d, ecx
cmp r8, r14
ja 0x1400037e5
mov rdx, rsi
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov al, 1
jmp 0x1400037e7
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.1400013a0
lea rdx, [0x140001eb0]
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 0x1400037d5
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.1400013a0
lea rdx, [0x140001eb0]
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 0x1400037cc