Function at 0x140029660
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 [0x1400bf0c0]
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 0x140029703
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x40], xmm0
movups xmmword [rbp + 0x50], xmm0
movups xmmword [rbp + 0x60], xmm0
lea r9d, [rsi + 0x40]
lea r8, [rbp + 0x30]
call fcn.140026230
test al, al
jne 0x14002972f
lea rdx, [r15 + 0x10]
lea rcx, [rbp - 0x58]
call fcn.1400168f0
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.1400191f0
xor eax, eax
mov rcx, qword [rbp + 0x270]
xor rcx, rsp
call fcn.140068880
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 0x140029703
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp + 0x70]
call fcn.140093730
movsxd rdx, dword [rbp + 0x6c]
add rdx, r12
mov r9d, 0xf8
lea r8, [rbp + 0x70]
mov rcx, r15
call fcn.140026230
test al, al
jne 0x14002978a
lea rdx, [r15 + 0x10]
lea rcx, [rbp - 0x58]
call fcn.1400168f0
lea rcx, str.failed_to_read_nt_header_for_
mov qword [rsp + 0x38], 0x1f
jmp 0x1400296e6
cmp dword [rbp + 0x70], 0x4550
jne 0x140029703
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.140026230
test al, al
jne 0x1400297f6
lea rdx, [r15 + 0x10]
lea rcx, [rbp - 0x58]
call fcn.1400168f0
lea rcx, str.failed_to_read_export_dir_for_
jmp 0x1400296dd
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 0x140029703
movzx ebx, byte [rsp + 0x78]
nop dword [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.140026230
test al, al
je 0x14002998d
xorps xmm0, xmm0
movups xmmword [rbp - 0x78], xmm0
mov qword [rbp - 0x68], rsi
mov qword [rbp - 0x60], send
mov byte [rbp - 0x78], 0
mov rdi, qword [rdi + 8]
test rdi, rdi
jne 0x140029888
mov qword [rbp - 0x68], rdi
mov byte [rbp + rdi - 0x78], dil
jmp 0x1400298bb
lea rcx, [rbp - 0x78]
cmp rdi, 0xf
ja 0x1400298a7
mov qword [rbp - 0x68], rdi
mov r8, rdi
xor edx, edx
call fcn.140093730
mov byte [rbp + rdi - 0x78], 0
jmp 0x1400298bb
mov byte [rsp + 0x20], 0
mov r9, rdi
movzx r8d, bl
mov rdx, rdi
call fcn.140004c30
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.140026230
test al, al
jne 0x140029920
mov rdx, qword [rbp - 0x60]
cmp rdx, 0xf
jbe 0x140029988
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140029919
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140029d17
call fcn.140068c3c
jmp 0x140029988
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 0x14002994f
mov rcx, qword [rcx]
call fcn.140093b70
test eax, eax
je 0x1400299a4
cmp rsi, 0xf
jbe 0x140029986
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x14002997e
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140029d17
mov rcx, rdi
call fcn.140068c3c
xor esi, esi
mov rdi, qword [rsp + 0x40]
inc r14d
cmp r14d, dword [rbp + 0x1c]
jae 0x140029703
mov rax, qword [rsp + 0x60]
jmp 0x140029830
mov rax, qword [rsp + 0x68]
lea rdx, [rax + r13*2]
mov r9d, 2
lea r8, [rsp + 0x78]
mov rcx, r15
call fcn.140026230
test al, al
je 0x140029cd0
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.140026230
test al, al
je 0x140029cd0
mov ebx, dword [rsp + 0x7c]
add rbx, r12
cmp rbx, qword [rsp + 0x50]
jb 0x140029cd2
cmp rbx, qword [rsp + 0x30]
jae 0x140029cd2
mov r9d, 0xff
lea r8, [rbp + 0x170]
mov rdx, rbx
mov rcx, r15
call fcn.140026230
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 0x140029a50
lea rdx, [rbp + 0x170]
lea rcx, [rbp - 0x18]
call fcn.140002fa0
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 0x140029c99
mov r8, r14
mov edx, 0x2e
mov rcx, rbx
call fcn.140093ad0
test rax, rax
je 0x140029c99
sub rax, rbx
cmp rax, 0xffffffffffffffff
je 0x140029c99
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.140002fa0
nop
mov r8d, 3
lea rdx, [0x1400a5a8c]
lea rcx, [rbp - 0x38]
call fcn.1400036f0
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 0x140029b43
sub rdi, rbx
movsx ecx, byte [rbx]
call fcn.140078190
mov byte [rbx + rdi], al
inc rbx
cmp rbx, rsi
jne 0x140029b30
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 0x140029d1d
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.140002fa0
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.140029d30
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x30], xmm0
lea r8, [rsp + 0x30]
mov rdx, rax
mov rcx, r15
call fcn.140029660
mov rbx, rax
mov rdx, qword [rbp - 0x40]
cmp rdx, 0xf
jbe 0x140029c33
inc rdx
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140029c2e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140029d23
call fcn.140068c3c
mov qword [rbp - 0x48], rdi
mov qword [rbp - 0x40], send
mov byte [rbp - 0x58], 0
mov rdx, qword [rbp - 0x20]
cmp rdx, 0xf
jbe 0x140029c7e
inc rdx
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140029c79
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140029d29
call fcn.140068c3c
movdqa xmm0, xmmword [0x1400af580]
movdqu xmmword [rbp - 0x28], xmm0
mov byte [rbp - 0x38], 0
mov rsi, qword [rbp]
mov rdi, qword [rbp - 0x18]
jmp 0x140029c9b
xor ebx, ebx
cmp rsi, 0xf
jbe 0x140029cd2
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x140029cc6
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140029d11
mov rcx, rdi
call fcn.140068c3c
jmp 0x140029cd2
xor ebx, ebx
mov rdx, qword [rbp - 0x60]
cmp rdx, 0xf
jbe 0x140029d09
inc rdx
mov rcx, qword [rbp - 0x78]
mov r8, rcx
cmp rdx, 0x1000
jb 0x140029d04
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub r8, rcx
add r8, 0xfffffffffffffff8
cmp r8, 0x1f
ja 0x140029d17
call fcn.140068c3c
mov rax, rbx
jmp 0x140029705
call fcn.140073bd4
nop
call fcn.140073bd4
nop
call fcn.140018790
int3
call fcn.140073bd4
nop
call fcn.140073bd4
int3