Function at 0x14005e9c0
Capabilities:
Enumerate pe sections

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x48
mov r14, qword [rdx + 0x10]
mov rbx, rcx
mov rcx, qword [rdx]
xor ebp, ebp
mov esi, dword [rdx + 0x18]
mov qword [rsp + 0x28], rcx
movzx edx, byte [rcx + 5]
movzx r13d, byte [rcx + 0x11]
mov eax, edx
movzx edi, byte [rcx + 4]
mov r12d, edx
and edx, 4
shl r13d, 8
mov dword [rsp + 0x20], edx
and eax, 1
movzx edx, byte [rcx + 0xd]
and r12d, 2
shl rdx, 8
mov dword [rsp + 0xa8], eax
movzx eax, byte [rcx + 0xc]
or rdx, rax
movzx eax, byte [rcx + 0xb]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 0xa]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 9]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 8]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 7]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 6]
shl rdx, 8
or rdx, rax
movzx eax, byte [rcx + 0x10]
or r13d, eax
mov qword [rsp + 0x30], rdx
movzx eax, byte [rcx + 0xf]
movzx edx, byte [rcx + 0x15]
shl edx, 8
shl r13d, 8
or r13d, eax
movzx eax, byte [rcx + 0xe]
shl r13d, 8
or r13d, eax
movzx eax, byte [rcx + 0x14]
or edx, eax
movzx eax, byte [rcx + 0x13]
shl edx, 8
or edx, eax
movzx eax, byte [rcx + 0x12]
shl edx, 8
or edx, eax
movzx eax, byte [rcx + 0x1a]
mov dword [rsp + 0x98], eax
mov dword [rsp + 0xa0], edx
test rbx, rbx
je 0x14005ed25
mov rcx, qword [rbx]
test rcx, rcx
je 0x14005ed25
movsxd rdx, dword [rbx + 0x10]
movsxd r15, dword [rbx + 0x34]
test edx, edx
je 0x14005eaed
mov eax, dword [rbx + 0xc]
sub eax, edx
mov dword [rbx + 0xc], eax
je 0x14005eaea
movsxd r8, eax
add rdx, rcx
call fcn.140023690
mov dword [rbx + 0x10], ebp
test r15d, r15d
je 0x14005eb33
mov eax, dword [rbx + 0x2c]
sub eax, r15d
je 0x14005eb28
mov rcx, qword [rbx + 0x18]
movsxd r8, eax
shl r8, 2
lea rdx, [rcx + r15*4]
call fcn.140023690
mov eax, dword [rbx + 0x2c]
mov rcx, qword [rbx + 0x20]
sub eax, r15d
movsxd r8, eax
shl r8, 3
lea rdx, [rcx + r15*8]
call fcn.140023690
sub dword [rbx + 0x2c], r15d
sub dword [rbx + 0x30], r15d
mov dword [rbx + 0x34], ebp
cmp r13d, dword [rbx + 0x160]
jne 0x14005ed25
test dil, dil
jne 0x14005ed25
movsxd rdi, dword [rsp + 0x98]
mov rcx, rbx
lea edx, [rdi + 1]
call fcn.14005dc60
test eax, eax
jne 0x14005ed25
mov r11d, dword [rbx + 0x164]
mov r13d, dword [rsp + 0xa0]
cmp r13d, r11d
je 0x14005ebce
movsxd r10, dword [rbx + 0x30]
mov r8d, dword [rbx + 0x2c]
cmp r10d, r8d
jge 0x14005ebb2
mov rax, qword [rbx + 0x18]
sub r8d, r10d
mov ecx, dword [rbx + 0xc]
lea rdx, [rax + r10*4]
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx]
lea rdx, [rdx + 4]
sub ecx, eax
mov dword [rbx + 0xc], ecx
sub r8, 1
jne 0x14005eba0
mov dword [rbx + 0x2c], r10d
cmp r11d, 0xffffffff
je 0x14005ebce
mov rax, qword [rbx + 0x18]
mov dword [rax + r10*4], 0x400
inc dword [rbx + 0x2c]
inc dword [rbx + 0x30]
cmp dword [rsp + 0xa8], ebp
je 0x14005ec2f
movsxd rax, dword [rbx + 0x2c]
cmp eax, 1
jl 0x14005ebf8
mov rcx, rax
mov rax, qword [rbx + 0x18]
mov edx, dword [rax + rcx*4 - 4]
cmp dl, 0xff
jb 0x14005ebf8
cmp edx, 0x400
jne 0x14005ec2f
mov r15, qword [rsp + 0x28]
xor r12d, r12d
test rdi, rdi
je 0x14005ec34
xor edx, edx
nop word [rax + rax]
movzx ecx, byte [r15 + rdx + 0x1b]
add r14, rcx
sub esi, ecx
inc ebp
cmp ecx, 0xff
jb 0x14005ec34
inc rdx
cmp rdx, rdi
jl 0x14005ec10
jmp 0x14005ec34
mov r15, qword [rsp + 0x28]
test esi, esi
je 0x14005ec5f
mov edx, esi
mov rcx, rbx
call fcn.14005dbb0
test eax, eax
jne 0x14005ed25
movsxd rcx, dword [rbx + 0xc]
mov rdx, r14
add rcx, qword [rbx]
movsxd r8, esi
call fcn.140023690
add dword [rbx + 0xc], esi
movsxd rdx, ebp
mov r9d, 0xffffffff
cmp rdx, rdi
jge 0x14005ecef
movsxd rcx, dword [rbx + 0x2c]
mov rax, qword [rbx + 0x18]
movzx r8d, byte [r15 + rdx + 0x1b]
mov dword [rax + rcx*4], r8d
movsxd rcx, dword [rbx + 0x2c]
mov rax, qword [rbx + 0x20]
mov qword [rax + rcx*8], 0xffffffffffffffff
test r12d, r12d
je 0x14005ecaa
movsxd rcx, dword [rbx + 0x2c]
mov rax, qword [rbx + 0x18]
or dword [rax + rcx*4], 0x100
xor r12d, r12d
cmp r8b, 0xff
jae 0x14005ecc0
mov r9d, dword [rbx + 0x2c]
inc rdx
lea eax, [r9 + 1]
mov dword [rbx + 0x2c], eax
jmp 0x14005ecd1
mov eax, dword [rbx + 0x2c]
inc rdx
inc eax
mov dword [rbx + 0x2c], eax
cmp r8b, 0xff
jae 0x14005ecd4
mov dword [rbx + 0x30], eax
cmp rdx, rdi
jl 0x14005ec71
cmp r9d, 0xffffffff
je 0x14005ecef
mov rax, qword [rbx + 0x20]
mov rdx, qword [rsp + 0x30]
movsxd rcx, r9d
mov qword [rax + rcx*8], rdx
cmp dword [rsp + 0x20], 0
je 0x14005ed17
movsxd rax, dword [rbx + 0x2c]
mov dword [rbx + 0x158], 1
test eax, eax
jle 0x14005ed17
mov rcx, rax
mov rax, qword [rbx + 0x18]
or dword [rax + rcx*4 - 4], 0x200
lea eax, [r13 + 1]
mov dword [rbx + 0x164], eax
xor eax, eax
jmp 0x14005ed2a
mov eax, 0xffffffff
add rsp, 0x48
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret