Function at 0x1400a3b60
Capabilities:
Set environment variable

Disassembly:
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push r14
sub rsp, 0x58
xor ebx, ebx
test rcx, rcx
mov esi, edx
mov ebp, ebx
mov r14, rcx
jne 0x1400a3bac
call fcn.14007f4d0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rbx
mov dword [rax], socket
call fcn.14007e3a0
or eax, 0xffffffff
add rsp, 0x58
pop r14
pop rsi
pop rbp
pop rbx
ret
mov qword [rsp + 0x50], r12
mov r12, qword [rcx]
mov qword [rsp + 0x48], r13
test r12, r12
je 0x1400a4031
mov dx, 0x3d
mov rcx, r12
call fcn.14007f5c0
test rax, rax
mov r13, rax
je 0x1400a4031
cmp r12, rax
je 0x1400a4031
cmp word [rax + 2], bx
mov qword [rsp + 0x98], rdi
mov rdi, qword [0x1400ea8d0]
mov qword [rsp + 0x40], r15
mov r15d, ebx
sete r15b
cmp rdi, qword [0x1400ea8d8]
mov dword [rsp + 0x90], r15d
jne 0x1400a3c25
mov rcx, rdi
call fcn.1400a3ac0
mov rdi, rax
mov qword [0x1400ea8d0], rax
test rdi, rdi
jne 0x1400a3ce5
test esi, esi
mov rax, qword [0x1400ea8c0]
je 0x1400a3c94
test rax, rax
je 0x1400a3c94
call fcn.140084de0
mov qword [0x1400ea870], rax
call fcn.140084840
test eax, eax
jns 0x1400a3c8b
call fcn.14009fdf0
test eax, eax
je 0x1400a3c8b
call fcn.14007f4d0
mov dword [rax], socket
or eax, 0xffffffff
mov rdi, qword [rsp + 0x98]
mov r15, qword [rsp + 0x40]
mov r12, qword [rsp + 0x50]
mov r13, qword [rsp + 0x48]
add rsp, 0x58
pop r14
pop rsi
pop rbp
pop rbx
ret
mov rdi, qword [0x1400ea8d0]
jmp 0x1400a3ce5
test r15d, r15d
jne 0x1400a402a
test rax, rax
jne 0x1400a3cc5
lea ecx, [rax + 8]
call fcn.140088d70
test rax, rax
mov qword [0x1400ea8c0], rax
je 0x1400a3c67
mov qword [rax], rbx
mov rdi, qword [0x1400ea8d0]
test rdi, rdi
jne 0x1400a3ce5
mov ecx, 8
call fcn.140088d70
test rax, rax
mov qword [0x1400ea8d0], rax
je 0x1400a3c67
mov qword [rax], rbx
mov rdi, qword [0x1400ea8d0]
test rdi, rdi
je 0x1400a3c67
sub r13, r12
mov rcx, r12
sar r13, 1
mov edx, r13d
call fcn.1400a3a20
test eax, eax
movsxd rsi, eax
js 0x1400a3d78
cmp qword [rdi], rbx
je 0x1400a3d78
mov rcx, qword [rdi + rsi*8]
mov rbx, rsi
call fcn.140080070
test r15d, r15d
je 0x1400a3d6f
cmp qword [rdi + rsi*8], rbp
je 0x1400a3d39
mov rax, qword [rdi + rbx*8 + 8]
add rbx, 1
add esi, 1
mov qword [rdi + rbx*8 - 8], rax
cmp qword [rdi + rbx*8], rbp
jne 0x1400a3d22
movsxd rdx, esi
movabs rax, 0x1fffffffffffffff
cmp rdx, rax
jae 0x1400a3dd8
mov rcx, qword [0x1400ea8d0]
mov r8d, 8
call fcn.140088f00
test rax, rax
je 0x1400a3dd8
mov qword [0x1400ea8d0], rax
jmp 0x1400a3dd8
mov qword [rdi + rsi*8], r12
mov qword [r14], rbp
jmp 0x1400a3dd8
test r15d, r15d
jne 0x1400a401f
test eax, eax
jns 0x1400a3d87
neg esi
lea eax, [rsi + 2]
cmp eax, esi
jl 0x1400a3c67
movsxd r8, eax
movabs rax, 0x1fffffffffffffff
cmp r8, rax
jae 0x1400a3c67
mov rcx, qword [0x1400ea8d0]
mov edx, 8
call fcn.140088f00
test rax, rax
je 0x1400a3c67
movsxd rcx, esi
mov qword [rax + rcx*8], r12
mov qword [rax + rcx*8 + 8], rbx
mov qword [r14], rbx
mov qword [0x1400ea8d0], rax
cmp dword [rsp + 0x88], ebp
je 0x1400a4006
xor eax, eax
or rbx, 0xffffffffffffffff
mov rdi, r12
mov rcx, rbx
lea edx, [rax + 2]
repne scasw ax, word [rdi]
not rcx
add rcx, 1
call fcn.140088de0
test rax, rax
mov rsi, rax
je 0x1400a4006
xor eax, eax
mov rcx, rbx
mov rdi, r12
repne scasw ax, word [rdi]
mov r8, r12
not rcx
lea rdx, [rcx + 1]
mov rcx, rsi
call fcn.14007dab0
test eax, eax
je 0x1400a3e44
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rbp
call fcn.14007e300
lea rdi, [rsi + r13*2]
add rdi, 2
cmp dword [0x1400e4288], 1
mov word [rdi - 2], bp
jne 0x1400a3e8b
mov rdx, rdi
test r15d, r15d
mov rcx, rsi
cmovne rdx, rbp
mov r13, rbp
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
test eax, eax
jne 0x1400a3e8e
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x78
jne 0x1400a3e87
mov dword [0x1400e4288], r13d
jmp 0x1400a3e9b
mov ebp, ebx
jmp 0x1400a3e8e
xor r13d, r13d
cmp dword [0x1400e4288], 0
jne 0x1400a3fee
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r13
mov r9d, ebx
mov r8, rsi
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x28], r13d
mov r15, r13
mov r14, r13
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
movsxd r13, eax
jne 0x1400a3ed3
mov ebp, ebx
jmp 0x1400a3fce
mov rcx, r13
mov edx, 1
call fcn.140088de0
test rax, rax
mov r15, rax
jne 0x1400a3eef
mov ebp, ebx
jmp 0x1400a3fce
xor eax, eax
mov r9d, ebx
mov r8, rsi
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
jne 0x1400a3f20
mov ebp, ebx
jmp 0x1400a3fce
mov eax, dword [rsp + 0x90]
test eax, eax
jne 0x1400a3fad
xor eax, eax
mov r9d, ebx
mov r8, rdi
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], eax
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
movsxd r13, eax
jne 0x1400a3f5f
mov ebp, ebx
jmp 0x1400a3fce
mov rcx, r13
mov edx, 1
call fcn.140088de0
test rax, rax
mov r14, rax
jne 0x1400a3f78
mov ebp, ebx
jmp 0x1400a3fce
xor eax, eax
mov r9d, ebx
mov r8, rdi
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r14
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
jne 0x1400a3fa6
mov ebp, ebx
jmp 0x1400a3fce
mov eax, dword [rsp + 0x90]
cmp ebp, 0xffffffff
je 0x1400a3fce
test eax, eax
mov eax, 0
mov rdx, r14
cmovne rdx, rax
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
test eax, eax
cmove ebp, ebx
mov rcx, r14
call fcn.140080070
mov rcx, r15
call fcn.140080070
mov r14, qword [rsp + 0x80]
mov r15d, dword [rsp + 0x90]
cmp ebp, 0xffffffff
jne 0x1400a3ffe
call fcn.14007f4d0
mov dword [rax], 0x2a
mov rcx, rsi
call fcn.140080070
test r15d, r15d
je 0x1400a4018
mov rcx, r12
call fcn.140080070
xor eax, eax
mov qword [r14], rax
mov eax, ebp
jmp 0x1400a3c6a
mov rcx, r12
call fcn.140080070
mov qword [r14], rbx
xor eax, eax
jmp 0x1400a3c6a
call fcn.14007f4d0
mov dword [rax], socket
or eax, 0xffffffff
jmp 0x1400a3c77