Function at 0x42fd90
Capabilities:
Set environment variable

Disassembly:
sub rsp, 0x88
mov qword [rsp + 0x78], rbp
mov qword [rsp + 0x60], r12
xor ebp, ebp
test rcx, rcx
mov qword [rsp + 0x48], r15
mov r12, rcx
mov r15d, edx
jne 0x42fdda
call fcn.0041aad0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rbp
mov dword [rax], 0x16
call fcn.0041e5c0
lea eax, [rbp - 1]
jmp 0x42ffc1
mov qword [rsp + 0x70], rsi
mov rsi, qword [rcx]
mov qword [rsp + 0x58], r13
test rsi, rsi
je 0x43008b
mov edx, 0x3d
mov rcx, rsi
call fcn.0041a230
test rax, rax
mov r13, rax
mov qword [rsp + 0x30], rax
je 0x43008b
cmp rsi, rax
je 0x43008b
cmp byte [rax + 1], bpl
mov qword [rsp + 0x80], rbx
mov rbx, qword [0x00465ef8]
mov qword [rsp + 0x50], r14
mov r14d, ebp
sete r14b
cmp rbx, qword [0x00465f00]
jne 0x42fe51
mov rcx, rbx
call fcn.0042fce0
mov rbx, rax
mov qword [0x00465ef8], rax
test rbx, rbx
jne 0x42fedd
test r15d, r15d
je 0x42fe86
cmp qword [0x00465f08], rbp
je 0x42fe86
call fcn.0042ef50
test eax, eax
je 0x42fed6
call fcn.0041aad0
mov dword [rax], 0x16
mov eax, 0xffffffff
jmp 0x42ffaa
test r14d, r14d
je 0x42fe92
xor eax, eax
jmp 0x42ffaa
mov ecx, 8
call fcn.0041d6b0
test rax, rax
mov qword [0x00465ef8], rax
je 0x42fe7c
mov qword [rax], rbp
cmp qword [0x00465f08], rbp
jne 0x42fed6
mov ecx, 8
call fcn.0041d6b0
test rax, rax
mov qword [0x00465f08], rax
je 0x42fe7c
mov qword [rax], rbp
mov rbx, qword [0x00465ef8]
jmp 0x42fedd
mov rbx, qword [0x00465ef8]
test rbx, rbx
je 0x42fe7c
mov edx, r13d
mov rcx, rsi
mov qword [rsp + 0x68], rdi
sub edx, esi
call fcn.0042fc40
test eax, eax
movsxd rdi, eax
js 0x42ff74
cmp qword [rbx], rbp
je 0x42ff74
mov rcx, qword [rbx + rdi*8]
call fcn.00419090
test r14d, r14d
je 0x42ff62
cmp qword [rbx + rdi*8], rbp
je 0x42ff35
lea rdx, [rbx + rdi*8]
mov rcx, rdx
nop
nop
mov rax, qword [rdx + 8]
add rcx, 8
inc edi
mov qword [rdx], rax
cmp qword [rcx], rbp
mov rdx, rcx
jne 0x42ff20
mov rcx, qword [0x00465ef8]
movsxd rdx, edi
shl rdx, 3
call fcn.0041d7c0
test rax, rax
je 0x42fff1
mov r13, qword [rsp + 0x30]
mov qword [0x00465ef8], rax
jmp 0x42fff6
mov r13, qword [rsp + 0x30]
mov qword [rbx + rdi*8], rsi
mov qword [r12], rbp
jmp 0x42fff6
test r14d, r14d
jne 0x430078
test eax, eax
jns 0x42ff83
neg edi
mov rcx, qword [0x00465ef8]
lea eax, [rdi + 2]
movsxd rdx, eax
shl rdx, 3
call fcn.0041d7c0
test rax, rax
mov r11, rax
jne 0x42ffd8
lea eax, [r11 - 1]
mov rdi, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x80]
mov r14, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x70]
mov r13, qword [rsp + 0x58]
mov r15, qword [rsp + 0x48]
mov r12, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x78]
add rsp, 0x88
ret
movsxd rax, edi
mov qword [r11 + rax*8], rsi
mov qword [r11 + rax*8 + 8], rbp
mov qword [r12], rbp
mov qword [0x00465ef8], r11
jmp 0x42fff6
mov r13, qword [rsp + 0x30]
test r15d, r15d
je 0x430064
xor eax, eax
mov rcx, 0xffffffffffffffff
mov rdi, rsi
repne scasb al, byte [rdi]
not rcx
inc rcx
call fcn.0041d6b0
test rax, rax
mov rdi, rax
je 0x430064
mov rdx, rsi
sub rax, rsi
movzx ecx, byte [rdx]
inc rdx
test cl, cl
mov byte [rax + rdx - 1], cl
jne 0x430022
lea rdx, [rax + r13]
mov rcx, rdi
mov byte [rdx], bpl
inc rdx
test r14d, r14d
cmovne rdx, rbp
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
test eax, eax
jne 0x43005c
lea ebp, [rax - 1]
call fcn.0041aad0
mov dword [rax], 0x2a
mov rcx, rdi
call fcn.00419090
test r14d, r14d
je 0x430071
mov rcx, rsi
call fcn.00419090
mov eax, ebp
jmp 0x42ffa5
mov rcx, rsi
call fcn.00419090
mov qword [r12], rbp
xor eax, eax
jmp 0x42ffa5
call fcn.0041aad0
mov dword [rax], 0x16
mov eax, 0xffffffff
jmp 0x42ffb7