Function at 0x140004be0
Capabilities:
Enumerate pe sections

Disassembly:
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
mov rdi, r8
mov r14, rdx
mov r8d, dword [rcx + 0x10]
mov rsi, rcx
lea eax, [r8 + rdi*8]
mov dword [rcx + 0x10], eax
cmp eax, r8d
jae 0x140004c0c
inc dword [rcx + 0x14]
mov eax, edi
shr r8d, 3
shr eax, 0x1d
add dword [rcx + 0x14], eax
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rbp
and r8d, 0x3f
je 0x140004e84
mov ebp, 0x40
mov ecx, r8d
add rcx, 0x18
sub ebp, r8d
add rcx, rsi
cmp rdi, rbp
jb 0x1400050ff
mov r8d, ebp
call fcn.14004c3b0
lea rbx, [rsi + 0x18]
movzx eax, byte [rbx + 2]
movzx ecx, byte [rbx + 3]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 6]
mov dword [rbx], ecx
movzx ecx, byte [rbx + 7]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 5]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 4]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0xa]
mov dword [rbx + 4], ecx
movzx ecx, byte [rbx + 0xb]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 9]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 8]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0xe]
mov dword [rbx + 8], ecx
movzx ecx, byte [rbx + 0xf]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0xd]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0xc]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x12]
mov dword [rbx + 0xc], ecx
movzx ecx, byte [rbx + 0x13]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x11]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x10]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x16]
mov dword [rbx + 0x10], ecx
movzx ecx, byte [rbx + 0x17]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x15]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x14]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x1a]
mov dword [rbx + 0x14], ecx
movzx ecx, byte [rbx + 0x1b]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x19]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x18]
shl ecx, 8
or ecx, eax
mov dword [rbx + 0x18], ecx
movzx ecx, byte [rbx + 0x1f]
shl ecx, 8
movzx eax, byte [rbx + 0x1e]
or ecx, eax
movzx eax, byte [rbx + 0x1d]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x1c]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x22]
mov dword [rbx + 0x1c], ecx
movzx ecx, byte [rbx + 0x23]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x21]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x20]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x26]
mov dword [rbx + 0x20], ecx
movzx ecx, byte [rbx + 0x27]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x25]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x24]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x2a]
mov dword [rbx + 0x24], ecx
movzx ecx, byte [rbx + 0x2b]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x29]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x28]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x2e]
mov dword [rbx + 0x28], ecx
movzx ecx, byte [rbx + 0x2f]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x2d]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x2c]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x32]
mov dword [rbx + 0x2c], ecx
movzx ecx, byte [rbx + 0x33]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x31]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x30]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x36]
mov dword [rbx + 0x30], ecx
movzx ecx, byte [rbx + 0x37]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x35]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x34]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x3a]
mov dword [rbx + 0x34], ecx
movzx ecx, byte [rbx + 0x3b]
shl ecx, 8
or ecx, eax
shl ecx, 8
movzx eax, byte [rbx + 0x39]
mov rdx, rbx
or ecx, eax
movzx eax, byte [rbx + 0x38]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x3e]
mov dword [rbx + 0x38], ecx
movzx ecx, byte [rbx + 0x3f]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x3d]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x3c]
shl ecx, 8
or ecx, eax
mov dword [rbx + 0x3c], ecx
mov rcx, rsi
call fcn.1400043f0
add r14, rbp
sub rdi, rbp
jmp 0x140004e88
lea rbx, [rcx + 0x18]
cmp rdi, 0x40
jb 0x1400050f9
mov rbp, rdi
shr rbp, 6
imul rax, rbp, 0xffffffffffffffc0
add rdi, rax
movups xmm0, xmmword [r14]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [r14 + 0x10]
movups xmmword [rbx + 0x10], xmm1
movups xmm0, xmmword [r14 + 0x20]
movups xmmword [rbx + 0x20], xmm0
movups xmm1, xmmword [r14 + 0x30]
movups xmmword [rbx + 0x30], xmm1
movzx eax, byte [rbx + 2]
movzx ecx, byte [rbx + 3]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 6]
mov dword [rbx], ecx
movzx ecx, byte [rbx + 7]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 5]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 4]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0xa]
mov dword [rbx + 4], ecx
movzx ecx, byte [rbx + 0xb]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 9]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 8]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0xe]
mov dword [rbx + 8], ecx
movzx ecx, byte [rbx + 0xf]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0xd]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0xc]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x12]
mov dword [rbx + 0xc], ecx
movzx ecx, byte [rbx + 0x13]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x11]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x10]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x16]
mov dword [rbx + 0x10], ecx
movzx ecx, byte [rbx + 0x17]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x15]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x14]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x1a]
mov dword [rbx + 0x14], ecx
movzx ecx, byte [rbx + 0x1b]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x19]
shl ecx, 8
or ecx, eax
shl ecx, 8
movzx eax, byte [rbx + 0x18]
or ecx, eax
movzx eax, byte [rbx + 0x1e]
mov dword [rbx + 0x18], ecx
movzx ecx, byte [rbx + 0x1f]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x1d]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x1c]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x22]
mov dword [rbx + 0x1c], ecx
movzx ecx, byte [rbx + 0x23]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x21]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x20]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x26]
mov dword [rbx + 0x20], ecx
movzx ecx, byte [rbx + 0x27]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x25]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x24]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x2a]
mov dword [rbx + 0x24], ecx
movzx ecx, byte [rbx + 0x2b]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x29]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x28]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x2e]
mov dword [rbx + 0x28], ecx
movzx ecx, byte [rbx + 0x2f]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x2d]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x2c]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x32]
mov dword [rbx + 0x2c], ecx
movzx ecx, byte [rbx + 0x33]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x31]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x30]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x36]
mov dword [rbx + 0x30], ecx
movzx ecx, byte [rbx + 0x37]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x35]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x34]
shl ecx, 8
or ecx, eax
mov dword [rbx + 0x34], ecx
movzx ecx, byte [rbx + 0x3b]
mov rdx, rbx
movzx eax, byte [rbx + 0x3a]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x39]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x38]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x3e]
mov dword [rbx + 0x38], ecx
movzx ecx, byte [rbx + 0x3f]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x3d]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x3c]
shl ecx, 8
or ecx, eax
mov dword [rbx + 0x3c], ecx
mov rcx, rsi
call fcn.1400043f0
add r14, 0x40
sub rbp, 1
jne 0x140004ea0
mov rdx, r14
mov rcx, rbx
mov r8, rdi
mov rbp, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
jmp fcn.14004c3b0