Function at 0x14031c380
Capabilities:
Enumerate pe sections

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x60
mov r11, rcx
mov qword [rsp + 0x58], r13
mov rdi, r8
mov rbx, r9
mov r8, rdx
xor ebp, ebp
xor r12d, r12d
mov dword [rsp + 0x20], ebp
xor esi, esi
mov dword [rsp + 0x24], r12d
movzx r10d, byte [rdi + 3]
xor r14d, r14d
movzx edx, byte [rdi + 6]
mov eax, r10d
movzx ecx, byte [rdi + 2]
xor r15d, r15d
movzx r9d, byte [rdi + 4]
shl eax, 8
or ecx, eax
shr r10d, 2
movzx eax, byte [rdi]
shl ecx, 0x10
or ecx, eax
shl r9d, 6
movzx eax, byte [rdi + 1]
and ecx, 0x3ffffff
shl eax, 8
or r9d, r10d
movzx r10d, byte [rdi + 8]
or ecx, eax
movzx eax, byte [rdi + 5]
and r10d, 0x3ffc
mov dword [rsp + 0x30], ecx
and r9d, 0x3ffff03
mov ecx, edx
shr edx, 4
and ecx, 0xf
shl ecx, 8
or ecx, eax
shl ecx, 0xe
or r9d, ecx
movzx ecx, byte [rdi + 9]
mov dword [rsp + 0x38], r9d
lea eax, [r9 + r9*4]
mov dword [rsp + 0x34], eax
mov eax, ecx
and eax, 0x3f
shr ecx, 6
shl eax, 8
or r10d, eax
movzx eax, byte [rdi + 7]
shl eax, 4
or eax, edx
shl r10d, 0xc
movzx edx, byte [rdi + 0xc]
and eax, 0x3ffc0ff
or r10d, eax
shl edx, 8
movzx eax, byte [rdi + 0xb]
or edx, eax
mov dword [rsp + 0x28], r10d
movzx eax, byte [rdi + 0xa]
and edx, 0xfc0f
shl edx, 8
or edx, eax
shl edx, 2
or edx, ecx
movzx ecx, byte [rdi + 0xf]
and ecx, 0xf
mov dword [rsp + 0x3c], edx
shl ecx, 8
lea eax, [rdx + rdx*4]
mov dword [rsp + 0x2c], eax
movzx eax, byte [rdi + 0xe]
or ecx, eax
movzx eax, byte [rdi + 0xd]
shl ecx, 8
or ecx, eax
mov dword [rsp + 0x40], ecx
lea edi, [rcx + rcx*4]
mov dword [rsp + 0x4c], edi
nop dword [rax]
cmp r8, 0x10
jb 0x14031c4ce
add esi, 0x1000000
jmp 0x14031c53f
test r8, r8
je 0x14031c7bf
xor edx, edx
test r8, r8
je 0x14031c501
mov rax, rbx
sub r11, rbx
mov rdx, r8
nop word [rax + rax]
movzx ecx, byte [rax + r11]
mov byte [rax], cl
lea rax, [rax + 1]
sub r8, 1
jne 0x14031c4f0
lea rax, [rdx + 1]
mov byte [rdx + rbx], 1
cmp rax, 0x10
jae 0x14031c528
mov r8d, reloc.SinoSPE.dll_Ordinal_16
lea rcx, [rax + rbx]
sub r8, rax
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov r10d, dword [rsp + 0x28]
mov r11, rbx
mov qword [rsp + 0xa0], rbx
mov qword [rsp + 0xa8], reloc.SinoSPE.dll_Ordinal_16
movzx edx, byte [r11 + 6]
movzx eax, byte [r11 + 5]
mov r12d, edx
movzx r9d, byte [r11 + 3]
and r12d, 0xf
movzx r8d, byte [r11 + 9]
movzx ecx, byte [r11 + 0xc]
mov ebx, dword [rsp + 0x34]
mov ebp, dword [rsp + 0x2c]
shl r12d, 8
or r12d, eax
mov r13d, edi
movzx eax, byte [r11 + 4]
movzx edi, byte [r11 + 0xf]
shl r12d, 8
or r12d, eax
shl edi, 8
mov eax, r9d
shl ecx, 8
shr eax, 2
and r9d, 3
shl r9d, 8
shl r12d, 6
or r12d, eax
shr edx, 4
movzx eax, byte [r11 + 8]
add r12d, r15d
mov r15d, r8d
shr r8d, 6
and r15d, 0x3f
shl r15d, 8
or r15d, eax
movzx eax, byte [r11 + 7]
shl r15d, 8
or r15d, eax
movzx eax, byte [r11 + 0xb]
or ecx, eax
shl r15d, 4
movzx eax, byte [r11 + 0xa]
or r15d, edx
shl eax, 2
lea edx, [r10 + r10*4]
or eax, r8d
shl ecx, 0xa
and eax, 0x3ffffff
add r15d, r14d
or ecx, eax
movzx eax, byte [r11 + 0xe]
add ecx, dword [rsp + 0x20]
or edi, eax
movzx eax, byte [r11 + 0xd]
shl edi, 8
or edi, eax
mov r14d, ecx
movzx eax, byte [r11 + 2]
add edi, esi
mov esi, dword [rsp + 0x30]
or r9d, eax
movzx eax, byte [r11 + 1]
shl r9d, 8
or r9d, eax
movzx eax, byte [r11]
shl r9d, 8
or r9d, eax
add r9d, dword [rsp + 0x24]
imul rbx, rdi
mov eax, r9d
imul rax, rsi
mov r11d, r9d
add rbx, rax
mov r9d, r10d
mov r10d, dword [rsp + 0x38]
mov eax, ecx
imul rax, rdx
add rbx, rax
mov eax, r15d
imul rax, rbp
add rbx, rax
mov eax, r12d
imul rax, r13
add rbx, rax
mov r8d, dword [rsp + 0x3c]
mov ecx, r10d
imul rcx, r11
mov eax, edi
imul rax, rdx
mov edx, r9d
add rcx, rax
mov eax, esi
imul rax, r12
imul rdx, r11
add rcx, rax
mov eax, r14d
imul rax, rbp
add rcx, rax
mov eax, r15d
imul rax, r13
add rcx, rax
mov rax, rbx
shr rax, 0x1a
and ebx, 0x3ffffff
add rcx, rax
mov eax, ecx
shr rcx, 0x1a
and eax, 0x3ffffff
mov dword [rsp + 0x48], eax
mov eax, esi
imul rax, r15
add rdx, rax
mov eax, r10d
imul rax, r12
add rdx, rax
mov eax, edi
imul rax, rbp
add rdx, rax
mov eax, r14d
imul rax, r13
add rdx, rax
add rdx, rcx
mov ecx, r8d
imul rcx, r11
imul r8, r12
mov eax, edx
shr rdx, 0x1a
and eax, 0x3ffffff
mov dword [rsp + 0x44], eax
mov eax, r10d
imul rax, r15
imul r10, r14
add rcx, rax
mov eax, r9d
imul rax, r12
imul r9, r15
add rcx, rax
mov eax, esi
imul rax, r14
imul rsi, rdi
add rcx, rax
mov eax, edi
imul rax, r13
add rcx, rax
mov eax, dword [rsp + 0x40]
imul rax, r11
mov r11, qword [rsp + 0xa0]
add rcx, rdx
add rax, r8
mov ebp, ecx
add rax, r9
shr rcx, 0x1a
add rax, rsi
and ebp, 0x3ffffff
add rax, r10
mov dword [rsp + 0x20], ebp
add rax, rcx
mov esi, eax
shr rax, 0x1a
and esi, 0x3ffffff
lea r12d, [rax + rax*4]
add r12d, ebx
add r11, 0x10
mov dword [rsp + 0x24], r12d
mov qword [rsp + 0xa0], r11
mov r8, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0xb8]
sub r8, 0x10
mov r10d, dword [rsp + 0x28]
mov r14d, dword [rsp + 0x44]
mov r15d, dword [rsp + 0x48]
mov edi, dword [rsp + 0x4c]
mov qword [rsp + 0xa8], r8
jmp 0x14031c4c0
mov r10, qword [rsp + 0xb0]
lea ecx, [r12 + 5]
shr ecx, 0x1a
add ecx, r15d
shr ecx, 0x1a
movzx eax, byte [r10 + 0x12]
add ecx, r14d
movzx r9d, byte [r10 + 0x13]
movzx r8d, byte [r10 + 0x17]
movzx edx, byte [r10 + 0x1b]
shr ecx, 0x1a
add ecx, ebp
shl r8, 8
shr ecx, 0x1a
add ecx, esi
shl r9, 8
or r9, rax
shr ecx, 0x1a
movzx eax, byte [r10 + 0x11]
shl rdx, 8
shl r9, 8
or r9, rax
shl esi, 8
movzx eax, byte [r10 + 0x10]
shl r9, 8
or r9, rax
lea eax, [r12 + rcx*4]
add eax, ecx
mov ecx, r15d
add r9, rax
shl ecx, 0x1a
movzx eax, byte [r10 + 0x16]
add r9, rcx
or r8, rax
mov ecx, r14d
movzx eax, byte [r10 + 0x15]
shl ecx, 0x14
shl r8, 8
or r8, rax
movzx eax, byte [r10 + 0x14]
shl r8, 8
or r8, rax
mov eax, r15d
shr rax, 6
add r8, rcx
add r8, rax
mov ecx, ebp
shl ecx, 0xe
mov rax, r9
shr rax, 0x20
add r8, rax
movzx eax, byte [r10 + 0x1a]
or rdx, rax
movzx eax, byte [r10 + 0x19]
shl rdx, 8
or rdx, rax
movzx eax, byte [r10 + 0x18]
shl rdx, 8
or rdx, rax
mov eax, r14d
add rdx, rcx
shr rax, 0xc
movzx ecx, byte [r10 + 0x1f]
add rdx, rax
shl rcx, 8
mov rax, r8
shr rax, 0x20
add rdx, rax
movzx eax, byte [r10 + 0x1e]
or rcx, rax
movzx eax, byte [r10 + 0x1d]
shl rcx, 8
or rcx, rax
movzx eax, byte [r10 + 0x1c]
shl rcx, 8
or rcx, rax
mov eax, esi
add rcx, rax
mov eax, ebp
shr rax, 0x12
add rcx, rax
mov r13, qword [rsp + 0x58]
mov rax, rdx
shr rax, 0x20
add rcx, rax
mov byte [rbx], r9b
mov eax, r9d
mov byte [rbx + 4], r8b
shr eax, 8
mov byte [rbx + 1], al
mov eax, r9d
shr eax, 0x10
mov byte [rbx + 2], al
mov eax, r8d
shr eax, 8
mov byte [rbx + 5], al
mov eax, r8d
shr eax, 0x10
mov byte [rbx + 6], al
mov eax, edx
shr eax, 8
mov byte [rbx + 9], al
mov eax, edx
shr eax, 0x10
mov byte [rbx + 0xa], al
mov eax, ecx
shr eax, 8
mov byte [rbx + 0xd], al
mov eax, ecx
shr eax, 0x10
shr r9d, 0x18
shr r8d, 0x18
mov byte [rbx + 8], dl
shr edx, 0x18
mov byte [rbx + 0xc], cl
shr ecx, 0x18
mov byte [rbx + 0xf], cl
mov byte [rbx + 3], r9b
mov byte [rbx + 7], r8b
mov byte [rbx + 0xb], dl
mov byte [rbx + 0xe], al
add rsp, 0x60
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret