Function at 0x140003c20
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r15, rdx
mov r13, r8
mov edx, 5
mov rbp, rcx
call fcn.140003050
test rax, rax
je 0x140003f2d
test rbp, rbp
je 0x140003f1a
cmp rax, rbp
jb 0x140003f1a
mov rcx, rax
sub rcx, rbp
lea rdx, [rcx + 8]
cmp rdx, r15
ja 0x140003f1a
cmp rdx, 8
jb 0x140003f1a
cmp rdx, rcx
jb 0x140003f1a
mov esi, dword [rax + 4]
mov edx, 0x40
mov ebx, dword [rax]
mov rcx, rbp
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x78], ebx
call qword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x140003cfa
mov eax, 0x5a4d
cmp word [rbp], ax
jne 0x140003cfa
movsxd rax, dword [rbp + 0x3c]
cmp eax, 0x400
jg 0x140003cfa
lea rbx, [rax + rbp]
mov edx, 0xf8
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x140003cf6
cmp dword [rbx], 0x4550
jne 0x140003cf6
test rbx, rbx
je 0x140003cf6
mov edx, 0xf8
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_IsBadReadPtr]
mov ebx, dword [rsp + 0x78]
xor r9d, r9d
mov dword [rsp + 0x20], r9d
test esi, esi
je 0x140003f16
mov r11d, 0x1000
lea eax, [r9 + rbx]
lea r12, [rax + rbp]
mov ecx, eax
test r12, r12
je 0x140003f2d
cmp r12, rbp
jb 0x140003f2d
add rax, 8
cmp rax, r15
ja 0x140003f2d
cmp rax, 8
jb 0x140003f2d
cmp rax, rcx
jb 0x140003f2d
mov eax, dword [r12 + 4]
test eax, eax
je 0x140003f16
mov r10d, dword [r12]
lea r14, [rax - 8]
shr r14, 1
lea rax, [r12 + 8]
mov dword [rsp + 0x24], r10d
test rax, rax
je 0x140003f0d
cmp rax, rbp
jb 0x140003f0d
sub rax, rbp
lea rbx, [rax + 2]
cmp rbx, r15
ja 0x140003f0d
cmp rbx, 2
jb 0x140003f0d
cmp rbx, rax
jb 0x140003f0d
test r14, r14
je 0x140003e91
xor r8d, r8d
test r14, r14
je 0x140003e91
mov rax, rbx
nop dword [rax + rax]
lea rdx, [rbp - 2]
add rdx, rax
je 0x140003df9
cmp rdx, rbp
jb 0x140003df9
cmp rax, r15
ja 0x140003df9
cmp rax, 2
jb 0x140003df9
lea rcx, [rax - 2]
cmp rax, rcx
jb 0x140003df9
cmp word [rdx], r11w
jae 0x140003df9
add rax, 2
inc r8
cmp r8, r14
jb 0x140003dc0
jmp 0x140003e91
xor edi, edi
nop dword [rax + rax]
lea rcx, [rbp - 2]
add rcx, rbx
je 0x140003e79
cmp rcx, rbp
jb 0x140003e79
cmp rbx, r15
ja 0x140003e79
cmp rbx, 2
jb 0x140003e79
lea rax, [rbx - 2]
cmp rbx, rax
jb 0x140003e79
movzx r8d, word [rcx]
mov eax, r8d
shr r8d, 0xc
and eax, 0xfff
test r8d, r8d
je 0x140003e79
cmp r8d, 3
je 0x140003e43
cmp r8d, 0xa
jne 0x140003ea9
lea esi, [rax + r10]
mov ecx, esi
cmp rcx, r15
jae 0x140003ef8
test r13, r13
je 0x140003e6d
mov rax, qword [r13]
lea rdx, [rsi + rbp]
mov rcx, r13
call qword [rax]
test al, al
je 0x140003ebe
mov r10d, dword [rsp + 0x24]
add rbx, 2
inc rdi
cmp rdi, r14
jb 0x140003e00
test rdi, rdi
je 0x140003f2d
mov r9d, dword [rsp + 0x20]
mov r11d, 0x1000
mov esi, dword [rsp + 0x28]
add r9d, dword [r12 + 4]
mov dword [rsp + 0x20], r9d
cmp r9d, esi
jae 0x140003f16
mov ebx, dword [rsp + 0x78]
jmp 0x140003d10
test r13, r13
je 0x140003f2d
mov edx, edi
lea rcx, str.____Not_supported_relocations_format_at__d:__d_n
call fcn.140003450
jmp 0x140003f2d
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.____Failed_processing_reloc_field_at:
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, esi
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]
mov rcx, rax
lea rdx, [0x14000d790]
jmp 0x140003f28
test r13, r13
je 0x140003f2d
mov edx, esi
lea rcx, str.____Malformed_field:__lx_n
call fcn.140003450
jmp 0x140003f2d
lea rdx, str.____Invalid_address_of_relocations_block_n
jmp 0x140003f21
mov al, 1
jmp 0x140003f2f
lea rdx, str.____Invalid_relocDir_pointer_n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400013d0
xor al, al
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret