Function at 0x14005c980
Capabilities:
Enumerate pe sections

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x118
test rcx, rcx
je 0x14005ca17
mov rsi, rcx
mov ecx, dword [rcx]
mov eax, 2
cmp ecx, 0xf4240
je 0x14005cbe3
mov ebp, r8d
mov dword [rsp + 0x2c], ecx
mov byte [rsp + 0x2b], 3
mov eax, r8d
shr eax, 5
xor edi, edi
test bpl, 0x1f
setne dil
movups xmm0, xmmword [rsi + 4]
movups xmm1, xmmword [rsi + 0x14]
movups xmm2, xmmword [rsi + 0x24]
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x40], xmm1
movaps xmmword [rsp + 0x50], xmm2
mov rcx, qword [rsi + 0x33]
mov qword [rsp + 0x5f], rcx
mov r14d, 1
mov r13d, 1
add edi, eax
je 0x14005caf9
mov rbx, rdx
xor r15d, r15d
lea r14, [rsp + 0x90]
lea r12, [rsp + 0x70]
jmp 0x14005ca4c
mov eax, 1
jmp 0x14005cbe3
mov r8d, ebp
mov rcx, rbx
mov rdx, r12
call sub.msvcrt.dll_memcpy
xor ebp, ebp
inc r15d
cmp r15d, edi
je 0x14005caf0
mov rcx, r14
call fcn.1400a0c30
test eax, eax
jne 0x14005cade
mov rcx, r14
lea rdx, [rsp + 0x30]
mov r8d, 0x37
call fcn.1400a0550
test eax, eax
jne 0x14005cade
mov rcx, r14
mov rdx, r12
call fcn.1400a0830
mov r13d, eax
mov rcx, r14
call fcn.1400a0c70
test r13d, r13d
jne 0x14005caf3
test rbx, rbx
je 0x14005ca40
test ebp, ebp
je 0x14005ca40
cmp ebp, 0x20
jb 0x14005ca30
movaps xmm0, xmmword [rsp + 0x70]
movaps xmm1, xmmword [rsp + 0x80]
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx], xmm0
mov eax, 0x36
nop word cs:[rax + rax]
mov edx, eax
sub eax, 1
setb cl
inc byte [rsp + rdx + 0x30]
jne 0x14005cad2
test cl, cl
je 0x14005cac0
add ebp, 0xffffffe0
add rbx, 0x20
jmp 0x14005ca40
mov r13d, eax
lea rcx, [rsp + 0x90]
call fcn.1400a0c70
jmp 0x14005caf3
xor r13d, r13d
mov r14d, 1
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], 0
mov byte [rsp + 0x60], 0
mov byte [rsp + 0x61], 0
mov byte [rsp + 0x62], 0
mov byte [rsp + 0x63], 0
mov byte [rsp + 0x64], 0
mov byte [rsp + 0x65], 0
mov byte [rsp + 0x66], 0
test r13d, r13d
jne 0x14005cbb7
lea rcx, [rsp + 0x90]
call fcn.1400a0c30
mov r14d, eax
test eax, eax
jne 0x14005cba8
lea rcx, [rsp + 0x90]
lea rdx, [rsp + 0x2b]
mov r8d, 1
call fcn.1400a0550
mov r14d, eax
test eax, eax
jne 0x14005cba8
lea rdx, [rsi + 4]
lea rcx, [rsp + 0x90]
mov r8d, 0x37
call fcn.1400a0550
mov r14d, eax
test eax, eax
je 0x14005cbf7
lea rcx, [rsp + 0x90]
call fcn.1400a0c70
inc dword [rsi]
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], 0
xor eax, eax
test r14d, r14d
setne al
add rsp, 0x118
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rbx, [rsp + 0x90]
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.1400a0830
mov r14d, eax
mov rcx, rbx
call fcn.1400a0c70
test r14d, r14d
jne 0x14005cbb5
xor eax, eax
xor ecx, ecx
movzx edx, byte [rsi + rax + 0x3a]
movzx r8d, byte [rsp + rax + 0x4f]
add ecx, edx
add ecx, r8d
mov byte [rsi + rax + 0x3a], cl
movzx ecx, ch
movzx edx, byte [rsi + rax + 0x39]
movzx ebx, byte [rsp + rax + 0x4e]
add ebx, edx
add ebx, ecx
mov byte [rsi + rax + 0x39], bl
movzx ecx, bh
add rax, 0xfffffffffffffffe
cmp rax, 0xffffffffffffffe0
jne 0x14005cc20
movzx eax, byte [rsi + 0x1a]
movzx ecx, cx
add ecx, eax
mov byte [rsi + 0x1a], cl
shr ecx, 8
movzx eax, byte [rsi + 0x19]
add eax, ecx
mov byte [rsi + 0x19], al
movzx eax, ah
movzx ecx, byte [rsi + 0x18]
add ecx, eax
mov byte [rsi + 0x18], cl
movzx eax, ch
movzx ecx, byte [rsi + 0x17]
add ecx, eax
mov byte [rsi + 0x17], cl
movzx eax, ch
movzx ecx, byte [rsi + 0x16]
add ecx, eax
mov byte [rsi + 0x16], cl
movzx eax, ch
movzx ecx, byte [rsi + 0x15]
add ecx, eax
mov byte [rsi + 0x15], cl
movzx eax, ch
movzx ecx, byte [rsi + 0x14]
add ecx, eax
mov byte [rsi + 0x14], cl
movzx eax, ch
movzx ecx, byte [rsi + 0x13]
add ecx, eax
mov byte [rsi + 0x13], cl
movzx eax, ch
movzx ecx, byte [rsi + 0x12]
add ecx, eax
mov byte [rsi + 0x12], cl
movzx eax, ch
movzx ecx, byte [rsi + 0x11]
add ecx, eax
mov byte [rsi + 0x11], cl
movzx eax, ch
movzx ecx, byte [rsi + 0x10]
add ecx, eax
mov byte [rsi + 0x10], cl
movzx eax, ch
movzx ecx, byte [rsi + 0xf]
add ecx, eax
mov byte [rsi + 0xf], cl
movzx eax, ch
movzx ecx, byte [rsi + 0xe]
add ecx, eax
mov byte [rsi + 0xe], cl
movzx eax, ch
movzx ecx, byte [rsi + 0xd]
add ecx, eax
mov byte [rsi + 0xd], cl
movzx eax, ch
movzx ecx, byte [rsi + 0xc]
add ecx, eax
mov byte [rsi + 0xc], cl
movzx eax, ch
movzx ecx, byte [rsi + 0xb]
add ecx, eax
mov byte [rsi + 0xb], cl
movzx eax, ch
movzx ecx, byte [rsi + 0xa]
add ecx, eax
mov byte [rsi + 0xa], cl
movzx eax, ch
movzx ecx, byte [rsi + 9]
add ecx, eax
mov byte [rsi + 9], cl
movzx eax, ch
movzx ecx, byte [rsi + 8]
add ecx, eax
mov byte [rsi + 8], cl
movzx eax, ch
movzx ecx, byte [rsi + 7]
add ecx, eax
mov byte [rsi + 7], cl
movzx eax, ch
movzx ecx, byte [rsi + 6]
add ecx, eax
mov byte [rsi + 6], cl
movzx eax, ch
movzx ecx, byte [rsi + 5]
add ecx, eax
mov byte [rsi + 5], cl
shr ecx, 8
add byte [rsi + 4], cl
mov eax, 0x39
xor ecx, ecx
movzx edx, byte [rsi + rax + 1]
movzx r8d, byte [rsi + rax + 0x38]
add ecx, edx
add ecx, r8d
mov byte [rsi + rax + 1], cl
cmp rax, 3
je 0x14005cda4
movzx ecx, cx
shr ecx, 8
movzx edx, byte [rsi + rax]
movzx ebx, byte [rsi + rax + 0x37]
add ebx, edx
add ebx, ecx
mov byte [rsi + rax], bl
movzx ecx, bh
add rax, 0xfffffffffffffffe
jmp 0x14005cd6b
mov ebx, dword [rsp + 0x2c]
bswap ebx
movzx eax, bh
mov ecx, ebx
shr ecx, 0x10
mov edx, ebx
shr edx, 0x18
movzx r8d, byte [rsi + 0x3a]
add r8d, edx
mov byte [rsi + 0x3a], r8b
shr r8d, 8
movzx edx, byte [rsi + 0x39]
movzx ecx, cl
add ecx, edx
add ecx, r8d
mov byte [rsi + 0x39], cl
movzx ecx, ch
movzx edx, byte [rsi + 0x38]
add edx, eax
add edx, ecx
mov byte [rsi + 0x38], dl
movzx eax, dh
movzx edx, byte [rsi + 0x37]
movzx ecx, bl
add ecx, edx
add ecx, eax
mov byte [rsi + 0x37], cl
mov eax, 0x36
xor r14d, r14d
movzx ecx, cx
shr ecx, 8
movzx edx, byte [rsi + rax]
add edx, ecx
mov byte [rsi + rax], dl
movzx ecx, dh
movzx edx, byte [rsi + rax - 1]
add edx, ecx
mov byte [rsi + rax - 1], dl
movzx edx, dh
movzx ecx, byte [rsi + rax - 2]
add ecx, edx
mov byte [rsi + rax - 2], cl
add rax, 0xfffffffffffffffd
cmp rax, 3
jne 0x14005cdfd
jmp 0x14005cbb5