Function at 0x1400a0b98
Capabilities:
Set environment variable

Disassembly:
mov qword [rsp + 0x18], rbx
mov dword [rsp + 0x10], edx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
xor ebp, ebp
mov edi, edx
mov r13, rcx
cmp rcx, rbp
mov dword [rsp + 0x70], ebp
jne 0x1400a0be4
call fcn.140084474
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rbp
mov dword [rax], 0x16
call fcn.1400843ac
jmp 0x1400a0cc2
mov r12, qword [rcx]
cmp r12, rbp
je 0x1400a0cb7
mov edx, 0x3d
mov rcx, r12
call fcn.1400a10e8
cmp rax, rbp
mov r15, rax
je 0x1400a0cb7
cmp r12, rax
je 0x1400a0cb7
cmp byte [rax + 1], bpl
mov rbx, qword [0x1400e4ca8]
mov r14d, ebp
sete r14b
cmp rbx, qword [0x1400e4cb0]
jne 0x1400a0c98
cmp rbx, rbp
mov rsi, rbx
mov eax, ebp
jne 0x1400a0c43
mov rbx, rbp
jmp 0x1400a0c91
add rbx, 8
add eax, 1
cmp qword [rbx], rbp
jne 0x1400a0c3c
add eax, 1
mov edx, 8
movsxd rcx, eax
call fcn.140088f10
cmp rax, rbp
mov rdi, rax
mov rbx, rax
jne 0x1400a0c82
mov ecx, 9
call fcn.140088a50
jmp 0x1400a0c82
mov rcx, rax
call fcn.1400a0f78
mov qword [rdi], rax
add rdi, 8
add rsi, 8
mov rax, qword [rsi]
cmp rax, rbp
jne 0x1400a0c6f
mov qword [rdi], rbp
mov edi, dword [rsp + 0x78]
mov qword [0x1400e4ca8], rbx
cmp rbx, rbp
jne 0x1400a0d28
cmp edi, ebp
je 0x1400a0cdd
cmp qword [0x1400e4cb8], rbp
je 0x1400a0cdd
call fcn.1400a046c
cmp eax, ebp
je 0x1400a0d21
call fcn.140084474
mov dword [rax], 0x16
or eax, 0xffffffff
mov rbx, qword [rsp + 0x80]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
cmp r14d, ebp
je 0x1400a0ce6
xor eax, eax
jmp 0x1400a0cc5
mov ecx, 8
call fcn.14007f8a4
cmp rax, rbp
mov qword [0x1400e4ca8], rax
je 0x1400a0cc2
mov qword [rax], rbp
cmp qword [0x1400e4cb8], rbp
jne 0x1400a0d21
mov ecx, 8
call fcn.14007f8a4
cmp rax, rbp
mov qword [0x1400e4cb8], rax
je 0x1400a0cc2
mov qword [rax], rbp
mov rbx, qword [0x1400e4ca8]
test rbx, rbx
mov rbp, rbx
je 0x1400a0cc2
mov rcx, qword [rbx]
mov eax, r15d
mov rdi, rbx
sub eax, r12d
test rcx, rcx
movsxd rsi, eax
je 0x1400a0d80
mov rdx, rcx
mov r8, rsi
mov rcx, r12
call fcn.1400a0464
test eax, eax
jne 0x1400a0d6d
mov rax, qword [rdi]
cmp byte [rsi + rax], 0x3d
je 0x1400a0e2f
cmp byte [rsi + rax], 0
je 0x1400a0e2f
add rdi, 8
mov rcx, qword [rdi]
test rcx, rcx
jne 0x1400a0d44
mov rbx, qword [0x1400e4ca8]
sub rdi, rbx
sar rdi, 3
neg edi
xor esi, esi
cmp edi, esi
jl 0x1400a0e4f
cmp qword [rbp], rsi
je 0x1400a0e4f
movsxd rsi, edi
mov rcx, qword [rbp + rsi*8]
cmp rcx, qword [0x1400e4cb0]
jb 0x1400a0db7
cmp rcx, qword [0x1400e6d10]
jbe 0x1400a0dc3
call fcn.14007f814
mov rbx, qword [0x1400e4ca8]
test r14d, r14d
je 0x1400a0e42
cmp qword [rbp + rsi*8], 0
je 0x1400a0df7
lea rcx, [rbp + rsi*8 + 8]
mov rax, qword [rcx]
add edi, 1
add rcx, 8
mov qword [rbp + rsi*8], rax
add rsi, 1
cmp qword [rbp + rsi*8], 0
jne 0x1400a0dd5
mov rbx, qword [0x1400e4ca8]
movsxd rdx, edi
movabs rax, 0x1fffffffffffffff
cmp rdx, rax
jae 0x1400a0eaa
mov r8d, 8
mov rcx, rbx
call fcn.14008897c
xor esi, esi
cmp rax, rsi
je 0x1400a0eac
mov qword [0x1400e4ca8], rax
jmp 0x1400a0eac
mov rbx, qword [0x1400e4ca8]
sub rdi, rbx
sar rdi, 3
jmp 0x1400a0d89
mov qword [rbp + rsi*8], r12
xor esi, esi
mov qword [r13], rsi
jmp 0x1400a0eac
cmp r14d, esi
jne 0x1400a0f67
cmp edi, esi
jge 0x1400a0e5e
neg edi
lea eax, [rdi + 2]
cmp eax, edi
jl 0x1400a0cc2
movsxd r8, eax
movabs rax, 0x1fffffffffffffff
cmp r8, rax
jae 0x1400a0cc2
mov edx, 8
mov rcx, rbx
call fcn.14008897c
cmp rax, rsi
je 0x1400a0cc2
movsxd rcx, edi
mov qword [rax + rcx*8], r12
mov qword [rax + rcx*8 + 8], rsi
mov qword [r13], rsi
jmp 0x1400a0e26
xor esi, esi
cmp dword [rsp + 0x78], esi
je 0x1400a0f51
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, r12
repne scasb al, byte [rdi]
lea ebp, [rax + 1]
not rcx
mov rdx, rbp
sub rcx, rbp
add rcx, 2
call fcn.140088f10
cmp rax, rsi
mov rbx, rax
je 0x1400a0f51
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, r12
repne scasb al, byte [rdi]
mov r8, r12
not rcx
sub rcx, rbp
lea rdx, [rcx + 2]
mov rcx, rbx
call fcn.14008c6fc
cmp eax, esi
je 0x1400a0f16
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rsi
call fcn.140084308
mov rdx, rbx
mov rcx, rbx
sub rdx, r12
add rdx, r15
mov byte [rdx], sil
add rdx, rbp
cmp r14d, esi
cmovne rdx, rsi
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
cmp eax, esi
jne 0x1400a0f49
or dword [rsp + 0x70], 0xffffffff
call fcn.140084474
mov dword [rax], 0x2a
mov rcx, rbx
call fcn.14007f814
cmp r14d, esi
je 0x1400a0f5e
mov rcx, r12
call fcn.14007f814
mov eax, dword [rsp + 0x70]
jmp 0x1400a0cc5
mov rcx, r12
call fcn.14007f814
mov qword [r13], rsi
jmp 0x1400a0ce2