Function at 0x140051a70
Capabilities:
Enumerate pe sections
Parse pe header

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r15
sub rsp, 0x60
mov rax, qword [0x140106010]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov rdi, qword [rsp + 0xb0]
xor r15d, r15d
mov esi, r9d
mov rbx, r8
mov rbp, rcx
mov dword [rdi], r15d
mov word [rdi + 4], r15w
mov byte [rdi + 6], r15b
test r9d, r9d
je 0x140051c03
cmp qword [rcx + 0xd0], r15
je 0x140051bd1
mov rcx, qword [rcx + 0xe0]
test rcx, rcx
je 0x140051bd1
mov rax, qword [rcx]
mov qword [rsp + 0x98], r14
mov rax, qword [rax + 8]
call qword [case.0x14007fe1f.0]
mov r14, rax
test rax, rax
je 0x140051bc4
mov rcx, qword [rbp + 0xe0]
mov rdx, qword [rcx]
mov rax, qword [rdx + 0x18]
mov rdx, r14
call qword [case.0x14007fe1f.0]
test al, al
je 0x140051bad
mov rcx, qword [rbp + 0xe0]
mov r9, r14
mov r8d, esi
mov rdx, rbx
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [case.0x14007fe1f.0]
mov rcx, qword [rbp + 0xe0]
lea rdx, [rsp + 0x30]
xorps xmm0, xmm0
mov r8, r14
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x40], xmm0
mov rax, qword [rcx]
mov rax, qword [rax + 0x28]
call qword [case.0x14007fe1f.0]
test al, al
je 0x140051bad
mov rcx, qword [rbp + 0xd0]
lea rdx, [rsp + 0x30]
mov rax, qword [rcx]
mov rax, qword [rax]
call qword [case.0x14007fe1f.0]
lea r8d, [r15 + 0x20]
mov byte [rdi + 4], al
lea rdx, [0x1400e4790]
lea rcx, [rsp + 0x30]
call fcn.140097570
test eax, eax
je 0x140051ba7
lea r8d, [r15 + 0x20]
lea rdx, [0x1400e47c0]
lea rcx, [rsp + 0x30]
call fcn.140097570
test eax, eax
jne 0x140051bad
mov dword [rdi], 0x7b9a
mov rcx, qword [rbp + 0xe0]
mov rdx, r14
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14007fe1f.0]
mov r14, qword [rsp + 0x98]
cmp dword [rdi], r15d
jne 0x140051c03
cmp esi, 0x138
jae 0x140051c1d
cmp esi, 0x4c
jb 0x140051c03
cmp dword [rbx], 0x4c
jne 0x140051c03
mov rax, qword [rbx + 4]
cmp rax, qword [0x1400e47b0]
jne 0x140051c03
mov rax, qword [rbx + 0xc]
cmp rax, qword [0x1400e47b8]
jne 0x140051c03
mov dword [rdi], 2
mov al, 1
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.140091ba0
add rsp, 0x60
pop r15
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov edx, 0x5a4d
cmp word [rbx], dx
jne 0x140051bde
movsxd rcx, dword [rbx + 0x3c]
mov r9d, 0x10b
lea eax, [rcx + 0xf8]
cmp eax, esi
ja 0x140051c57
cmp dword [rcx + rbx], 0x4550
jne 0x140051bde
movzx eax, word [rcx + rbx + 0x18]
mov ecx, 0xfeff
sub ax, r9w
test cx, ax
jne 0x140051bde
mov dword [rdi], 1
cmp word [rbx], dx
jne 0x140051c03
mov ecx, dword [rbx + 0x3c]
lea rax, [rcx + 0xf8]
cmp rax, rsi
ja 0x140051c03
movsxd r8, ecx
add r8, rbx
cmp dword [r8], 0x4550
jne 0x140051c03
movzx eax, word [r8 + 0x18]
cmp ax, r9w
jne 0x140051c95
mov eax, 0x98
lea ecx, [rax - 0x20]
jmp 0x140051cbf
mov r9d, 0x20b
cmp ax, r9w
jne 0x140051c03
lea rax, [rcx + 0x108]
cmp rax, rsi
ja 0x140051c03
mov eax, 0xa8
mov ecx, 0x88
movzx r9d, word [r8 + 6]
lea r10, [rcx + r8]
mov ebp, dword [r8 + 0x28]
lea r11, [rax + r8]
movzx eax, word [r8 + 0x14]
lea rcx, [r8 + 0x18]
add rcx, rax
movzx edx, r15w
cmp r15w, r9w
jae 0x140051d16
nop word [rax + rax]
mov eax, ecx
sub eax, ebx
add eax, 0x28
cmp eax, esi
ja 0x140051d16
test dword [rcx + 0x24], 0x20000020
jne 0x140051d13
inc dx
add rcx, 0x28
cmp dx, r9w
jb 0x140051cf0
jmp 0x140051d16
mov r15, rcx
test r10, r10
je 0x140051d26
cmp dword [r10 + 4], 0
jbe 0x140051d26
mov al, 1
jmp 0x140051d28
xor al, al
test r11, r11
je 0x140051d38
cmp dword [r11 + 4], 0
jbe 0x140051d38
mov cl, 1
jmp 0x140051d3a
xor cl, cl
test r15, r15
jne 0x140051d52
test ebp, ebp
jne 0x140051d52
test al, al
jne 0x140051d52
mov byte [rdi + 5], al
mov byte [rdi + 6], cl
jmp 0x140051c03
mov al, 1
mov byte [rdi + 6], cl
mov byte [rdi + 5], al
jmp 0x140051c03