Function at 0x1400aad10
Capabilities:
Enumerate pe sections

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
movzx ebx, dx
mov rsi, qword [rcx + 0x40]
cmp rsi, rbx
jbe 0x1400ab088
mov rdi, rcx
mov rax, qword [rcx + 0x38]
movzx ecx, word [rax + rbx*2]
mov r9d, ecx
shr r9d, 0xc
je 0x1400aadcf
cmp r9d, 1
jne 0x1400aadb0
mov eax, ecx
and eax, 0xfff
mov rdx, qword [rdi + 0x10]
cmp rdx, rax
jbe 0x1400ab0a6
mov rdx, qword [rdi + 8]
imul r10, rax, 0x32
lea rax, [rdx + r10]
movzx edx, byte [rdx + r10 + 0x30]
cmp dl, 0x10
mov r10d, 0x10
cmovb r10d, edx
movzx edx, r10b
xor r10d, r10d
nop word cs:[rax + rax]
cmp rdx, r10
je 0x1400aadb0
lea r11, [r10 + 1]
cmp byte [rax + r10 + 0x20], r8b
mov r10, r11
jne 0x1400aad90
movzx esi, word [rax + r11*2 - 2]
xor eax, eax
jmp 0x1400aaf1d
cmp r9w, 1
je 0x1400aae32
movzx eax, r9w
test eax, eax
jne 0x1400aae81
mov rdx, qword [rdi + 0x28]
and ecx, 0xfff
jmp 0x1400aae07
and ecx, 0xfff
mov rdx, qword [rdi + 0x28]
cmp rdx, rcx
jbe 0x1400ab0b5
mov eax, ecx
shl eax, 9
add rax, qword [rdi + 0x20]
movzx r9d, r8b
movzx r9d, word [rax + r9*2]
cmp r9d, 0x1000
jae 0x1400aae07
xor eax, eax
mov esi, r9d
jmp 0x1400aaf1d
cmp rdx, rcx
jbe 0x1400ab09a
shl ecx, 9
add rcx, qword [rdi + 0x20]
movzx eax, r8b
mov word [rcx + rax*2], si
mov rbx, qword [rdi + 0x40]
cmp rbx, qword [rdi + 0x30]
je 0x1400aaeff
jmp 0x1400aaf08
and ecx, 0xfff
mov rdx, qword [rdi + 0x10]
cmp rdx, rcx
jbe 0x1400ab0c1
mov rax, qword [rdi + 8]
imul rcx, rcx, 0x32
lea r14, [rax + rcx]
movzx eax, byte [rax + rcx + 0x30]
cmp rax, 0x10
jae 0x1400aaf2e
mov byte [r14 + rax + 0x20], r8b
mov word [r14 + rax*2], si
inc byte [r14 + 0x30]
mov rbx, qword [rdi + 0x40]
cmp rbx, qword [rdi + 0x30]
je 0x1400aaeff
jmp 0x1400aaf08
mov r14, qword [rdi + 0x10]
cmp r14, qword [rdi]
jne 0x1400aae98
mov rcx, rdi
mov ebp, r8d
call fcn.1400ab460
mov r8d, ebp
mov rcx, qword [rdi + 8]
imul rax, r14, 0x32
mov rdx, r14
xorps xmm0, xmm0
movups xmmword [rcx + rax + 0x20], xmm0
movups xmmword [rcx + rax + 0x10], xmm0
movups xmmword [rcx + rax], xmm0
mov byte [rcx + rax + 0x30], 0
inc rdx
mov qword [rdi + 0x10], rdx
je 0x1400ab0cd
mov rcx, qword [rdi + 8]
mov word [rcx + rax], si
mov byte [rcx + rax + 0x20], r8b
mov byte [rcx + rax + 0x30], 1
mov rdx, qword [rdi + 0x40]
cmp rdx, rbx
jbe 0x1400ab0d9
mov rax, qword [rdi + 0x38]
or r14d, 0x1000
mov word [rax + rbx*2], r14w
mov rbx, qword [rdi + 0x40]
cmp rbx, qword [rdi + 0x30]
jne 0x1400aaf08
lea rcx, [rdi + 0x30]
call fcn.14002fcf0
mov rax, qword [rdi + 0x38]
mov word [rax + rbx*2], 0x2000
inc rbx
mov qword [rdi + 0x40], rbx
mov ax, 1
mov edx, esi
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov r15, qword [rdi + 0x28]
cmp r15, qword [rdi + 0x18]
jne 0x1400aaf41
lea rcx, [rdi + 0x18]
call fcn.1400ab510
mov r12, r15
shl r12, 9
mov rcx, qword [rdi + 0x20]
add rcx, r12
mov r8d, 0x200
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov rax, r15
inc rax
mov qword [rdi + 0x28], rax
je 0x1400ab0e8
add r12, qword [rdi + 0x20]
movzx eax, byte [r14 + 0x20]
movzx ecx, word [r14]
mov word [r12 + rax*2], cx
movzx eax, byte [r14 + 0x21]
movzx ecx, word [r14 + 2]
mov word [r12 + rax*2], cx
movzx eax, byte [r14 + 0x22]
movzx ecx, word [r14 + 4]
mov word [r12 + rax*2], cx
movzx eax, byte [r14 + 0x23]
movzx ecx, word [r14 + 6]
mov word [r12 + rax*2], cx
movzx eax, byte [r14 + 0x24]
movzx ecx, word [r14 + 8]
mov word [r12 + rax*2], cx
movzx eax, byte [r14 + 0x25]
movzx ecx, word [r14 + 0xa]
mov word [r12 + rax*2], cx
movzx eax, byte [r14 + 0x26]
movzx ecx, word [r14 + 0xc]
mov word [r12 + rax*2], cx
movzx eax, byte [r14 + 0x27]
movzx ecx, word [r14 + 0xe]
mov word [r12 + rax*2], cx
movzx eax, byte [r14 + 0x28]
movzx ecx, word [r14 + 0x10]
mov word [r12 + rax*2], cx
movzx eax, byte [r14 + 0x29]
movzx ecx, word [r14 + 0x12]
mov word [r12 + rax*2], cx
movzx eax, byte [r14 + 0x2a]
movzx ecx, word [r14 + 0x14]
mov word [r12 + rax*2], cx
movzx eax, byte [r14 + 0x2b]
movzx ecx, word [r14 + 0x16]
mov word [r12 + rax*2], cx
movzx eax, byte [r14 + 0x2c]
movzx ecx, word [r14 + 0x18]
mov word [r12 + rax*2], cx
movzx eax, byte [r14 + 0x2d]
movzx ecx, word [r14 + 0x1a]
mov word [r12 + rax*2], cx
movzx eax, byte [r14 + 0x2e]
movzx ecx, word [r14 + 0x1c]
mov word [r12 + rax*2], cx
movzx eax, byte [r14 + 0x2f]
movzx ecx, word [r14 + 0x1e]
mov word [r12 + rax*2], cx
mov rdx, qword [rdi + 0x40]
cmp rdx, rbx
jbe 0x1400ab0f4
mov rax, qword [rdi + 0x38]
mov word [rax + rbx*2], r15w
mov rbx, qword [rdi + 0x40]
cmp rbx, qword [rdi + 0x30]
je 0x1400aaeff
jmp 0x1400aaf08
lea r8, [0x140176c58]
mov rcx, rbx
mov rdx, rsi
call fcn.14013d950
lea r8, [0x140176d18]
call fcn.14013d950
lea r8, [0x140176c88]
mov rcx, rax
call fcn.14013d950
lea r8, [0x140176c70]
call fcn.14013d950
lea r8, [0x140176cd0]
call fcn.14013d950
lea rcx, [0x140176ca0]
call fcn.14013d7a0
lea r8, [0x140176cb8]
mov rcx, rbx
call fcn.14013d950
lea rcx, [0x140176ce8]
call fcn.14013d7a0
lea r8, [0x140176d00]
mov rcx, rbx
call fcn.14013d950
int3