Function at 0x517d80
Capabilities:
Enumerate pe sections

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x518205
sub rsp, 0x50
mov qword [rsp + 0x48], rbp
lea rbp, [rsp + 0x48]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rbx
mov dword [rsp + 0xc], 0
mov rcx, qword [rsp + 0x58]
test byte [rcx], al
mov rdx, qword [rsp + 0x60]
test byte [rdx], al
mov rsi, qword [rsp + 0x60]
test byte [rsi], al
mov rdi, qword [rsp + 0x60]
test byte [rdi], al
mov r8, qword [rsp + 0x60]
test byte [r8], al
movzx edx, byte [rdx + 0x1f]
movzx esi, byte [rsi + 0x1e]
shl esi, 8
or edx, esi
movzx esi, byte [rdi + 0x1d]
shl esi, 0x10
or edx, esi
movzx esi, byte [r8 + 0x1c]
and esi, 3
shl esi, 0x18
or edx, esi
mov dword [rcx], edx
mov rcx, qword [rsp + 0x58]
test byte [rcx], al
mov rdx, qword [rsp + 0x60]
test byte [rdx], al
mov rsi, qword [rsp + 0x60]
test byte [rsi], al
mov rdi, qword [rsp + 0x60]
test byte [rdi], al
mov r8, qword [rsp + 0x60]
test byte [r8], al
movzx edx, byte [rdx + 0x1c]
shr edx, 2
movzx esi, byte [rsi + 0x1b]
shl esi, 6
or edx, esi
movzx esi, byte [rdi + 0x1a]
shl esi, 0xe
or edx, esi
movzx esi, byte [r8 + 0x19]
and esi, 0xf
shl esi, 0x16
or edx, esi
mov dword [rcx + 4], edx
mov rcx, qword [rsp + 0x58]
test byte [rcx], al
mov rdx, qword [rsp + 0x60]
test byte [rdx], al
mov rsi, qword [rsp + 0x60]
test byte [rsi], al
mov rdi, qword [rsp + 0x60]
test byte [rdi], al
mov r8, qword [rsp + 0x60]
test byte [r8], al
movzx edx, byte [rdx + 0x19]
shr edx, 4
movzx esi, byte [rsi + 0x18]
shl esi, 4
or edx, esi
movzx esi, byte [rdi + 0x17]
shl esi, 0xc
or edx, esi
movzx esi, byte [r8 + 0x16]
and esi, 0x3f
shl esi, 0x14
or edx, esi
mov dword [rcx + 8], edx
mov rcx, qword [rsp + 0x58]
test byte [rcx], al
mov rdx, qword [rsp + 0x60]
test byte [rdx], al
mov rsi, qword [rsp + 0x60]
test byte [rsi], al
mov rdi, qword [rsp + 0x60]
test byte [rdi], al
mov r8, qword [rsp + 0x60]
test byte [r8], al
movzx edx, byte [rdx + 0x16]
shr edx, 6
movzx esi, byte [rsi + 0x15]
shl esi, 2
or edx, esi
movzx esi, byte [rdi + 0x14]
shl esi, 0xa
or edx, esi
movzx esi, byte [r8 + 0x13]
shl esi, 0x12
or edx, esi
mov dword [rcx + 0xc], edx
mov rcx, qword [rsp + 0x58]
test byte [rcx], al
mov rdx, qword [rsp + 0x60]
test byte [rdx], al
mov rsi, qword [rsp + 0x60]
test byte [rsi], al
mov rdi, qword [rsp + 0x60]
test byte [rdi], al
mov r8, qword [rsp + 0x60]
test byte [r8], al
movzx edx, byte [rdx + 0x12]
movzx esi, byte [rsi + 0x11]
shl esi, 8
or edx, esi
movzx esi, byte [rdi + 0x10]
shl esi, 0x10
or edx, esi
movzx esi, byte [r8 + 0xf]
and esi, 3
shl esi, 0x18
or edx, esi
mov dword [rcx + 0x10], edx
mov rcx, qword [rsp + 0x58]
test byte [rcx], al
mov rdx, qword [rsp + 0x60]
test byte [rdx], al
mov rsi, qword [rsp + 0x60]
test byte [rsi], al
mov rdi, qword [rsp + 0x60]
test byte [rdi], al
mov r8, qword [rsp + 0x60]
test byte [r8], al
movzx edx, byte [rdx + 0xf]
shr edx, 2
movzx esi, byte [rsi + 0xe]
shl esi, 6
or edx, esi
movzx esi, byte [rdi + 0xd]
shl esi, 0xe
or edx, esi
movzx esi, byte [r8 + 0xc]
and esi, 0xf
shl esi, 0x16
or edx, esi
mov dword [rcx + 0x14], edx
mov rcx, qword [rsp + 0x58]
test byte [rcx], al
mov rdx, qword [rsp + 0x60]
test byte [rdx], al
mov rsi, qword [rsp + 0x60]
test byte [rsi], al
mov rdi, qword [rsp + 0x60]
test byte [rdi], al
mov r8, qword [rsp + 0x60]
test byte [r8], al
movzx edx, byte [rdx + 0xc]
shr edx, 4
movzx esi, byte [rsi + 0xb]
shl esi, 4
or edx, esi
movzx esi, byte [rdi + 0xa]
shl esi, 0xc
or edx, esi
movzx esi, byte [r8 + 9]
and esi, 0x3f
shl esi, 0x14
or edx, esi
mov dword [rcx + 0x18], edx
mov rcx, qword [rsp + 0x58]
test byte [rcx], al
mov rdx, qword [rsp + 0x60]
test byte [rdx], al
mov rsi, qword [rsp + 0x60]
test byte [rsi], al
mov rdi, qword [rsp + 0x60]
test byte [rdi], al
mov r8, qword [rsp + 0x60]
test byte [r8], al
movzx edx, byte [rdx + 9]
shr edx, 6
movzx esi, byte [rsi + 8]
shl esi, 2
or edx, esi
movzx esi, byte [rdi + 7]
shl esi, 0xa
or edx, esi
movzx esi, byte [r8 + 6]
shl esi, 0x12
or edx, esi
mov dword [rcx + 0x1c], edx
mov rcx, qword [rsp + 0x58]
test byte [rcx], al
mov rdx, qword [rsp + 0x60]
test byte [rdx], al
mov rsi, qword [rsp + 0x60]
test byte [rsi], al
mov rdi, qword [rsp + 0x60]
test byte [rdi], al
mov r8, qword [rsp + 0x60]
test byte [r8], al
movzx edx, byte [rdx + 5]
movzx esi, byte [rsi + 4]
shl esi, 8
or edx, esi
movzx esi, byte [rdi + 3]
shl esi, 0x10
or edx, esi
movzx esi, byte [r8 + 2]
and esi, 3
shl esi, 0x18
or edx, esi
mov dword [rcx + 0x20], edx
mov rcx, qword [rsp + 0x58]
test byte [rcx], al
mov rdx, qword [rsp + 0x60]
test byte [rdx], al
mov rsi, qword [rsp + 0x60]
test byte [rsi], al
mov rdi, qword [rsp + 0x60]
test byte [rdi], al
movzx edx, byte [rdx + 2]
shr edx, 2
movzx esi, byte [rsi + 1]
shl esi, 6
or edx, esi
movzx esi, byte [rdi]
shl esi, 0xe
or edx, esi
mov dword [rcx + 0x24], edx
mov rcx, qword [rsp + 0x58]
test byte [rcx], al
mov eax, dword [rcx + 0x24]
mov dword [rsp + 0x24], eax
mov ebx, 0x3fffff
call fcn.0051ef40
mov dword [rsp + 0x14], eax
mov rcx, qword [rsp + 0x58]
test byte [rcx], al
mov eax, dword [rcx + 0x20]
mov dword [rsp + 0x20], eax
mov ebx, 0x3ffffff
call fcn.0051ef40
mov dword [rsp + 0x28], eax
and dword [rsp + 0x14], eax
mov rcx, qword [rsp + 0x58]
test byte [rcx], al
mov eax, dword [rcx + 0x1c]
mov dword [rsp + 0x1c], eax
mov ebx, 0x3ffffff
call fcn.0051ef40
mov dword [rsp + 0x28], eax
and dword [rsp + 0x14], eax
mov rcx, qword [rsp + 0x58]
test byte [rcx], al
mov eax, dword [rcx + 0x18]
mov dword [rsp + 0x18], eax
mov ebx, 0x3ffffff
call fcn.0051ef40
mov dword [rsp + 0x28], eax
and dword [rsp + 0x14], eax
mov rcx, qword [rsp + 0x58]
test byte [rcx], al
mov eax, dword [rcx + 0x14]
mov dword [rsp + 0x44], eax
mov ebx, 0x3ffffff
call fcn.0051ef40
mov dword [rsp + 0x28], eax
and dword [rsp + 0x14], eax
mov rcx, qword [rsp + 0x58]
test byte [rcx], al
mov eax, dword [rcx + 0x10]
mov dword [rsp + 0x40], eax
mov ebx, 0x3ffffff
call fcn.0051ef40
mov dword [rsp + 0x28], eax
and dword [rsp + 0x14], eax
mov rcx, qword [rsp + 0x58]
test byte [rcx], al
mov eax, dword [rcx + 0xc]
mov dword [rsp + 0x3c], eax
mov ebx, 0x3ffffff
call fcn.0051ef40
mov dword [rsp + 0x28], eax
and dword [rsp + 0x14], eax
mov rcx, qword [rsp + 0x58]
test byte [rcx], al
mov eax, dword [rcx + 8]
mov dword [rsp + 0x38], eax
mov ebx, 0x3ffffff
call fcn.0051ef40
mov dword [rsp + 0x28], eax
and dword [rsp + 0x14], eax
mov rcx, qword [rsp + 0x58]
test byte [rcx], al
mov eax, dword [rcx + 4]
mov dword [rsp + 0x34], eax
mov ebx, 0x3ffffbf
call fcn.0051f040
mov dword [rsp + 0x28], eax
mov ecx, dword [rsp + 0x14]
and ecx, eax
mov dword [rsp + 0x10], ecx
mov rcx, qword [rsp + 0x58]
test byte [rcx], al
mov eax, dword [rcx + 4]
mov dword [rsp + 0x30], eax
mov ebx, 0x3ffffbf
nop dword [rax + rax]
call fcn.0051ef40
mov dword [rsp + 0x28], eax
and dword [rsp + 0x14], eax
mov rcx, qword [rsp + 0x58]
test byte [rcx], al
mov eax, dword [rcx]
mov dword [rsp + 0x2c], eax
mov ebx, 0x3fffc2f
nop
call fcn.0051f0a0
mov dword [rsp + 0x28], eax
mov ecx, dword [rsp + 0x14]
and eax, ecx
or eax, dword [rsp + 0x10]
mov dword [rsp + 0x10], eax
mov dword [rsp + 0xc], eax
mov rbp, qword [rsp + 0x48]
add rsp, 0x50
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.004670c0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
nop
jmp fcn.00517d80