Function at 0x2000d82e
Capabilities:
Set environment variable

Disassembly:
push ebp
lea ebp, [esp - 0x68]
sub esp, 0x8a8
push ebx
push esi
mov esi, dword [0x2002dce0]
xor ebx, ebx
cmp esi, ebx
je 0x2000dc0c
push edi
push 0x7fe
lea eax, [ebp - 0x83e]
push ebx
push eax
mov word [ebp - 0x840], bx
call sub.MSVCRT.dll_memset
push 0x9e
lea eax, [ebp - 0x3e]
push ebx
push eax
mov word [ebp - 0x40], bx
call sub.MSVCRT.dll_memset
mov edi, dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x18
cmp byte [ebp + 0x70], 9
jbe 0x2000d8a5
cmp dword [ebp + 0x78], ebx
jne 0x2000d8a5
movzx eax, byte [ebp + 0x7c]
push eax
lea eax, [ebp - 0x40]
push 0x20002b9c
push eax
call edi
mov esi, dword [0x2002dce0]
add esp, 0xc
movzx eax, byte [ebp + 0x70]
cmp eax, 0x12
ja case.default.0x2000d8b2
jmp dword [eax*4 + 0x2000dc16]
cmp esi, ebx
je case.default.0x2000d8b2
add esi, 0x10
cmp dword [ebp + 0x78], ebx
jne 0x2000dbff
mov ebx, dword [0x2002dce0]
add ebx, 0xb0
jmp 0x2000dbff
mov eax, dword [0x2002dce4]
cmp eax, ebx
je case.default.0x2000d8b2
mov ecx, dword [ebp + 0x74]
imul ecx, ecx, 0x368
add eax, ecx
cmp dword [ebp + 0x78], ebx
lea esi, [eax + 0x10]
jne 0x2000dbff
lea ebx, [eax + 0xb0]
jmp 0x2000dbff
mov eax, dword [0x2002dce8]
cmp eax, ebx
je case.default.0x2000d8b2
mov ecx, dword [ebp + 0x74]
imul ecx, ecx, 0x4cc
jmp 0x2000d8f4
mov eax, dword [0x2002dcf0]
cmp eax, ebx
je case.default.0x2000d8b2
mov ecx, dword [ebp + 0x74]
imul ecx, ecx, 0xb04
jmp 0x2000d8f4
mov eax, dword [0x2002dcf4]
cmp eax, ebx
je case.default.0x2000d8b2
mov esi, dword [ebp + 0x74]
imul esi, esi, 0x364
add eax, esi
cmp dword [ebp + 0x78], ebx
lea ecx, [eax + 0x10]
mov dword [ebp + 0x64], esi
mov dword [ebp + 0x60], ecx
jne 0x2000d971
lea ebx, [eax + 0xb0]
push ebx
push ecx
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
push ebx
push dword [ebp + 0x60]
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
mov eax, dword [0x2002dcf4]
push 0x20002b8c
lea eax, [esi + eax + 0x10]
push eax
lea eax, [ebp - 0x840]
push 0x20002b80
push eax
call edi
xor ebx, ebx
add esp, 0x10
cmp dword [ebp + 0x78], ebx
lea esi, [ebp - 0x840]
jne 0x2000dc03
mov eax, dword [0x2002dcf4]
mov ecx, dword [ebp + 0x64]
movzx eax, byte [ecx + eax + 0x35c]
push eax
lea eax, [ebp - 0x40]
push 0x20002b9c
push eax
call edi
add esp, 0xc
lea ebx, [ebp - 0x40]
jmp 0x2000dc03
mov eax, dword [0x2002dcfc]
cmp eax, ebx
je case.default.0x2000d8b2
mov esi, dword [ebp + 0x74]
imul esi, esi, 0x368
add eax, esi
cmp dword [ebp + 0x78], ebx
lea ecx, [eax + 0x10]
mov dword [ebp + 0x64], esi
mov dword [ebp + 0x60], ecx
jne 0x2000da07
lea ebx, [eax + 0xb0]
push ebx
push ecx
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
push ebx
push dword [ebp + 0x60]
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
mov eax, dword [0x2002dcfc]
push 0x20002b8c
lea eax, [esi + eax + 0x10]
push eax
lea eax, [ebp - 0x840]
push 0x20002b80
push eax
call edi
xor ebx, ebx
add esp, 0x10
cmp dword [ebp + 0x78], ebx
lea esi, [ebp - 0x840]
jne 0x2000dc03
mov eax, dword [0x2002dcfc]
mov ecx, dword [ebp + 0x64]
jmp 0x2000d9b4
mov eax, dword [0x2002dcf8]
cmp eax, ebx
je case.default.0x2000d8b2
mov ecx, dword [ebp + 0x74]
imul ecx, ecx, 0x154
jmp 0x2000d8f4
mov eax, dword [0x2002dd00]
cmp eax, ebx
je case.default.0x2000d8b2
mov ecx, dword [ebp + 0x74]
imul ecx, ecx, 0x3560
jmp 0x2000d8f4
mov eax, dword [0x2002dd04]
cmp eax, ebx
je case.default.0x2000d8b2
mov ecx, dword [ebp + 0x74]
imul ecx, ecx, 0x2b0
cmp dword [ebp + 0x78], ebx
lea esi, [ecx + eax]
jne 0x2000dbff
push dword [esi + 0xa0]
lea eax, [ebp - 0x40]
push 0x20002b9c
push eax
call edi
add esp, 0xc
jmp 0x2000dbfc
mov eax, dword [0x2002dd14]
cmp eax, ebx
je case.default.0x2000d8b2
mov ecx, dword [ebp + 0x74]
imul ecx, ecx, 0xb8
add eax, ecx
cmp dword [ebp + 0x78], ebx
lea esi, [eax + 0x10]
jne 0x2000dbff
push dword [eax + 0xb0]
jmp 0x2000daad
mov eax, dword [0x2002dcf4]
cmp eax, ebx
je case.default.0x2000d8b2
mov ecx, dword [ebp + 0x74]
imul ecx, ecx, 0x364
push 0x20002b70
lea eax, [ecx + eax + 0x10]
push eax
lea eax, [ebp - 0x840]
push 0x20002b80
push eax
call edi
add esp, 0x10
lea esi, [ebp - 0x840]
jmp 0x2000d9cb
mov eax, dword [0x2002dcec]
cmp eax, ebx
je case.default.0x2000d8b2
push 0x20002b70
mov ecx, dword [ebp + 0x74]
imul ecx, ecx, 0xacc
jmp 0x2000db07
mov eax, dword [0x2002dd08]
cmp eax, ebx
je case.default.0x2000d8b2
mov ecx, dword [ebp + 0x74]
imul ecx, ecx, 0x4b8
push 0x20002b70
add ecx, eax
push ecx
jmp 0x2000db0c
mov eax, dword [0x2002dcfc]
cmp eax, ebx
je case.default.0x2000d8b2
mov ecx, dword [ebp + 0x74]
imul ecx, ecx, 0x368
jmp 0x2000db02
mov eax, dword [0x2002dce8]
cmp eax, ebx
je case.default.0x2000d8b2
mov ecx, dword [ebp + 0x74]
imul ecx, ecx, 0x4cc
jmp 0x2000db02
mov eax, dword [0x2002dce4]
jmp 0x2000db6a
mov eax, dword [0x2002dd00]
cmp eax, ebx
je case.default.0x2000d8b2
mov ecx, dword [ebp + 0x74]
imul ecx, ecx, 0x3560
jmp 0x2000db02
mov eax, dword [0x2002dcec]
cmp eax, ebx
je case.default.0x2000d8b2
push 0x20002b5c
jmp 0x2000db3a
mov eax, dword [0x2002dce8]
cmp eax, ebx
je case.default.0x2000d8b2
mov ecx, dword [ebp + 0x74]
imul ecx, ecx, 0x4cc
push 0x20002b5c
lea eax, [ecx + eax + 0x10]
push eax
lea eax, [ebp - 0x840]
push 0x20002b80
push eax
call edi
add esp, 0x10
lea esi, [ebp - 0x840]
lea ebx, [ebp - 0x40]
test esi, esi
je case.default.0x2000d8b2
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
pop edi
pop esi
pop ebx
add ebp, 0x68
leave
ret