Function at 0x10008c80
Capabilities:
Set environment variable

Disassembly:
mov eax, 0x147c
call fcn.1001f380
push ebx
push esi
push edi
mov eax, dword [0x1002f458]
push ebp
xor edi, edi
mov word [esp + 0x10], di
push eax
mov dword [esp + 0x18], edi
call fcn.10006720
mov si, word [esp + 0x1494]
mov dword [esp + 0x1c], eax
mov word [esp + 0x16], di
add esp, 4
cmp si, di
mov edi, 0x1002c390
jne 0x10008cc7
mov edi, 0x1002b480
cmp si, 3
jne 0x10008cd2
mov edi, 0x1002aa70
cmp si, 4
jne 0x10008cdd
mov edi, 0x1002b600
cmp word [edi], 0
je 0x10009054
cmp si, 1
jne 0x10008d4f
mov ax, word [esp + 0x1494]
and ah, 0xf0
cmp ah, 0x30
je 0x10008d0a
cmp dword [0x1002b5f4], 0
mov bx, 1
jne 0x10008d0d
xor bx, bx
test bx, bx
je 0x10008e1e
lea eax, [esp + 0x278]
push eax
push 0x1002bb60
push 0
call fcn.100155f0
lea eax, [esp + 0x290]
mov ecx, dword [esp + 0x284]
add esp, 0xc
push eax
push ecx
push 0x1002bf70
call fcn.10005900
add esp, 0xc
jmp 0x10008dff
test si, si
jne 0x10008df6
mov ax, word [esp + 0x1494]
and ah, 0xf0
cmp ah, 0x20
je 0x10008d75
cmp dword [0x1002b5f0], 0
mov bx, 1
jne 0x10008d78
xor bx, bx
test bx, bx
je 0x10008e1e
lea eax, [esp + 0x20]
push eax
push 0x1002c4f0
push 0
call fcn.100155f0
add esp, 0xc
cmp word [0x1002f408], 0
je 0x10008dcf
lea eax, [esp + 0x68]
mov ecx, dword [esp + 0x58]
push eax
push 0x1002bf50
push ecx
call fcn.100155f0
lea ecx, [esp + 0x7c]
mov edx, dword [esp + 0x5c]
add esp, 0xc
push ecx
push edx
push 0x1002bf70
call fcn.10005900
add esp, 0xc
jmp 0x10008dff
lea eax, [esp + 0x20]
push 0x1002b270
push eax
call fcn.10018b10
add esp, 8
push eax
mov eax, dword [esp + 0x54]
push eax
push 0x1002bf70
call fcn.10005900
add esp, 0xc
jmp 0x10008dff
xor ebx, ebx
mov word [0x1002bf70], bx
test bx, bx
je 0x10008e1e
push 0x1002be20
push 0x1002bf70
call fcn.10018be0
add esp, 8
push eax
push 0x1002f9f8
jmp 0x10008e25
push 0
push 0x1002fa04
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
cmp word [edi], 0
lea ebp, [esp + 0x48c]
je 0x10008eb7
mov ax, word [edi]
cmp ax, 0x24
jne 0x10008ea7
lea eax, [edi + 2]
cmp word [eax], 0x24
jne 0x10008e54
mov word [ebp], 0x24
mov edi, eax
jmp 0x10008eab
test bx, bx
je 0x10008e7a
push 0x1002bf70
push ebp
call fcn.1001ef83
add esp, 8
push 0x1002bf70
call fcn.1001f4a6
add esp, 4
lea ebp, [ebp + eax*2]
jmp 0x10008eae
cmp si, 3
je 0x10008e86
cmp si, 4
jne 0x10008eae
push 0x1002b040
push ebp
call fcn.1001ef83
add esp, 8
push 0x1002b040
call fcn.1001f4a6
add esp, 4
lea ebp, [ebp + eax*2]
jmp 0x10008eae
mov word [ebp], ax
add ebp, 2
add edi, 2
cmp word [edi], 0
jne 0x10008e38
mov word [ebp], 0
call fcn.1001f8a1
cmp word [0x1002c182], 0x3a
mov dword [esp + 0x1c], eax
jne 0x10008ee7
mov ax, word [0x1002c180]
push eax
call fcn.1001f74e
movzx edi, ax
add esp, 4
sub edi, 0x40
jmp 0x10008eeb
mov edi, dword [esp + 0x1c]
push 0x104
push 0
call fcn.10019350
add esp, 8
mov esi, eax
push edi
call fcn.1001f8e6
add esp, 4
push 0x1002c180
call fcn.10019410
add esp, 4
cmp word [esp + 0x48c], 0x7c
je 0x10008f76
cmp word [esp + 0x48c], 0x3c
je 0x10008f76
cmp word [esp + 0x48c], 0x3e
je 0x10008f76
cmp word [esp + 0x48c], 0x3a
je 0x10008f76
mov eax, 1
lea ecx, [esp + 0x48c]
cmp word [esp + 0x48c], 0x3f
mov word [esp + 0x12], ax
jne 0x10008f66
mov word [esp + 0x10], ax
lea ecx, [esp + 0x48e]
lea eax, [esp + 0x14]
push eax
push 0x1002be20
push ecx
jmp 0x10009013
mov bx, word [esp + 0x48c]
lea edi, [esp + 0x48e]
push ebx
push edi
call fcn.1001fbf9
add esp, 8
mov ebp, eax
test ebp, ebp
je 0x10008fe3
mov word [ebp], 0
add ebp, 2
push edi
call fcn.1001f4a6
add esp, 4
test eax, eax
je 0x10008fdf
cmp word [edi], 0x3f
mov eax, 1
mov word [esp + 0x12], ax
jne 0x10008fc3
mov word [esp + 0x10], ax
add edi, 2
lea eax, [esp + 0x14]
push eax
push 0x1002be20
push edi
call fcn.10018bb0
add esp, 8
push eax
call fcn.1001b8d0
add esp, 8
mov edi, ebp
jmp 0x10008f85
push edi
call fcn.1001f4a6
add esp, 4
test eax, eax
je 0x10009024
cmp word [edi], 0x3f
mov eax, 1
mov word [esp + 0x12], ax
jne 0x10009008
mov word [esp + 0x10], ax
add edi, 2
lea eax, [esp + 0x14]
push eax
push 0x1002be20
push edi
call fcn.10018bb0
add esp, 8
push eax
call fcn.1001b8d0
add esp, 8
mov eax, dword [esp + 0x1c]
push eax
call fcn.1001f8e6
add esp, 4
push esi
call fcn.10019410
add esp, 4
test esi, esi
je 0x10009047
push esi
call fcn.1001f43e
add esp, 4
push str.CURPATCH
call fcn.10028d25
add esp, 4
cmp word [esp + 0x12], 0
je 0x1000908a
mov eax, dword [0x1002f458]
push eax
call fcn.10006720
add esp, 4
cmp eax, dword [esp + 0x18]
je 0x1000908a
mov eax, dword [esp + 0x18]
push 8
push 9
mov ecx, dword [0x1002f458]
push 0
push eax
push ecx
call fcn.10006630
add esp, 0x14
cmp word [esp + 0x10], 0
je 0x100090ad
cmp dword [esp + 0x14], 0
je 0x100090ad
push 0x1002fa1c
push 0xaa
push 0x30
call fcn.10003840
add esp, 0xc
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x147c
ret