Function at 0x1800016d0
Capabilities:
Set environment variable

Disassembly:
movss dword [rsp + 8], xmm0
sub rsp, 0xe8
mov rax, qword [0x180021b00]
xor rax, rsp
mov qword [rsp + 0xd0], rax
mov dword [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
jmp 0x180001709
movzx eax, byte [rsp + 0x20]
inc al
mov byte [rsp + 0x20], al
movsx eax, byte [rsp + 0x20]
cmp eax, 4
jge 0x180001a60
mov r8d, 0x10
xor edx, edx
lea rcx, [rsp + 0xc0]
call fcn.1800134b0
movsx eax, byte [rsp + 0x20]
lea rdx, [rsp + 0xc0]
mov ecx, eax
call sub.XINPUT9_1_0.dll_XInputGetState
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
jne 0x180001a4c
mov r8d, 0x100
xor edx, edx
lea rcx, [0x1800326f0]
call fcn.1800134b0
movsx eax, word [rsp + 0xc8]
mov dword [rsp + 0x34], eax
movsx eax, word [rsp + 0xca]
mov dword [rsp + 0x38], eax
movss xmm0, dword [rsp + 0xf0]
mulss xmm0, dword [0x18001670c]
cvttss2si eax, xmm0
movzx edx, ax
mov rcx, qword [rsp + 0x34]
call fcn.180001670
mov qword [rsp + 0x48], rax
movsx eax, word [rsp + 0xcc]
mov dword [rsp + 0x3c], eax
movsx eax, word [rsp + 0xce]
mov dword [rsp + 0x40], eax
movss xmm0, dword [rsp + 0xf0]
mulss xmm0, dword [0x18001670c]
cvttss2si eax, xmm0
movzx edx, ax
mov rcx, qword [rsp + 0x3c]
call fcn.180001670
mov qword [rsp + 0x50], rax
movzx eax, byte [rsp + 0xc6]
mov ecx, eax
call fcn.180001070
mov qword [rsp + 0x58], rax
movsx eax, byte [rsp + 0x20]
imul eax, eax, 6
cdqe
lea rcx, str.controller1_ltrig
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x60], rax
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
movzx eax, byte [rsp + 0xc7]
mov ecx, eax
call fcn.180001070
mov qword [rsp + 0x68], rax
movsx eax, byte [rsp + 0x20]
imul eax, eax, 6
inc eax
cdqe
lea rcx, str.controller1_ltrig
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
mov ecx, dword [rsp + 0x48]
call fcn.180001070
mov qword [rsp + 0x78], rax
movsx eax, byte [rsp + 0x20]
imul eax, eax, 6
add eax, 2
cdqe
lea rcx, str.controller1_ltrig
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x80], rax
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
mov ecx, dword [rsp + 0x4c]
call fcn.180001070
mov qword [rsp + 0x88], rax
movsx eax, byte [rsp + 0x20]
imul eax, eax, 6
add eax, 3
cdqe
lea rcx, str.controller1_ltrig
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x90], rax
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x90]
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
mov ecx, dword [rsp + 0x50]
call fcn.180001070
mov qword [rsp + 0x98], rax
movsx eax, byte [rsp + 0x20]
imul eax, eax, 6
add eax, 4
cdqe
lea rcx, str.controller1_ltrig
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0xa0], rax
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0xa0]
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
mov ecx, dword [rsp + 0x54]
call fcn.180001070
mov qword [rsp + 0xa8], rax
movsx eax, byte [rsp + 0x20]
imul eax, eax, 6
add eax, 5
cdqe
lea rcx, str.controller1_ltrig
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0xb0], rax
mov rdx, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xb0]
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
xor eax, eax
mov word [rsp + 0x24], ax
jmp 0x18000198b
movzx eax, word [rsp + 0x24]
inc ax
mov word [rsp + 0x24], ax
movzx eax, word [rsp + 0x24]
cmp eax, 0xe
jge 0x180001a2c
movzx eax, word [rsp + 0xc4]
movzx ecx, word [rsp + 0x24]
imul rcx, rcx, 0x10
lea rdx, [0x180021920]
movzx ecx, word [rdx + rcx]
and eax, ecx
mov dword [rsp + 0x2c], eax
cmp dword [rsp + 0x2c], 0
je 0x180001a27
cmp dword [rsp + 0x2c], 0
je 0x1800019e2
mov eax, dword [rsp + 0x28]
lea rcx, [0x1800326f0]
mov byte [rcx + rax], 0x2c
mov eax, dword [rsp + 0x28]
inc eax
mov dword [rsp + 0x28], eax
movzx eax, word [rsp + 0x24]
imul rax, rax, 0x10
lea rcx, [0x180021920]
mov edx, dword [rsp + 0x28]
lea r8, [0x1800326f0]
add r8, rdx
mov rdx, r8
mov qword [rsp + 0xb8], rdx
mov r8, qword [rcx + rax + 8]
lea rdx, [0x18001645c]
mov rax, qword [rsp + 0xb8]
mov rcx, rax
call fcn.1800031b0
jmp 0x18000197e
movsx rax, byte [rsp + 0x20]
lea rcx, str.controller1_btns
lea rdx, [0x1800326f0]
mov rcx, qword [rcx + rax*8]
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
jmp 0x180001a5b
xor edx, edx
lea rcx, str.controller
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
jmp 0x1800016fe
mov rcx, qword [rsp + 0xd0]
xor rcx, rsp
call fcn.180003550
add rsp, 0xe8
ret