Function at 0x128889a0
Capabilities:
Query environment variable
Set environment variable

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
sub rsp, 0x190
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov rax, qword [0x12a52ee0]
xor rax, rsp
mov qword [rsp + 0x180], rax
call fcn.12888850
mov r12d, eax
mov qword [rsp + 0x70], 7
xor r13d, r13d
mov qword [rsp + 0x68], r13
mov word [rsp + 0x58], r13w
mov qword [rsp + 0x40], 7
mov qword [rsp + 0x38], r13
mov word [rsp + 0x28], r13w
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, str.V3TraceType
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, str.V3TraceType
lea rcx, [rsp + 0x20]
call fcn.12803dc0
nop
lea rcx, [rsp + 0x50]
call fcn.12803f90
cmp qword [rsp + 0x38], r13
je 0x12888a7f
cmp qword [0x129adf08], r13
jne 0x12888a5a
call fcn.12888850
cmp qword [0x129adf08], r13
je 0x12888a7f
lea rdx, [rsp + 0x20]
lea rcx, [0x129aded0]
call fcn.1281d330
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.12803c90
mov edi, r13d
cmp qword [rsp + 0x68], rdi
setne dil
cmp qword [rsp + 0x40], 8
jb 0x12888a9d
mov rcx, qword [rsp + 0x28]
call fcn.12958250
mov qword [rsp + 0x40], 7
mov qword [rsp + 0x38], r13
mov word [rsp + 0x28], r13w
test edi, edi
je 0x12888ad7
lea rcx, [rsp + 0x58]
cmp qword [rsp + 0x70], 8
cmovae rcx, qword [rsp + 0x58]
xor edx, edx
lea r8d, [rdx + 0x10]
call fcn.1295abc4
mov dword [0x129ab088], eax
mov r8d, 0x80
lea rdx, [rsp + 0x80]
lea rcx, [0x129d2a08]
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
je 0x12888b18
xor edx, edx
lea r12d, [rdx + 1]
lea r8d, [rdx + 0xa]
lea rcx, [rsp + 0x80]
call fcn.1295abc4
mov dword [0x129ade0c], eax
jmp 0x12888c52
mov rbp, qword [0x129adf00]
mov rdi, qword [rbp]
mov rbx, qword [0x129aded0]
nop word [rax + rax]
test rbx, rbx
je 0x12888b3a
cmp rbx, rbx
je 0x12888b3f
call fcn.1295850c
cmp rdi, rbp
je 0x12888c1b
test rbx, rbx
jne 0x12888b57
call fcn.1295850c
mov r11, r13
jmp 0x12888b5a
mov r11, qword [rbx]
cmp rdi, qword [r11 + 0x30]
jne 0x12888b65
call fcn.1295850c
cmp qword [rdi + 0x60], 8
jb 0x12888b72
mov rsi, qword [rdi + 0x48]
jmp 0x12888b76
lea rsi, [rdi + 0x48]
test rbx, rbx
jne 0x12888b85
call fcn.1295850c
mov r11, r13
jmp 0x12888b88
mov r11, qword [rbx]
cmp rdi, qword [r11 + 0x30]
jne 0x12888b93
call fcn.1295850c
cmp qword [rdi + 0x38], 8
jb 0x12888ba0
mov rcx, qword [rdi + 0x20]
jmp 0x12888ba4
lea rcx, [rdi + 0x20]
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
test rbx, rbx
jne 0x12888bb7
call fcn.1295850c
cmp byte [rdi + 0x69], 0
je 0x12888bc7
call fcn.1295850c
jmp 0x12888b30
mov rax, qword [rdi + 0x10]
cmp byte [rax + 0x69], 0
jne 0x12888bf2
mov rdi, rax
mov rax, qword [rax]
cmp byte [rax + 0x69], 0
jne 0x12888b30
mov rdi, rax
mov rax, qword [rax]
cmp byte [rax + 0x69], 0
je 0x12888be1
jmp 0x12888b30
mov rax, qword [rdi + 8]
cmp byte [rax + 0x69], 0
jne 0x12888c13
nop dword [rax]
cmp rdi, qword [rax + 0x10]
jne 0x12888c13
mov rdi, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x69], 0
je 0x12888c00
mov rdi, rax
jmp 0x12888b30
or r8d, 0xffffffff
lea rdx, [0x129b47c8]
lea rcx, [rsp + 0x80]
call fcn.1281de20
lea rdx, [rsp + 0x80]
lea rcx, [0x129d2a08]
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
mov dword [0x129ade0c], 0xffffffff
cmp qword [rsp + 0x70], 8
jb 0x12888c64
mov rcx, qword [rsp + 0x58]
call fcn.12958250
mov qword [rsp + 0x70], 7
mov qword [rsp + 0x68], r13
mov word [rsp + 0x58], r13w
mov eax, r12d
mov rcx, qword [rsp + 0x180]
xor rcx, rsp
call fcn.12959850
lea r11, [rsp + 0x190]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r13
pop r12
pop rdi
ret