Function at 0x140004370
Capabilities:
Enumerate pe sections

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rdi
push r12
push r15
sub rsp, 0x20
movsxd r12, dword [rcx + 8]
mov r15, rdx
mov qword [rsp + 0x40], rsi
mov eax, r12d
mov rbx, rcx
mov qword [rsp + 0x48], r14
xor ebp, ebp
nop dword [rax]
mov rdi, qword [rbx]
movsxd rcx, dword [rdi + 8]
cmp eax, ecx
jl 0x1400043e4
mov r14, qword [rbx + 0x10]
lea esi, [rcx + rcx]
mov rdx, qword [rdi]
mov r8, rcx
movsxd r9, esi
shl r9, 2
mov rax, qword [r14 + 0x18]
shl r8, 2
mov r10, qword [rax]
mov rcx, qword [rax + 8]
call r10
test rax, rax
jne 0x1400043de
test esi, esi
jg 0x1400045f5
mov qword [rdi], rax
mov dword [rdi + 8], esi
inc dword [rbx + 8]
inc ebp
mov eax, dword [rbx + 8]
cmp ebp, 8
jl 0x1400043a0
mov rax, qword [rbx]
lea rdx, [r12*4]
mov rcx, qword [rax]
movzx eax, byte [r15]
mov byte [rdx + rcx], al
mov rax, qword [rbx]
mov rcx, qword [rax]
movzx eax, byte [r15 + 1]
mov byte [rcx + rdx + 1], al
mov rax, qword [rbx]
mov rcx, qword [rax]
movzx eax, byte [r15 + 2]
mov byte [rcx + rdx + 2], al
mov rax, qword [rbx]
mov rcx, qword [rax]
movzx eax, byte [r15 + 3]
mov byte [rcx + rdx + 3], al
mov rax, qword [rbx]
mov rcx, qword [rax]
movzx eax, byte [r15 + 4]
mov byte [rcx + rdx + 4], al
mov rax, qword [rbx]
mov rcx, qword [rax]
movzx eax, byte [r15 + 5]
mov byte [rcx + rdx + 5], al
mov rax, qword [rbx]
mov rcx, qword [rax]
movzx eax, byte [r15 + 6]
mov byte [rcx + rdx + 6], al
mov rax, qword [rbx]
mov rcx, qword [rax]
movzx eax, byte [r15 + 7]
mov byte [rcx + rdx + 7], al
mov rax, qword [rbx]
mov rcx, qword [rax]
movzx eax, byte [r15 + 8]
mov byte [rcx + rdx + 8], al
mov rax, qword [rbx]
mov rcx, qword [rax]
movzx eax, byte [r15 + 9]
mov byte [rcx + rdx + 9], al
mov rax, qword [rbx]
mov rcx, qword [rax]
movzx eax, byte [r15 + 0xa]
mov byte [rcx + rdx + 0xa], al
mov rax, qword [rbx]
mov rcx, qword [rax]
movzx eax, byte [r15 + 0xb]
mov byte [rcx + rdx + 0xb], al
mov rax, qword [rbx]
mov rcx, qword [rax]
movzx eax, byte [r15 + 0xc]
mov byte [rcx + rdx + 0xc], al
mov rax, qword [rbx]
mov rcx, qword [rax]
movzx eax, byte [r15 + 0xd]
mov byte [rcx + rdx + 0xd], al
mov rax, qword [rbx]
mov rcx, qword [rax]
movzx eax, byte [r15 + 0xe]
mov byte [rcx + rdx + 0xe], al
mov rax, qword [rbx]
mov rcx, qword [rax]
movzx eax, byte [r15 + 0xf]
mov byte [rcx + rdx + 0xf], al
mov rax, qword [rbx]
mov rcx, qword [rax]
movzx eax, byte [r15 + 0x10]
mov byte [rcx + rdx + 0x10], al
mov rax, qword [rbx]
mov rcx, qword [rax]
movzx eax, byte [r15 + 0x11]
mov byte [rcx + rdx + 0x11], al
mov rax, qword [rbx]
mov rcx, qword [rax]
movzx eax, byte [r15 + 0x12]
mov byte [rcx + rdx + 0x12], al
mov rax, qword [rbx]
mov rcx, qword [rax]
movzx eax, byte [r15 + 0x13]
mov byte [rcx + rdx + 0x13], al
mov rax, qword [rbx]
mov r14, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x58]
mov rcx, qword [rax]
movzx eax, byte [r15 + 0x14]
mov byte [rcx + rdx + 0x14], al
mov rax, qword [rbx]
mov rcx, qword [rax]
movzx eax, byte [r15 + 0x15]
mov byte [rcx + rdx + 0x15], al
mov rax, qword [rbx]
mov rcx, qword [rax]
movzx eax, byte [r15 + 0x16]
mov byte [rcx + rdx + 0x16], al
mov rax, qword [rbx]
mov rcx, qword [rax]
movzx eax, byte [r15 + 0x17]
mov byte [rcx + rdx + 0x17], al
mov rax, qword [rbx]
mov rcx, qword [rax]
movzx eax, byte [r15 + 0x18]
mov byte [rcx + rdx + 0x18], al
mov rax, qword [rbx]
mov rcx, qword [rax]
movzx eax, byte [r15 + 0x19]
mov byte [rcx + rdx + 0x19], al
mov rax, qword [rbx]
mov rcx, qword [rax]
movzx eax, byte [r15 + 0x1a]
mov byte [rcx + rdx + 0x1a], al
mov rax, qword [rbx]
mov rcx, qword [rax]
movzx eax, byte [r15 + 0x1b]
mov byte [rcx + rdx + 0x1b], al
mov rax, qword [rbx]
mov rcx, qword [rax]
movzx eax, byte [r15 + 0x1c]
mov byte [rcx + rdx + 0x1c], al
mov rax, qword [rbx]
mov rcx, qword [rax]
movzx eax, byte [r15 + 0x1d]
mov byte [rcx + rdx + 0x1d], al
mov rax, qword [rbx]
mov rcx, qword [rax]
movzx eax, byte [r15 + 0x1e]
mov byte [rcx + rdx + 0x1e], al
mov rax, qword [rbx]
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rax]
movzx eax, byte [r15 + 0x1f]
mov byte [rcx + rdx + 0x1f], al
add rsp, 0x20
pop r15
pop r12
pop rdi
ret
lea rdx, str.not_enough_memory
mov rcx, r14
call sym.lua_language_server.exe_luaL_error
int3