Function at 0x1400b01d0
Capabilities:
Query environment variable

Disassembly:
mov r11, rsp
push rbp
push rbx
push rsi
push r12
lea rbp, [r11 - 0x3a8]
sub rsp, 0x488
mov rax, qword [0x1403f20c0]
xor rax, rsp
mov qword [rbp + 0x350], rax
mov qword [r11 - 0x28], rdi
mov rbx, rcx
mov qword [r11 - 0x38], r14
lea rcx, [0x14048a6e8]
mov qword [r11 - 0x40], r15
mov rdi, r8
mov r15, r9
mov qword [rsp + 0x20], rdx
mov rsi, rdx
call fcn.140289ea0
lea r9, str._5_4
mov r8, rdi
lea rdx, str._s_s
mov rcx, rbx
call fcn.1400969b0
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
xor r12d, r12d
mov r14, rax
test rax, rax
jne 0x1400b025e
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
mov r14, rax
test rax, rax
je 0x1400b02a5
mov edx, 0xfff0b9d8
mov rcx, rbx
call fcn.140095e50
mov rdx, rax
lea r8, str.LUA_NOENV
mov rcx, rbx
call fcn.140096b00
mov edx, 0xffffffff
mov rcx, rbx
call fcn.140095e50
movzx ecx, byte [rax + 8]
cmp cl, 1
je 0x1400b02ef
test cl, 0xf
je 0x1400b02ef
mov edx, 0xfffffffe
mov rcx, rbx
call fcn.1400960f0
test r15, r15
jne 0x1400b02b4
mov rax, qword [rbx + 0x10]
mov byte [rax + 8], r12b
jmp 0x1400b02cf
mov rdx, r15
mov rcx, rbx
call fcn.1400bbf00
mov rcx, qword [rbx + 0x10]
mov qword [rcx], rax
movzx eax, byte [rax + 8]
or al, 0x40
mov byte [rcx + 8], al
mov rax, qword [rbx + 0x18]
add qword [rbx + 0x10], 0x10
cmp qword [rax + 0x18], r12
jle 0x1400b04f3
mov rcx, rbx
call fcn.1400a9bc0
jmp 0x1400b04f3
mov edx, 0xfffffffe
mov qword [rsp + 0x478], r13
mov rcx, rbx
call fcn.1400960f0
lea rdx, [0x1403b8094]
mov rcx, r14
call qword [sym.imp.VCRUNTIME140.dll_strstr]
mov r13, rax
test rax, rax
jne 0x1400b0366
test r14, r14
jne 0x1400b032b
mov rax, qword [rbx + 0x10]
mov byte [rax + 8], r12b
jmp 0x1400b0346
mov rdx, r14
mov rcx, rbx
call fcn.1400bbf00
mov rcx, qword [rbx + 0x10]
mov qword [rcx], rax
movzx eax, byte [rax + 8]
or al, 0x40
mov byte [rcx + 8], al
mov rax, qword [rbx + 0x18]
add qword [rbx + 0x10], 0x10
cmp qword [rax + 0x18], r12
jle 0x1400b04eb
mov rcx, rbx
call fcn.1400a9bc0
jmp 0x1400b04eb
mov rdi, 0xffffffffffffffff
nop dword [rax]
inc rdi
cmp byte [r14 + rdi], r12b
jne 0x1400b0370
lea rax, [rsp + 0x50]
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x30]
mov rax, qword [rbx + 0x10]
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], 0x400
mov qword [rax], rcx
mov byte [rax + 8], 2
add qword [rbx + 0x10], 0x10
cmp r14, r13
jae 0x1400b0426
mov rsi, r13
sub rsi, r14
je 0x1400b03e8
mov r8d, 0xffffffff
lea rcx, [rsp + 0x30]
mov rdx, rsi
call fcn.140099060
mov r8, rsi
mov rdx, r14
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rsp + 0x40]
add rcx, rsi
mov qword [rsp + 0x40], rcx
jmp 0x1400b03ed
mov rcx, qword [rsp + 0x40]
cmp rcx, qword [rsp + 0x38]
jb 0x1400b040e
mov edx, 1
lea rcx, [rsp + 0x30]
mov r8d, 0xffffffff
call fcn.140099060
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x30]
mov byte [rax + rcx], Ordinal_60
mov rcx, qword [rsp + 0x40]
inc rcx
mov qword [rsp + 0x40], rcx
jmp 0x1400b042b
mov rcx, qword [rsp + 0x40]
mov rsi, 0xffffffffffffffff
inc rsi
cmp byte [r15 + rsi], r12b
jne 0x1400b0432
test rsi, rsi
je 0x1400b046e
mov r8d, 0xffffffff
lea rcx, [rsp + 0x30]
mov rdx, rsi
call fcn.140099060
mov r8, rsi
mov rdx, r15
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rsp + 0x40]
add rcx, rsi
mov qword [rsp + 0x40], rcx
lea rax, [r14 - 2]
add rax, rdi
cmp r13, rax
jae 0x1400b04dc
cmp rcx, qword [rsp + 0x38]
jb 0x1400b049b
mov edx, 1
lea rcx, [rsp + 0x30]
mov r8d, 0xffffffff
call fcn.140099060
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x30]
sub rdi, r13
add rdi, 0xfffffffffffffffe
mov byte [rax + rcx], Ordinal_60
inc qword [rsp + 0x40]
add rdi, r14
je 0x1400b04dc
mov r8d, 0xffffffff
lea rcx, [rsp + 0x30]
mov rdx, rdi
call fcn.140099060
lea rdx, [r13 + 2]
mov r8, rdi
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
add qword [rsp + 0x40], rdi
lea rcx, [rsp + 0x30]
call fcn.1400992d0
mov rsi, qword [rsp + 0x20]
mov r13, qword [rsp + 0x478]
mov r8d, 0x105
lea rdx, [rsp + 0x30]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov r15, qword [rsp + 0x468]
mov r14, qword [rsp + 0x470]
mov rdi, qword [rsp + 0x480]
test eax, eax
je 0x1400b0617
cmp eax, 0x105
je 0x1400b0617
mov edx, 0x5c
lea rcx, [rsp + 0x30]
call qword [sym.imp.VCRUNTIME140.dll_strrchr]
test rax, rax
je 0x1400b0617
mov edx, 0xffffffff
mov byte [rax], r12b
mov rcx, rbx
call fcn.140095e50
movzx ecx, byte [rax + 8]
and cl, 0xf
cmp cl, 4
je 0x1400b0595
cmp cl, 3
jne 0x1400b059c
mov rdx, rax
mov rcx, rbx
call fcn.1400b2e80
mov rax, qword [rbx + 0x18]
cmp qword [rax + 0x18], r12
jle 0x1400b0588
mov rcx, rbx
call fcn.1400a9bc0
mov edx, 0xffffffff
mov rcx, rbx
call fcn.140095e50
mov r12, qword [rax]
add r12, 0x18
lea r9, [rsp + 0x30]
mov rdx, r12
lea r8, reloc.WLDAP32.dll_Ordinal_33
mov rcx, rbx
call fcn.14009a7b0
mov edx, 0xfffffffe
mov r8d, 0xffffffff
mov rcx, rbx
call fcn.140096260
mov edx, 0xfffffffe
mov rcx, rbx
call fcn.1400960f0
mov edx, 0xfffffffd
mov rcx, rbx
call fcn.140095e50
mov rdx, rax
mov r8, rsi
mov rcx, rbx
call fcn.140096fd0
mov edx, 0xfffffffe
mov rcx, rbx
call fcn.1400960f0
mov rcx, qword [rbp + 0x350]
xor rcx, rsp
call fcn.1402889f0
add rsp, 0x488
pop r12
pop rsi
pop rbx
pop rbp
ret
lea rdx, str.unable_to_get_ModuleFileName
mov rcx, rbx
call fcn.1400988d0
int3