Function at 0x140010e00
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 0x20], rbx
push rdi
sub rsp, 0x20
lea rdx, str.premake
mov rbx, rcx
call fcn.140010ab0
xor edx, edx
lea rdi, str.getEmbeddedResource
mov rcx, rbx
call fcn.140014a60
test eax, eax
je 0x140011531
mov rcx, qword [rbx + 0x10]
mov rax, qword [rdi + 8]
mov qword [rcx], rax
mov dword [rcx + 8], socket
mov rcx, rbx
mov rdx, qword [rbx + 0x10]
add rdx, 0x10
mov qword [rbx + 0x10], rdx
add rdx, 0xffffffffffffffe0
mov r8, qword [rdi]
call fcn.140016940
cmp qword [rdi + 0x10], 0
lea rdi, [rdi + 0x10]
jne 0x140010e32
add qword [rbx + 0x10], 0xfffffffffffffff0
lea rdx, str.criteria
mov rcx, rbx
call fcn.140010ab0
xor edx, edx
lea rdi, str._compile
mov rcx, rbx
call fcn.140014a60
test eax, eax
je 0x140011531
nop word [rax + rax]
mov rcx, qword [rbx + 0x10]
mov rax, qword [rdi + 8]
mov qword [rcx], rax
mov dword [rcx + 8], socket
mov rcx, rbx
mov rdx, qword [rbx + 0x10]
add rdx, 0x10
mov qword [rbx + 0x10], rdx
add rdx, 0xffffffffffffffe0
mov r8, qword [rdi]
call fcn.140016940
cmp qword [rdi + 0x10], 0
lea rdi, [rdi + 0x10]
jne 0x140010ea0
add qword [rbx + 0x10], 0xfffffffffffffff0
lea rdx, str.debug
mov rcx, rbx
call fcn.140010ab0
xor edx, edx
lea rdi, str.prompt
mov rcx, rbx
call fcn.140014a60
test eax, eax
je 0x140011531
mov rcx, qword [rbx + 0x10]
mov rax, qword [rdi + 8]
mov qword [rcx], rax
mov dword [rcx + 8], socket
mov rcx, rbx
mov rdx, qword [rbx + 0x10]
add rdx, 0x10
mov qword [rbx + 0x10], rdx
add rdx, 0xffffffffffffffe0
mov r8, qword [rdi]
call fcn.140016940
cmp qword [rdi + 0x10], 0
lea rdi, [rdi + 0x10]
jne 0x140010f05
add qword [rbx + 0x10], 0xfffffffffffffff0
lea rdx, str.path
mov rcx, rbx
call fcn.140010ab0
xor edx, edx
lea rdi, str.getabsolute
mov rcx, rbx
call fcn.140014a60
test eax, eax
je 0x140011531
nop word [rax + rax]
mov rcx, qword [rbx + 0x10]
mov rax, qword [rdi + 8]
mov qword [rcx], rax
mov dword [rcx + 8], socket
mov rcx, rbx
mov rdx, qword [rbx + 0x10]
add rdx, 0x10
mov qword [rbx + 0x10], rdx
add rdx, 0xffffffffffffffe0
mov r8, qword [rdi]
call fcn.140016940
cmp qword [rdi + 0x10], 0
lea rdi, [rdi + 0x10]
jne 0x140010f70
add qword [rbx + 0x10], 0xfffffffffffffff0
lea rdx, [0x1400ada9c]
mov rcx, rbx
call fcn.140010ab0
xor edx, edx
lea rdi, str.chdir
mov rcx, rbx
call fcn.140014a60
test eax, eax
je 0x140011531
mov rcx, qword [rbx + 0x10]
mov rax, qword [rdi + 8]
mov qword [rcx], rax
mov dword [rcx + 8], socket
mov rcx, rbx
mov rdx, qword [rbx + 0x10]
add rdx, 0x10
mov qword [rbx + 0x10], rdx
add rdx, 0xffffffffffffffe0
mov r8, qword [rdi]
call fcn.140016940
cmp qword [rdi + 0x10], 0
lea rdi, [rdi + 0x10]
jne 0x140010fd5
add qword [rbx + 0x10], 0xfffffffffffffff0
lea rdx, str.string
mov rcx, rbx
call fcn.140010ab0
xor edx, edx
lea rdi, str.endswith
mov rcx, rbx
call fcn.140014a60
test eax, eax
je 0x140011531
nop word [rax + rax]
mov rcx, qword [rbx + 0x10]
mov rax, qword [rdi + 8]
mov qword [rcx], rax
mov dword [rcx + 8], socket
mov rcx, rbx
mov rdx, qword [rbx + 0x10]
add rdx, 0x10
mov qword [rbx + 0x10], rdx
add rdx, 0xffffffffffffffe0
mov r8, qword [rdi]
call fcn.140016940
cmp qword [rdi + 0x10], 0
lea rdi, [rdi + 0x10]
jne 0x140011040
add qword [rbx + 0x10], 0xfffffffffffffff0
lea rdx, str.buffered
mov rcx, rbx
call fcn.140010ab0
xor edx, edx
lea rdi, [0x1400ade40]
mov rcx, rbx
call fcn.140014a60
test eax, eax
je 0x140011531
mov rcx, qword [rbx + 0x10]
mov rax, qword [rdi + 8]
mov qword [rcx], rax
mov dword [rcx + 8], socket
mov rcx, rbx
mov rdx, qword [rbx + 0x10]
add rdx, 0x10
mov qword [rbx + 0x10], rdx
add rdx, 0xffffffffffffffe0
mov r8, qword [rdi]
call fcn.140016940
cmp qword [rdi + 0x10], 0
lea rdi, [rdi + 0x10]
jne 0x1400110a5
add qword [rbx + 0x10], 0xfffffffffffffff0
lea rdx, str.term
mov rcx, rbx
call fcn.140010ab0
xor edx, edx
lea rdi, str.getTextColor
mov rcx, rbx
call fcn.140014a60
test eax, eax
je 0x140011531
nop word [rax + rax]
mov rcx, qword [rbx + 0x10]
mov rax, qword [rdi + 8]
mov qword [rcx], rax
mov dword [rcx + 8], socket
mov rcx, rbx
mov rdx, qword [rbx + 0x10]
add rdx, 0x10
mov qword [rbx + 0x10], rdx
add rdx, 0xffffffffffffffe0
mov r8, qword [rdi]
call fcn.140016940
cmp qword [rdi + 0x10], 0
lea rdi, [rdi + 0x10]
jne 0x140011110
add qword [rbx + 0x10], 0xfffffffffffffff0
lea rdx, str.http
mov rcx, rbx
call fcn.140010ab0
xor edx, edx
lea rdi, [0x1400addc0]
mov rcx, rbx
call fcn.140014a60
test eax, eax
je 0x140011531
mov rcx, qword [rbx + 0x10]
mov rax, qword [rdi + 8]
mov qword [rcx], rax
mov dword [rcx + 8], socket
mov rcx, rbx
mov rdx, qword [rbx + 0x10]
add rdx, 0x10
mov qword [rbx + 0x10], rdx
add rdx, 0xffffffffffffffe0
mov r8, qword [rdi]
call fcn.140016940
cmp qword [rdi + 0x10], 0
lea rdi, [rdi + 0x10]
jne 0x140011175
add qword [rbx + 0x10], 0xfffffffffffffff0
lea rdx, [0x1400adabc]
mov rcx, rbx
call fcn.140010ab0
xor edx, edx
lea rdi, str.extract
mov rcx, rbx
call fcn.140014a60
test eax, eax
je 0x140011531
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], r14
nop dword [rax]
mov rcx, qword [rbx + 0x10]
mov rax, qword [rdi + 8]
mov qword [rcx], rax
mov dword [rcx + 8], socket
mov rcx, rbx
mov rdx, qword [rbx + 0x10]
add rdx, 0x10
mov qword [rbx + 0x10], rdx
add rdx, 0xffffffffffffffe0
mov r8, qword [rdi]
call fcn.140016940
cmp qword [rdi + 0x10], 0
lea rdi, [rdi + 0x10]
jne 0x1400111f0
mov rax, qword [rbx + 0x10]
lea rcx, [0x1401637c0]
add rax, 0xfffffffffffffff0
mov r8d, 0x5348494d
mov qword [rbx + 0x10], rax
mov qword [rax], rcx
mov rcx, rbx
mov dword [rax + 8], 2
mov r9, qword [rbx + 0x10]
mov rdi, qword [rbx + 0x18]
lea rax, [r9 + 0x10]
mov qword [rbx + 0x10], rax
mov rdx, qword [rdi + 0x40]
call fcn.140022c20
mov rax, qword [rbx + 0x10]
test byte [rax - 8], 0x40
je 0x1400112a2
mov rdx, qword [rdi + 0x40]
movzx r8d, byte [rdx + 9]
test r8b, 4
je 0x1400112a2
mov rax, qword [rax - 0x10]
test byte [rax + 9], 3
je 0x1400112a2
mov rcx, qword [rbx + 0x18]
and r8b, 0xfb
mov byte [rdx + 9], r8b
mov rax, qword [rcx + 0x78]
mov qword [rdx + 0x30], rax
mov qword [rcx + 0x78], rdx
add qword [rbx + 0x10], 0xfffffffffffffff0
lea rbp, str.Lua_5.3.5__Copyright__C__1994_2018_Lua.org__PUC_Rio
mov r14d, ebp
mov eax, 0x3521cfb3
mul ebp
mov eax, ebp
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
imul eax, eax, 0x35
sub r14d, eax
shl r14, 4
add r14, qword [rbx + 0x18]
xor edi, edi
nop dword [rax]
nop word [rax + rax]
mov rsi, qword [r14 + rdi*8 + 0x1e8]
mov rcx, rbp
lea rdx, [rsi + 0x18]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
je 0x14001132a
inc rdi
cmp rdi, 2
jl 0x1400112e0
mov rax, qword [r14 + 0x1e8]
mov r8d, 0x33
mov rdx, rbp
mov qword [r14 + 0x1f0], rax
mov rcx, rbx
call fcn.1400244d0
mov rsi, rax
mov qword [r14 + 0x1e8], rax
mov rcx, qword [rbx + 0x10]
mov r14, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x30]
mov qword [rcx], rsi
movzx eax, byte [rsi + 8]
mov rsi, qword [rsp + 0x38]
or eax, 0x40
mov dword [rcx + 8], eax
mov rax, qword [rbx + 0x18]
add qword [rbx + 0x10], 0x10
cmp qword [rax + 0x18], 0
jle 0x140011362
mov rcx, rbx
call fcn.140021c00
mov rax, qword [rbx + 0x18]
mov r8, qword [rax + 0x40]
cmp dword [r8 + 0xc], 1
jbe 0x14001137b
mov rdx, qword [r8 + 0x10]
add rdx, 0x10
jmp 0x1400113b9
movzx ecx, byte [r8 + 0xb]
mov edx, 1
shl edx, cl
dec edx
and edx, 2
shl rdx, 5
add rdx, qword [r8 + 0x18]
cmp dword [rdx + 0x18], 0x13
jne 0x1400113a1
cmp qword [rdx + 0x10], 2
je 0x1400113b9
movsxd rax, dword [rdx + 0x1c]
test eax, eax
je 0x1400113b2
shl rax, 5
add rdx, rax
jmp 0x140011394
lea rdx, [0x140142280]
lea r8, str._COPYRIGHT
mov rcx, rbx
call fcn.140016940
lea rdx, [0x1400aca98]
mov rcx, rbx
call fcn.140024540
mov rcx, qword [rbx + 0x10]
mov qword [rcx], rax
movzx eax, byte [rax + 8]
or eax, 0x40
mov dword [rcx + 8], eax
mov rax, qword [rbx + 0x18]
add qword [rbx + 0x10], 0x10
cmp qword [rax + 0x18], 0
jle 0x140011400
mov rcx, rbx
call fcn.140021c00
lea rdx, str._PREMAKE_VERSION
mov rcx, rbx
call fcn.140016a20
lea rdx, [0x1400adae8]
mov rcx, rbx
call fcn.140024540
mov rcx, qword [rbx + 0x10]
mov qword [rcx], rax
movzx eax, byte [rax + 8]
or eax, 0x40
mov dword [rcx + 8], eax
mov rax, qword [rbx + 0x18]
add qword [rbx + 0x10], 0x10
cmp qword [rax + 0x18], 0
jle 0x140011447
mov rcx, rbx
call fcn.140021c00
lea rdx, str._PREMAKE_COPYRIGHT
mov rcx, rbx
call fcn.140016a20
lea rdx, str.https:__github.com_premake_premake_core_wiki
mov rcx, rbx
call fcn.140024540
mov rcx, qword [rbx + 0x10]
mov qword [rcx], rax
movzx eax, byte [rax + 8]
or eax, 0x40
mov dword [rcx + 8], eax
mov rax, qword [rbx + 0x18]
add qword [rbx + 0x10], 0x10
cmp qword [rax + 0x18], 0
jle 0x14001148e
mov rcx, rbx
call fcn.140021c00
lea rdx, str._PREMAKE_URL
mov rcx, rbx
call fcn.140016a20
lea rcx, str.HOME
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
mov rdx, rax
test rax, rax
jne 0x1400114cd
lea rcx, str.USERPROFILE
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
test rax, rax
lea rdx, [0x1400adb94]
cmovne rdx, rax
mov rcx, rbx
call fcn.140024540
mov rcx, qword [rbx + 0x10]
mov qword [rcx], rax
movzx eax, byte [rax + 8]
or eax, 0x40
mov dword [rcx + 8], eax
mov rax, qword [rbx + 0x18]
add qword [rbx + 0x10], 0x10
cmp qword [rax + 0x18], 0
jle 0x1400114fe
mov rcx, rbx
call fcn.140021c00
lea rdx, str._USER_HOME_DIR
mov rcx, rbx
call fcn.140016a20
mov rcx, rbx
call fcn.14000a5b0
lea rdx, str._WORKING_DIR
mov rcx, rbx
call fcn.140016a20
mov rbx, qword [rsp + 0x48]
xor eax, eax
add rsp, 0x20
pop rdi
ret
lea r8, str.too_many_upvalues
mov rcx, rbx
lea rdx, str.stack_overflow___s_
call fcn.140005f60
int3