Function at 0x140028cf0
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x280]
sub rsp, 0x380
mov rax, qword [0x1400bb100]
xor rax, rsp
mov qword [rbp + 0x270], rax
mov rdi, r8
mov qword [rsp + 0x40], r8
mov r12, rdx
mov r15, rcx
xor esi, esi
test rdx, rdx
je 0x140028d95
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x40], xmm0
movups xmmword [rbp + 0x50], xmm0
movups xmmword [rbp + 0x60], xmm0
mov r9d, 0x40
lea r8, [rbp + 0x30]
call fcn.140025870
test al, al
jne 0x140028dc1
lea rdx, [r15 + 0x10]
lea rcx, [rbp - 0x58]
call fcn.140015ed0
lea rcx, str.failed_to_read_dos_header_for_
mov qword [rsp + 0x38], 0x20
mov qword [rsp + 0x30], rcx
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.140018ac0
xor eax, eax
mov rcx, qword [rbp + 0x270]
xor rcx, rsp
call fcn.140067e40
mov rbx, qword [rsp + 0x3d8]
add rsp, 0x380
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov eax, 0x5a4d
cmp word [rbp + 0x30], ax
jne 0x140028d95
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp + 0x70]
call fcn.140091300
movsxd rdx, dword [rbp + 0x6c]
add rdx, r12
mov r9d, 0xf8
lea r8, [rbp + 0x70]
mov rcx, r15
call fcn.140025870
test al, al
jne 0x140028e1c
lea rdx, [r15 + 0x10]
lea rcx, [rbp - 0x58]
call fcn.140015ed0
lea rcx, str.failed_to_read_nt_header_for_
mov qword [rsp + 0x38], 0x1f
jmp 0x140028d78
cmp dword [rbp + 0x70], 0x4550
jne 0x140028d95
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 8], xmm0
movups xmmword [rbp + 0x18], xmm0
mov qword [rbp + 0x28], rax
mov eax, dword [rbp + 0xe8]
add rax, r12
mov qword [rsp + 0x50], rax
mov ecx, dword [rbp + 0xec]
add rcx, rax
mov qword [rsp + 0x30], rcx
mov r9d, 0x28
lea r8, [rbp + 8]
mov rdx, rax
mov rcx, r15
call fcn.140025870
test al, al
jne 0x140028e88
lea rdx, [r15 + 0x10]
lea rcx, [rbp - 0x58]
call fcn.140015ed0
lea rcx, str.failed_to_read_export_dir_for_
jmp 0x140028d6f
mov eax, dword [rbp + 0x24]
add rax, r12
mov qword [rsp + 0x70], rax
mov eax, dword [rbp + 0x2c]
add rax, r12
mov qword [rsp + 0x68], rax
mov eax, dword [rbp + 0x28]
add rax, r12
mov qword [rsp + 0x60], rax
mov r14d, esi
cmp dword [rbp + 0x1c], esi
jbe 0x140028d95
movzx ebx, byte [rsp + 0x78]
nop word [rax + rax]
mov dword [rbp - 0x80], esi
mov dword [rsp + 0x7c], esi
mov word [rsp + 0x78], si
movsxd r13, r14d
lea rdx, [rax + r13*4]
mov r9d, 4
lea r8, [rbp - 0x80]
mov rcx, r15
call fcn.140025870
test al, al
je 0x14002901d
xorps xmm0, xmm0
movups xmmword [rbp - 0x78], xmm0
mov qword [rbp - 0x68], rsi
mov qword [rbp - 0x60], 0xf
mov byte [rbp - 0x78], 0
mov rdi, qword [rdi + 8]
test rdi, rdi
jne 0x140028f18
mov qword [rbp - 0x68], rdi
mov byte [rbp + rdi - 0x78], dil
jmp 0x140028f4b
lea rcx, [rbp - 0x78]
cmp rdi, 0xf
ja 0x140028f37
mov qword [rbp - 0x68], rdi
mov r8, rdi
xor edx, edx
call fcn.140091300
mov byte [rbp + rdi - 0x78], 0
jmp 0x140028f4b
mov byte [rsp + 0x20], 0
mov r9, rdi
movzx r8d, bl
mov rdx, rdi
call fcn.140004700
lea r8, [rbp - 0x78]
cmp qword [rbp - 0x60], 0xf
cmova r8, qword [rbp - 0x78]
mov edx, dword [rbp - 0x80]
add rdx, r12
mov r9, qword [rbp - 0x68]
mov rcx, r15
call fcn.140025870
test al, al
jne 0x140028fb0
mov rdx, qword [rbp - 0x60]
cmp rdx, 0xf
jbe 0x140029018
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140028fa9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400293a7
call fcn.1400681fc
jmp 0x140029018
lea rdx, [rbp - 0x78]
mov rdi, qword [rbp - 0x78]
mov rsi, qword [rbp - 0x60]
cmp rsi, 0xf
cmova rdx, rdi
mov rcx, qword [rsp + 0x40]
mov r8, qword [rcx + 8]
cmp r8, qword [rbp - 0x68]
jne 0x140028fdf
mov rcx, qword [rcx]
call fcn.140091740
test eax, eax
je 0x140029034
cmp rsi, 0xf
jbe 0x140029016
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x14002900e
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400293a7
mov rcx, rdi
call fcn.1400681fc
xor esi, esi
mov rdi, qword [rsp + 0x40]
inc r14d
cmp r14d, dword [rbp + 0x1c]
jae 0x140028d95
mov rax, qword [rsp + 0x60]
jmp 0x140028ec0
mov rax, qword [rsp + 0x68]
lea rdx, [rax + r13*2]
mov r9d, 2
lea r8, [rsp + 0x78]
mov rcx, r15
call fcn.140025870
test al, al
je 0x140029360
movzx eax, word [rsp + 0x78]
mov rcx, qword [rsp + 0x70]
lea rdx, [rcx + rax*4]
mov r9d, 4
lea r8, [rsp + 0x7c]
mov rcx, r15
call fcn.140025870
test al, al
je 0x140029360
mov ebx, dword [rsp + 0x7c]
add rbx, r12
cmp rbx, qword [rsp + 0x50]
jb 0x140029362
cmp rbx, qword [rsp + 0x30]
jae 0x140029362
mov r9d, 0xff
lea r8, [rbp + 0x170]
mov rdx, rbx
mov rcx, r15
call fcn.140025870
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
mov qword [rbp - 8], 0
mov qword [rbp], 0
lea rax, [rbp + 0x170]
mov r12, 0xffffffffffffffff
mov r8, r12
nop
inc r8
cmp byte [rax + r8], 0
jne 0x1400290e0
lea rdx, [rbp + 0x170]
lea rcx, [rbp - 0x18]
call fcn.140002e60
nop
lea rbx, [rbp - 0x18]
mov rdi, qword [rbp - 0x18]
mov rsi, qword [rbp]
cmp rsi, 0xf
cmova rbx, rdi
mov r14, qword [rbp - 8]
test r14, r14
je 0x140029329
mov r8, r14
mov edx, 0x2e
mov rcx, rbx
call fcn.1400916a0
test rax, rax
je 0x140029329
sub rax, rbx
cmp rax, 0xffffffffffffffff
je 0x140029329
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x28], xmm1
lea r13, [rax + 1]
mov r8, r13
cmp r14, r13
cmovb r8, r14
lea rdx, [rbp - 0x18]
cmp rsi, 0xf
cmova rdx, rdi
lea rcx, [rbp - 0x38]
call fcn.140002e60
nop
mov r8d, 3
lea rdx, [0x1400a23a4]
lea rcx, [rbp - 0x38]
call fcn.140003570
lea rdi, [rbp - 0x38]
mov r8, qword [rbp - 0x38]
cmp qword [rbp - 0x20], 0xf
cmova rdi, r8
lea rcx, [rbp - 0x38]
cmova rcx, r8
mov rsi, qword [rbp - 0x28]
add rsi, rcx
lea rbx, [rbp - 0x38]
cmp qword [rbp - 0x20], 0xf
cmova rbx, r8
cmp rbx, rsi
je 0x1400291d3
sub rdi, rbx
movsx ecx, byte [rbx]
call fcn.140075ac0
mov byte [rbx + rdi], al
inc rbx
cmp rbx, rsi
jne 0x1400291c0
xorps xmm0, xmm0
movups xmmword [rbp - 0x58], xmm0
xor edi, edi
mov qword [rbp - 0x48], rdi
mov qword [rbp - 0x40], rdi
mov rax, qword [rbp - 8]
cmp rax, r13
jb 0x1400293ad
sub rax, r13
cmp rax, 0xffffffffffffffff
cmovb r12, rax
lea rdx, [rbp - 0x18]
cmp qword [rbp], 0xf
cmova rdx, qword [rbp - 0x18]
add rdx, r13
mov r8, r12
lea rcx, [rbp - 0x58]
call fcn.140002e60
nop
lea rax, [rbp - 0x58]
cmp qword [rbp - 0x40], 0xf
cmova rax, qword [rbp - 0x58]
mov qword [rsp + 0x50], rax
mov rax, qword [rbp - 0x48]
mov qword [rsp + 0x58], rax
lea rax, [rbp - 0x38]
cmp qword [rbp - 0x20], 0xf
cmova rax, qword [rbp - 0x38]
mov qword [rsp + 0x30], rax
mov rax, qword [rbp - 0x28]
mov qword [rsp + 0x38], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
lea rdx, [rsp + 0x30]
mov rcx, r15
call fcn.1400293c0
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x30], xmm0
lea r8, [rsp + 0x30]
mov rdx, rax
mov rcx, r15
call fcn.140028cf0
mov rbx, rax
mov rdx, qword [rbp - 0x40]
cmp rdx, 0xf
jbe 0x1400292c3
inc rdx
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400292be
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400293b3
call fcn.1400681fc
mov qword [rbp - 0x48], rdi
mov qword [rbp - 0x40], 0xf
mov byte [rbp - 0x58], 0
mov rdx, qword [rbp - 0x20]
cmp rdx, 0xf
jbe 0x14002930e
inc rdx
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140029309
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400293b9
call fcn.1400681fc
movdqa xmm0, xmmword [0x1400abbb0]
movdqu xmmword [rbp - 0x28], xmm0
mov byte [rbp - 0x38], 0
mov rsi, qword [rbp]
mov rdi, qword [rbp - 0x18]
jmp 0x14002932b
xor ebx, ebx
cmp rsi, 0xf
jbe 0x140029362
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x140029356
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400293a1
mov rcx, rdi
call fcn.1400681fc
jmp 0x140029362
xor ebx, ebx
mov rdx, qword [rbp - 0x60]
cmp rdx, 0xf
jbe 0x140029399
inc rdx
mov rcx, qword [rbp - 0x78]
mov r8, rcx
cmp rdx, 0x1000
jb 0x140029394
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub r8, rcx
add r8, 0xfffffffffffffff8
cmp r8, 0x1f
ja 0x1400293a7
call fcn.1400681fc
mov rax, rbx
jmp 0x140028d97
call fcn.1400715d4
nop
call fcn.1400715d4
nop
call fcn.140017e30
int3
call fcn.1400715d4
nop
call fcn.1400715d4
int3