Function at 0x1004161b
Capabilities:
Query environment variable
Set environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x308
mov eax, dword [0x10110164]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x40
mov eax, 0x84
mov edi, dword [ebp + 8]
mov word [ebp - 0x304], ax
xor ebx, ebx
pop eax
push 0x4c
pop esi
mov word [ebp - 0x302], ax
push 0x4a
pop eax
push 0x3b
mov word [ebp - 0x300], si
mov word [ebp - 0x2fe], ax
pop eax
mov word [ebp - 0x2fc], ax
push 0x39
pop eax
mov word [ebp - 0x2fa], ax
push 0x3e
pop eax
mov word [ebp - 0x2f8], ax
push 0x4b
pop eax
mov word [ebp - 0x2f6], ax
push 0x3f
pop eax
mov word [ebp - 0x2f4], ax
push 0x36
pop eax
push 0x3c
pop edx
mov word [ebp - 0x2f2], ax
push 0x3d
pop eax
push 0x42
pop ecx
mov word [ebp - 0x2f0], dx
mov word [ebp - 0x2ee], ax
push 0x36
mov word [ebp - 0x2ec], cx
pop esi
mov word [ebp - 0x2ea], cx
mov word [ebp - 0x2e8], si
mov word [ebp - 0x2e6], ax
push 0x6d
pop eax
mov word [ebp - 0x2e4], ax
push 0x41
pop eax
mov word [ebp - 0x2e2], ax
push 0x6a
pop eax
mov word [ebp - 0x2e0], ax
push esi
pop eax
push 0x4c
mov word [ebp - 0x2de], ax
pop esi
mov word [ebp - 0x2dc], cx
push 0x4e
mov word [ebp - 0x2da], si
pop ecx
mov word [ebp - 0x2d8], cx
mov word [ebp - 0x2d6], dx
mov word [ebp - 0x2d4], ax
push 0x4d
pop eax
mov word [ebp - 0x2d2], dx
push 0x3e
pop edx
mov word [ebp - 0x2d0], ax
mov word [ebp - 0x2ce], dx
push 0x40
mov word [ebp - 0x2cc], ax
pop edx
mov word [ebp - 0x2ca], dx
mov word [ebp - 0x2c8], ax
push 0x3a
pop eax
mov word [ebp - 0x2c6], ax
push 0x3d
pop eax
mov word [ebp - 0x2c4], ax
push 0x39
pop eax
mov word [ebp - 0x2c2], ax
push 0x3b
pop eax
mov word [ebp - 0x2c0], ax
push 0x41
pop eax
mov word [ebp - 0x2be], ax
add eax, 0x45
mov word [ebp - 0x2bc], cx
lea ecx, [ebp - 0x304]
mov word [ebp - 0x2ba], ax
xor eax, eax
mov word [ebp - 0x2b8], ax
mov ax, word [ebp - 0x304]
mov esi, dword [edi]
lea eax, [ebp - 0x308]
push eax
call fcn.10010f9b
push eax
push edi
call dword [esi + 0x124]
test eax, eax
js 0x100417e5
mov eax, dword [ebp - 0x308]
push 0xdc49b5e6
push eax
mov ecx, dword [eax]
call dword [ecx + 0x18]
test eax, eax
je 0x100417e5
xor eax, dword [ebp + 0xc]
jmp 0x10041dfd
mov dword [ebp - 0x260], 0xe0e3
mov eax, dword [ebp - 0x260]
xor eax, 0x7b
mov word [ebp - 0x25c], ax
mov eax, dword [ebp - 0x260]
inc eax
xor eax, 0x30
mov word [ebp - 0x25a], ax
mov eax, dword [ebp - 0x260]
add eax, 2
xor eax, 0x35
mov word [ebp - 0x258], ax
mov eax, dword [ebp - 0x260]
add eax, 3
xor eax, 0x38
mov word [ebp - 0x256], ax
mov eax, dword [ebp - 0x260]
add eax, 4
push 0x37
pop ecx
xor eax, ecx
mov word [ebp - 0x254], ax
mov eax, dword [ebp - 0x260]
add eax, 5
xor eax, 0x33
mov word [ebp - 0x252], ax
mov eax, dword [ebp - 0x260]
add eax, 6
xor eax, 0x30
mov word [ebp - 0x250], ax
mov eax, dword [ebp - 0x260]
add eax, 7
xor eax, 0x30
mov word [ebp - 0x24e], ax
mov eax, dword [ebp - 0x260]
add eax, 8
xor eax, 0x45
mov word [ebp - 0x24c], ax
mov eax, dword [ebp - 0x260]
add eax, 9
push 0x2d
pop edx
xor eax, edx
mov word [ebp - 0x24a], ax
mov eax, dword [ebp - 0x260]
add eax, 0xa
xor eax, 0x31
mov word [ebp - 0x248], ax
mov eax, dword [ebp - 0x260]
add eax, 0xb
xor eax, ecx
mov word [ebp - 0x246], ax
mov eax, dword [ebp - 0x260]
add eax, 0xc
xor eax, 0x45
mov word [ebp - 0x244], ax
mov eax, dword [ebp - 0x260]
add eax, 0xd
xor eax, 0x43
mov word [ebp - 0x242], ax
mov eax, dword [ebp - 0x260]
add eax, 0xe
xor eax, edx
mov word [ebp - 0x240], ax
mov eax, dword [ebp - 0x260]
add eax, 0xf
xor eax, 0x34
mov word [ebp - 0x23e], ax
mov eax, dword [ebp - 0x260]
add eax, 0x10
xor eax, 0x31
mov word [ebp - 0x23c], ax
mov eax, dword [ebp - 0x260]
add eax, 0x11
xor eax, 0x64
mov word [ebp - 0x23a], ax
mov eax, dword [ebp - 0x260]
add eax, 0x12
xor eax, 0x62
mov word [ebp - 0x238], ax
mov eax, dword [ebp - 0x260]
add eax, 0x13
xor eax, edx
mov word [ebp - 0x236], ax
mov eax, dword [ebp - 0x260]
add eax, 0x14
push 0x39
pop edi
xor eax, edi
mov word [ebp - 0x234], ax
mov eax, dword [ebp - 0x260]
add eax, 0x15
xor eax, 0x33
mov word [ebp - 0x232], ax
mov eax, dword [ebp - 0x260]
add eax, 0x16
xor eax, 0x46
mov word [ebp - 0x230], ax
mov eax, dword [ebp - 0x260]
add eax, 0x17
xor eax, 0x41
mov word [ebp - 0x22e], ax
mov eax, dword [ebp - 0x260]
add eax, 0x18
xor eax, edx
mov word [ebp - 0x22c], ax
mov eax, dword [ebp - 0x260]
add eax, 0x19
xor eax, 0x44
mov word [ebp - 0x22a], ax
mov eax, dword [ebp - 0x260]
add eax, 0x1a
xor eax, 0x34
mov word [ebp - 0x228], ax
mov eax, dword [ebp - 0x260]
add eax, 0x1b
push 0x36
pop esi
xor eax, esi
mov word [ebp - 0x226], ax
mov eax, dword [ebp - 0x260]
add eax, 0x1c
xor eax, 0x38
mov word [ebp - 0x224], ax
mov eax, dword [ebp - 0x260]
add eax, 0x1d
xor eax, esi
mov word [ebp - 0x222], ax
mov eax, dword [ebp - 0x260]
add eax, 0x1e
xor eax, ecx
mov word [ebp - 0x220], ax
mov eax, dword [ebp - 0x260]
add eax, 0x1f
xor eax, esi
mov word [ebp - 0x21e], ax
mov eax, dword [ebp - 0x260]
add eax, 0x20
xor eax, esi
mov word [ebp - 0x21c], ax
mov eax, dword [ebp - 0x260]
add eax, 0x21
xor eax, ecx
mov word [ebp - 0x21a], ax
mov eax, dword [ebp - 0x260]
add eax, 0x22
xor eax, 0x46
mov word [ebp - 0x218], ax
mov eax, dword [ebp - 0x260]
add eax, 0x23
xor eax, ecx
mov word [ebp - 0x216], ax
mov eax, dword [ebp - 0x260]
add eax, 0x24
xor eax, ecx
mov word [ebp - 0x214], ax
mov eax, dword [ebp - 0x260]
add eax, 0x25
xor eax, 0x7d
mov word [ebp - 0x212], ax
xor eax, eax
mov word [ebp - 0x210], ax
mov ax, word [ebp - 0x25c]
lea ecx, [ebp - 0x260]
push 0x104
lea eax, [ebp - 0x20c]
push eax
call fcn.1000b49e
push eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
je 0x10041b0a
cmp eax, 0x104
jae 0x10041b0a
push 0xa
lea eax, [ebp - 0x20c]
push 0
push eax
call fcn.100df69e
mov ebx, eax
add esp, 0xc
xor ebx, dword [ebp + 0xc]
mov dword [ebp - 0x2b4], 0x4091
mov eax, dword [ebp - 0x2b4]
xor eax, 0x7b
mov word [ebp - 0x2b0], ax
mov eax, dword [ebp - 0x2b4]
inc eax
xor eax, 0x30
mov word [ebp - 0x2ae], ax
mov eax, dword [ebp - 0x2b4]
add eax, 2
xor eax, 0x35
mov word [ebp - 0x2ac], ax
mov eax, dword [ebp - 0x2b4]
add eax, 3
xor eax, 0x38
mov word [ebp - 0x2aa], ax
mov eax, dword [ebp - 0x2b4]
add eax, 4
push 0x37
pop ecx
xor eax, ecx
mov word [ebp - 0x2a8], ax
mov eax, dword [ebp - 0x2b4]
add eax, 5
xor eax, 0x33
mov word [ebp - 0x2a6], ax
mov eax, dword [ebp - 0x2b4]
add eax, 6
xor eax, 0x30
mov word [ebp - 0x2a4], ax
mov eax, dword [ebp - 0x2b4]
add eax, 7
xor eax, 0x30
mov word [ebp - 0x2a2], ax
mov eax, dword [ebp - 0x2b4]
add eax, 8
xor eax, 0x45
mov word [ebp - 0x2a0], ax
mov eax, dword [ebp - 0x2b4]
add eax, 9
push 0x2d
pop edx
xor eax, edx
mov word [ebp - 0x29e], ax
mov eax, dword [ebp - 0x2b4]
add eax, 0xa
xor eax, 0x31
mov word [ebp - 0x29c], ax
mov eax, dword [ebp - 0x2b4]
add eax, 0xb
xor eax, ecx
mov word [ebp - 0x29a], ax
mov eax, dword [ebp - 0x2b4]
add eax, 0xc
xor eax, 0x45
mov word [ebp - 0x298], ax
mov eax, dword [ebp - 0x2b4]
add eax, 0xd
xor eax, 0x43
mov word [ebp - 0x296], ax
mov eax, dword [ebp - 0x2b4]
add eax, 0xe
xor eax, edx
mov word [ebp - 0x294], ax
mov eax, dword [ebp - 0x2b4]
add eax, 0xf
xor eax, 0x34
mov word [ebp - 0x292], ax
mov eax, dword [ebp - 0x2b4]
add eax, 0x10
xor eax, 0x31
mov word [ebp - 0x290], ax
mov eax, dword [ebp - 0x2b4]
add eax, 0x11
xor eax, 0x64
mov word [ebp - 0x28e], ax
mov eax, dword [ebp - 0x2b4]
add eax, 0x12
xor eax, 0x62
mov word [ebp - 0x28c], ax
mov eax, dword [ebp - 0x2b4]
add eax, 0x13
xor eax, edx
mov word [ebp - 0x28a], ax
mov eax, dword [ebp - 0x2b4]
add eax, 0x14
xor eax, edi
mov word [ebp - 0x288], ax
mov eax, dword [ebp - 0x2b4]
add eax, 0x15
xor eax, 0x33
mov word [ebp - 0x286], ax
mov eax, dword [ebp - 0x2b4]
add eax, 0x16
xor eax, 0x46
mov word [ebp - 0x284], ax
mov eax, dword [ebp - 0x2b4]
add eax, 0x17
xor eax, 0x41
mov word [ebp - 0x282], ax
mov eax, dword [ebp - 0x2b4]
add eax, 0x18
xor eax, edx
mov word [ebp - 0x280], ax
mov eax, dword [ebp - 0x2b4]
add eax, 0x19
xor eax, 0x44
mov word [ebp - 0x27e], ax
mov eax, dword [ebp - 0x2b4]
add eax, 0x1a
xor eax, 0x34
mov word [ebp - 0x27c], ax
mov eax, dword [ebp - 0x2b4]
add eax, 0x1b
xor eax, esi
mov word [ebp - 0x27a], ax
mov eax, dword [ebp - 0x2b4]
add eax, 0x1c
xor eax, 0x38
mov word [ebp - 0x278], ax
mov eax, dword [ebp - 0x2b4]
add eax, 0x1d
xor eax, esi
mov word [ebp - 0x276], ax
mov eax, dword [ebp - 0x2b4]
add eax, 0x1e
xor eax, ecx
mov word [ebp - 0x274], ax
mov eax, dword [ebp - 0x2b4]
add eax, 0x1f
xor eax, esi
mov word [ebp - 0x272], ax
mov eax, dword [ebp - 0x2b4]
add eax, 0x20
xor eax, esi
mov word [ebp - 0x270], ax
mov eax, dword [ebp - 0x2b4]
add eax, 0x21
xor eax, ecx
mov word [ebp - 0x26e], ax
mov eax, dword [ebp - 0x2b4]
add eax, 0x22
xor eax, 0x46
mov word [ebp - 0x26c], ax
mov eax, dword [ebp - 0x2b4]
add eax, 0x23
xor eax, ecx
mov word [ebp - 0x26a], ax
mov eax, dword [ebp - 0x2b4]
add eax, 0x24
xor eax, ecx
mov word [ebp - 0x268], ax
mov eax, dword [ebp - 0x2b4]
add eax, 0x25
xor eax, 0x7d
mov word [ebp - 0x266], ax
xor eax, eax
mov cx, word [ebp - 0x2b0]
push eax
lea ecx, [ebp - 0x2b4]
mov word [ebp - 0x264], ax
call fcn.1000b49e
push eax
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
mov eax, ebx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100cc9b8
leave
ret