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

Disassembly:
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r13
push r15
sub rsp, 0x40
xor eax, eax
mov rbp, r8
mov r13, rcx
mov r8d, 0x280
mov rcx, r9
xor edx, edx
mov r15d, eax
mov edi, eax
mov rsi, r9
call fcn.1800067f0
mov r11, qword [rsp + 0x78]
cmp r11, 0x40
jb 0x1800014c5
mov eax, 0x5a4d
cmp word [r13], ax
jne 0x1800014c5
mov edx, dword [r13 + 0x3c]
lea rax, [rdx + 0x18]
lea r10, [rdx + r13]
mov qword [rsp + 0x70], r10
cmp r11, rax
jb 0x1800014c5
cmp dword [r10], 0x4550
jne 0x1800014c5
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x38], r12
cmp edx, 0x40
jb 0x1800010b8
lea rax, [rdx - 0x40]
test rax, rax
je 0x1800010b8
lea r15, [r13 + 0x40]
mov rdi, rax
movzx ecx, word [r10 + 0x14]
lea rbx, [r10 + 0x18]
mov r12d, 0x10b
test cx, cx
je 0x1800010ed
movzx eax, cx
sub rax, r13
add rax, rbx
cmp r11, rax
jb 0x18000110f
movzx eax, word [rbx]
mov r8d, 0xfeff
sub ax, r12w
test r8w, ax
jne 0x18000110f
movzx r9d, word [r10 + 6]
movzx r8d, cx
lea rax, [r9 + r9*4]
lea rcx, [r8 + rax*8]
lea rax, [rdx + 0x18]
add rax, rcx
mov qword [rsp + 0x20], rax
cmp r11, rax
jae 0x180001116
xor al, al
jmp 0x18000146c
mov qword [rsp + 0x30], r14
lea rax, [r8 + rdx]
lea r14, [r13 + 0x18]
add r14, rax
cmp word [rbx], r12w
mov r12d, dword [rbx + 0x3c]
xor edx, edx
test r9, r9
je 0x180001165
mov r8, qword [rsp + 0x20]
lea rcx, [r14 + 0x14]
nop
cmp dword [rcx - 4], 0
jbe 0x180001159
mov eax, dword [rcx]
cmp rax, r12
jae 0x180001159
cmp rax, r8
jb 0x1800014c1
mov r12d, eax
inc rdx
add rcx, 0x28
cmp rdx, r9
jb 0x180001140
cmp r12, r11
jbe 0x18000116f
mov r12, r11
jmp 0x180001180
test r9w, r9w
je 0x180001180
mov eax, dword [r14 + 0x14]
cmp r12, rax
cmovb r12, rax
movups xmm0, xmmword [r13]
movups xmmword [rsi], xmm0
movups xmm1, xmmword [r13 + 0x10]
movups xmmword [rsi + 0x10], xmm1
movups xmm0, xmmword [r13 + 0x20]
movups xmmword [rsi + 0x20], xmm0
movups xmm1, xmmword [r13 + 0x30]
movups xmmword [rsi + 0x30], xmm1
movups xmm0, xmmword [r10]
movups xmmword [rsi + 0x40], xmm0
movsd xmm1, qword [r10 + 0x10]
movsd qword [rsi + 0x50], xmm1
test r15, r15
je 0x1800011de
mov rcx, rdi
call fcn.1800060c8
mov r8, rdi
mov rdx, r15
mov rcx, rax
mov qword [rsi + 0x58], rax
mov qword [rsi + 0x60], rdi
call fcn.180006270
mov r10, qword [rsp + 0x70]
movzx eax, word [r10 + 0x14]
test ax, ax
je 0x1800012ad
mov ecx, 0x10b
movzx r8d, ax
cmp word [rbx], cx
jne 0x180001236
mov r15d, 0xe0
cmp ax, r15w
jb 0x180001209
mov r8d, r15d
lea rcx, [rsi + 0x68]
mov rdx, rbx
call fcn.180006270
mov r10, qword [rsp + 0x70]
movzx eax, word [r10 + 0x14]
cmp ax, r15w
jbe 0x1800012ad
mov edi, dword [r13 + 0x3c]
add rdi, 0xf8
jmp 0x18000126f
mov r15d, 0xf0
cmp ax, r15w
jb 0x180001245
mov r8d, r15d
lea rcx, [rsi + 0x148]
mov rdx, rbx
call fcn.180006270
mov r10, qword [rsp + 0x70]
movzx eax, word [r10 + 0x14]
cmp ax, r15w
jbe 0x1800012ad
mov edi, dword [r13 + 0x3c]
add rdi, 0x108
movzx ebx, ax
sub rbx, r15
test rdi, rdi
je 0x1800012ad
mov rcx, rbx
mov qword [rsi + 0x240], rbx
call fcn.1800060c8
mov qword [rsi + 0x238], rax
test rax, rax
je 0x1800014b9
lea rdx, [rdi + r13]
mov r8, rbx
mov rcx, rax
call fcn.180006270
mov r10, qword [rsp + 0x70]
test r14, r14
je 0x180001485
movzx eax, word [r10 + 6]
test ax, ax
je 0x180001485
movzx eax, ax
lea rcx, [rax + rax*4]
shl rcx, 3
call fcn.1800060c8
mov rcx, rax
mov qword [rsi + 0x248], rax
test rax, rax
je 0x1800014b9
mov rax, qword [rsp + 0x70]
mov rdx, r14
movzx eax, word [rax + 6]
lea r8, [rax + rax*4]
shl r8, 3
call fcn.180006270
test rbp, rbp
je 0x18000130f
cmp byte [rbp], 0
jne 0x180001490
mov rbp, qword [rsp + 0x70]
movzx ecx, word [rbp + 6]
shl rcx, 4
call fcn.1800060c8
mov qword [rsi + 0x250], rax
xor eax, eax
mov edi, eax
cmp ax, word [rbp + 6]
jae 0x18000142f
mov r15d, eax
lea rax, [r14 + 0x14]
mov qword [rsp + 0x70], rax
mov r14, rax
nop word [rax + rax]
mov eax, dword [r14 - 4]
test eax, eax
je 0x180001417
mov ecx, eax
mov rax, qword [rsi + 0x250]
mov qword [r15 + rax + 8], rcx
mov rbx, qword [rsi + 0x250]
mov rcx, qword [rbx + r15 + 8]
call fcn.1800060c8
mov qword [rbx + r15], rax
mov rax, qword [rsi + 0x250]
mov rcx, qword [r15 + rax]
test rcx, rcx
je 0x1800014b9
mov edx, dword [r14]
mov r8, qword [r15 + rax + 8]
add rdx, r13
call fcn.180006270
mov ebx, dword [r14]
mov r10d, dword [r14 - 4]
movzx r9d, word [rbp + 6]
mov r11, qword [rsp + 0x78]
xor eax, eax
add r10d, ebx
mov r8d, eax
test r9, r9
je 0x1800013f6
mov rdx, qword [rsp + 0x70]
cmp rdi, r8
je 0x1800013ea
mov eax, dword [rdx]
cmp rax, r10
je 0x180001417
jbe 0x1800013de
cmp rax, r11
jae 0x1800013de
mov r11d, eax
jmp 0x1800013ea
cmp eax, ebx
ja 0x1800013ea
add eax, dword [rdx - 4]
cmp rax, r10
jae 0x180001417
inc r8
add rdx, 0x28
cmp r8, r9
jb 0x1800013c6
cmp r10, r11
je 0x180001417
sub r11, r10
mov r9, rsi
mov rdx, r10
mov r8, r11
mov rcx, r13
call fcn.180001f50
test al, al
je 0x1800014b9
movzx eax, word [rbp + 6]
inc rdi
add r15, 0x10
add r14, 0x28
cmp rdi, rax
jb 0x180001350
mov rbx, qword [rsp + 0x20]
mov qword [rsi + 0x268], rbx
sub r12, rbx
je 0x180001465
mov rcx, r12
mov qword [rsi + 0x260], r12
call fcn.1800060c8
lea rdx, [rbx + r13]
mov r8, r12
mov rcx, rax
mov qword [rsi + 0x258], rax
call fcn.180006270
mov al, 1
mov r14, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x80]
mov r12, qword [rsp + 0x38]
add rsp, 0x40
pop r15
pop r13
pop rdi
pop rsi
pop rbp
ret
test rbp, rbp
je 0x18000142f
cmp byte [rbp], 0
je 0x180001496
cmp byte [rbp + 1], 0
je 0x18000142f
mov rax, qword [rsp + 0x78]
sub rax, r12
je 0x18000142f
mov r9, rsi
mov r8, rax
mov rdx, r12
mov rcx, r13
call fcn.180001f50
test al, al
jne 0x18000142f
mov rcx, rsi
call fcn.180001a50
xor al, al
jmp 0x180001467
xor al, al
add rsp, 0x40
pop r15
pop r13
pop rdi
pop rsi
pop rbp
ret