Function at 0x140029490
Capabilities:
Set environment variable

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0xc50
mov rax, qword [0x1400ec008]
xor rax, rsp
mov qword [rsp + 0xc40], rax
mov rbx, rdx
mov r14, rcx
xor edx, edx
lea rcx, [rsp + 0x40]
mov r8d, 0x400
or rdi, 0xffffffffffffffff
xor r13d, r13d
call fcn.14007a110
xor edx, edx
lea rcx, [rsp + 0x440]
mov r8d, 0x800
xor ebp, ebp
xor esi, esi
call fcn.14007a110
mov rcx, qword [rbx + 0x10]
mov rcx, qword [rcx + 0x20]
call fcn.140033fd0
mov r12, rax
test rax, rax
je 0x14002977c
mov rcx, qword [rbx + 0x10]
lea edx, [rdi + 0x5d]
mov qword [rsp + 0xca0], r15
mov rcx, qword [rcx]
call fcn.140079340
test rax, rax
je 0x140029527
lea rcx, [rax + 1]
jmp 0x14002952e
mov rax, qword [rbx + 0x10]
mov rcx, qword [rax]
call fcn.140033fd0
mov r15, rax
test rax, rax
je 0x14002971b
mov rdx, rax
lea rcx, str.USERNAME
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
cmp dword [rbx + 0xc8], esi
jne 0x140029642
lea rcx, str.COMPUTERNAME
call fcn.140087770
mov r9, qword [rbx + 0x10]
lea r8, [0x1400d176c]
mov edx, 0x400
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x40]
mov r9, qword [r9]
call fcn.140028fc0
mov rcx, r15
call fcn.14007a8b4
lea rcx, [rsp + 0x40]
call fcn.140033fd0
mov r15, rax
test rax, rax
je 0x14002971b
xor r10d, r10d
mov rax, rdi
xor r8d, r8d
inc rax
cmp word [r15 + rax*2], si
jne 0x1400295b0
test rax, rax
je 0x140029614
lea rdx, [rsp + 0x440]
mov r9, r15
mov r11d, 0x24
cmp r8d, 0x3ff
jae 0x140029614
movzx eax, word [r9]
inc r8d
mov word [rdx], ax
add rdx, 2
cmp ax, r11w
jne 0x1400295f8
inc r8d
mov word [rdx], r11w
add rdx, 2
inc r10d
mov rcx, rdi
add r9, 2
inc rcx
cmp word [r15 + rcx*2], si
jne 0x140029602
movsxd rax, r10d
cmp rax, rcx
jb 0x1400295d0
lea r8, str.__P_G
mov edx, 0x400
lea rcx, [rsp + 0x440]
call fcn.140088654
lea rdx, [rsp + 0x440]
lea rcx, str.PROMPT
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
mov rcx, r12
call fcn.140029020
mov rax, qword [rbx + 0x10]
mov rdx, rbx
mov rcx, r14
mov r8, qword [rax + 0x28]
call fcn.14001f310
mov r13, rax
mov rbx, qword [rax]
test rbx, rbx
je 0x140029713
mov r14, rax
nop
mov rcx, qword [r14]
lea rdx, [0x1400d09a8]
call fcn.14007950c
lea r14, [r14 + 8]
mov rdi, rax
test rax, rax
je 0x140029707
mov r8d, 5
lea rdx, str.PATH
mov rcx, rbx
call fcn.14007a9c0
test eax, eax
je 0x140029707
mov r8d, 5
lea rdx, str.MAIL
mov rcx, rbx
call fcn.14007a9c0
test eax, eax
je 0x140029707
mov byte [rdi], 0
test rbp, rbp
je 0x1400296cd
mov rcx, rbp
call fcn.14007a8b4
mov rcx, rbx
call fcn.140033fd0
mov rbp, rax
test rax, rax
je 0x140029717
test rsi, rsi
je 0x1400296ea
mov rcx, rsi
call fcn.14007a8b4
lea rcx, [rdi + 1]
call fcn.140033fd0
mov rsi, rax
test rax, rax
je 0x140029717
mov rdx, rax
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
mov rbx, qword [r14]
test rbx, rbx
jne 0x140029670
xor edi, edi
jmp 0x14002971b
or rdi, 0xffffffffffffffff
mov rcx, r12
call fcn.14007a8b4
test r15, r15
je 0x140029730
mov rcx, r15
call fcn.14007a8b4
mov r15, qword [rsp + 0xca0]
test rbp, rbp
je 0x140029745
mov rcx, rbp
call fcn.14007a8b4
test rsi, rsi
je 0x140029752
mov rcx, rsi
call fcn.14007a8b4
test r13, r13
je 0x14002977c
mov rcx, qword [r13]
test rcx, rcx
je 0x140029774
mov rbx, r13
lea rbx, [rbx + 8]
call fcn.14007a8b4
mov rcx, qword [rbx]
test rcx, rcx
jne 0x140029763
mov rcx, r13
call fcn.14007a8b4
mov eax, edi
mov rcx, qword [rsp + 0xc40]
xor rcx, rsp
call fcn.140078840
add rsp, 0xc50
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret