Function at 0x140396ec0
Capabilities:
Enumerate pe sections

Disassembly:
push rdi
push rsi
push rbp
push rbx
sub rsp, 0x38
mov eax, dword [rsp + 0x80]
cmp eax, 8
jge 0x140396ffb
xor r10d, r10d
cmp eax, 4
jl 0x140396f9b
movsx r11, dx
add eax, 0xfffffffc
lea rbx, [rcx + r10*2]
movsx rsi, word [rbx]
cmp esi, r11d
je 0x140396ff3
movsx rdi, r8w
cmp esi, edi
je 0x140396ff3
movsx rbp, r9w
cmp esi, ebp
sete sil
movzx esi, sil
test sil, sil
jne 0x140396ff3
movsx rsi, word [rbx + 2]
cmp esi, r11d
je 0x140396fea
cmp esi, edi
je 0x140396fea
cmp esi, ebp
sete sil
movzx esi, sil
test sil, sil
jne 0x140396fea
movsx rsi, word [rbx + 4]
cmp esi, r11d
je 0x140396fe1
cmp esi, edi
je 0x140396fe1
cmp esi, ebp
sete sil
movzx esi, sil
test sil, sil
jne 0x140396fe1
nop dword [rax]
movsx rsi, word [rbx + 6]
cmp esi, r11d
je 0x140396fd8
cmp esi, edi
je 0x140396fd8
cmp esi, ebp
sete sil
movzx esi, sil
test sil, sil
jne 0x140396fd8
add r10, 4
cmp eax, 4
jge 0x140396ee8
test eax, eax
jle 0x140397216
movsx r11, dx
dec eax
movsx rsi, word [rcx + r10*2]
cmp esi, r11d
je 0x140396ff3
movsx rdi, r8w
cmp esi, edi
je 0x140396ff3
movsx rbp, r9w
xor edx, edx
cmp esi, ebp
sete dl
test dl, dl
jne 0x140396ff3
inc r10
test eax, eax
jg 0x140396fa7
jmp 0x140397216
lea eax, [r10 + 3]
jmp 0x14039720d
lea eax, [r10 + 2]
jmp 0x14039720d
lea eax, [r10 + 1]
jmp 0x14039720d
mov eax, r10d
jmp 0x14039720d
movsx r11, dx
movd xmm0, r11d
punpcklwd xmm0, xmm0
pshufd xmm0, xmm0, 0
movsx rdi, r8w
movd xmm1, edi
punpcklwd xmm1, xmm1
pshufd xmm1, xmm1, 0
movsx rbp, r9w
movd xmm2, ebp
punpcklwd xmm2, xmm2
pshufd xmm2, xmm2, 0
mov rdx, rcx
lea r8d, [rax - 8]
movsxd r8, r8d
add r8, r8
lea r10, [rdx + r8]
movups xmm3, xmmword [rdx]
movaps xmm4, xmm0
pcmpeqw xmm4, xmm3
movaps xmm5, xmm1
pcmpeqw xmm5, xmm3
por xmm4, xmm5
pcmpeqw xmm3, xmm2
por xmm3, xmm4
movaps xmmword [rsp + 0x20], xmm3
xorps xmm4, xmm4
pcmpeqw xmm3, xmm4
pmovmskb r9d, xmm3
cmp r9d, 0xffff
jne 0x14039714e
add rdx, 0x10
cmp rdx, r10
jbe 0x140397040
mov ecx, eax
test cl, 7
je 0x140397216
movups xmm3, xmmword [r10]
pcmpeqw xmm0, xmm3
pcmpeqw xmm1, xmm3
por xmm0, xmm1
pcmpeqw xmm2, xmm3
por xmm0, xmm2
movaps xmmword [rsp + 0x20], xmm0
xorps xmm1, xmm1
pcmpeqw xmm0, xmm1
pmovmskb edx, xmm0
cmp edx, 0xffff
je 0x140397216
mov rax, qword [rsp + 0x20]
mov qword [rsp + 8], rax
movzx eax, word [rsp + 8]
shr eax, 0xf
movzx ecx, word [rsp + 0xa]
shr ecx, 0xf
add ecx, ecx
or eax, ecx
movzx ecx, word [rsp + 0xc]
shr ecx, 0xf
shl ecx, 2
or ecx, eax
mov eax, ecx
movzx ecx, word [rsp + 0xe]
shr ecx, 0xf
shl ecx, 3
or ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x28]
mov qword [rsp], rcx
movzx ecx, word [rsp]
shr ecx, 0xf
movzx edx, word [rsp + 2]
shr edx, 0xf
add edx, edx
or ecx, edx
movzx edx, word [rsp + 4]
shr edx, 0xf
shl edx, 2
or edx, ecx
mov ecx, edx
movzx edx, word [rsp + 6]
shr edx, 0xf
shl edx, 3
or edx, ecx
mov ecx, edx
shl ecx, 4
or eax, ecx
jne 0x140397203
mov ecx, 0x20
jmp 0x140397206
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x18], rax
movzx r8d, word [rsp + 0x18]
shr r8d, 0xf
movzx eax, word [rsp + 0x1a]
shr eax, 0xf
add eax, eax
or r8d, eax
movzx eax, word [rsp + 0x1c]
shr eax, 0xf
shl eax, 2
or eax, r8d
mov r8d, eax
movzx eax, word [rsp + 0x1e]
shr eax, 0xf
shl eax, 3
or eax, r8d
mov r8d, eax
mov eax, r8d
mov r8, qword [rsp + 0x28]
mov qword [rsp + 0x10], r8
movzx r8d, word [rsp + 0x10]
shr r8d, 0xf
movzx r10d, word [rsp + 0x12]
shr r10d, 0xf
add r10d, r10d
or r8d, r10d
movzx r10d, word [rsp + 0x14]
shr r10d, 0xf
shl r10d, 2
or r10d, r8d
mov r8d, r10d
movzx r10d, word [rsp + 0x16]
shr r10d, 0xf
shl r10d, 3
or r10d, r8d
mov r8d, r10d
shl r8d, 4
or eax, r8d
jne 0x1403971f1
mov r8d, 0x20
jmp 0x1403971f5
bsf r8d, eax
mov rax, rdx
sub rax, rcx
shr rax, 1
add eax, r8d
jmp 0x14039720d
bsf ecx, eax
shr r8, 1
lea eax, [r8 + rcx]
add rsp, 0x38
pop rbx
pop rbp
pop rsi
pop rdi
ret
mov eax, 0xffffffff
add rsp, 0x38
pop rbx
pop rbp
pop rsi
pop rdi
ret