Function at 0x10035f98
Capabilities:
Set environment variable

Disassembly:
mov eax, 0x100601be
call fcn.1005f330
sub esp, 0x80
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
push 3
pop edi
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0x60]
push edi
mov dword [ebp - 0x3c], edx
call fcn.1002e184
xor ebx, ebx
lea ecx, [ebp - 0x54]
push edi
mov dword [ebp - 4], ebx
call fcn.1002e184
xor esi, esi
inc esi
mov dword [ebp - 0x7c], esi
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x28], 0xb779
mov dword [ebp - 0x18], ebx
jmp 0x10035ff9
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x60]
mov dword [eax + ecx*4], 0xff0ea75c
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10035fe9
mov dword [ebp - 0x18], ebx
jmp 0x10036013
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x54]
mov dword [eax + ecx*4], 0xfffffff7
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x10036003
mov eax, dword [ebp - 0x54]
mov dword [eax], 2
mov ecx, dword [eax]
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x34], 0xb4b13281
mov dword [ebp - 0x34], 0xffffffff
cmp dword [eax + ecx*4], ebx
jne 0x10036043
dec dword [ebp - 0x28]
mov eax, dword [ebp - 0x54]
dec dword [eax]
jns 0x10036021
lea ecx, [ebp - 0x54]
call fcn.1002e206
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x60]
call fcn.1002e206
push edi
lea ecx, [ebp - 0x6c]
call fcn.1002e184
mov dword [ebp - 4], esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x20], ebx
jmp 0x1003607b
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x6c]
mov dword [eax + ecx*4], 0xf70ad6f2
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x1003606b
mov byte [ebp - 0x11], bl
mov dword [ebp - 0x1c], 0x21e6
cmp dword [ebp - 0x1c], 0x228e
jle 0x100360fc
mov edi, ebx
mov dword [ebp - 0x20], ebx
mov esi, ebx
mov dword [ebp - 0x24], ebx
mov eax, edi
mov ecx, ebx
cdq
idiv esi
mov dword [ebp - 0x28], ecx
mov esi, edx
mov edi, ebx
mov ebx, esi
xor ebx, ecx
mov eax, ebx
mov ecx, 0x106092f8
or eax, edi
cdq
push edx
push eax
call fcn.1002e06f
inc edi
cmp edi, 0x4555
jl 0x100360af
mov ecx, dword [ebp - 0x28]
inc ecx
mov dword [ebp - 0x28], ecx
push 0
pop ebx
cmp ecx, 0x5ea2
jl 0x100360a9
mov esi, dword [ebp - 0x24]
mov edi, dword [ebp - 0x20]
inc esi
mov dword [ebp - 0x24], esi
cmp esi, 0x20a8
jl 0x1003609d
inc edi
mov dword [ebp - 0x20], edi
cmp edi, 0x6581
jl 0x10036098
push 3
pop edi
cmp byte [ebp - 0x11], 0
je 0x10036108
call dword [sym.imp.KERNEL32.dll_GetThreadLocale]
mov byte [ebp - 4], 2
cmp dword [ebp - 0x1c], 0x20d3
jge 0x10036145
mov edx, 0x1000abb0
mov ecx, 0x106092f8
call fcn.1002fb19
jmp 0x10036145
mov dword [ebp - 0x20], 2
cmp dword [ebp - 0x20], ebx
jl 0x100361a6
mov dword [ebp - 0x18], 0xfb770a77
cmp dword [ebp - 0x20], ebx
jne 0x100361a6
mov dword [ebp - 0x18], ebx
jmp 0x10036181
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10036173
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x6c]
cmp dword [eax + ecx*4], ebx
jne 0x10036187
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jle 0x10036162
mov dword [ebp - 0x18], 2
cmp dword [ebp - 0x18], ebx
jl 0x100361a1
mov dword [ebp - 0x2c], ebx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x2c], eax
dec dword [ebp - 0x18]
jns 0x10036193
dec dword [ebp - 0x20]
jns 0x10036151
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x6c]
call fcn.1002e206
push dword [ebp - 0x3c]
movdqa xmm0, xmmword [0x1000c380]
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x8c]
mov dword [ebp - 0x48], ebx
push eax
push ebx
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x44], ebx
movdqu xmmword [ebp - 0x8c], xmm0
mov dword [ebp - 0x40], ebx
call fcn.10030038
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x24], 0xe71b35d5
mov dword [ebp - 0x20], 8
mov dword [ebp - 0x34], 0x637eac69
mov dword [ebp - 0x30], 0xecdcc21d
mov dword [ebp - 0x18], edi
cmp dword [ebp - 0x18], ebx
jl 0x10036273
mov dword [ebp - 0x20], 0xffffffff
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov edi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x48]
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [esi + edi*4], eax
mov eax, dword [ebp - 0x20]
test eax, eax
setns cl
xor edx, edx
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
cmp eax, ecx
mov eax, dword [esi + edi*4]
setg dl
sub eax, edx
add eax, 0x74b1b055
je 0x1003625c
cmp dword [ebp - 0x24], ebx
je 0x1003625c
xor edx, edx
inc edx
jmp 0x1003625e
mov edx, ebx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x20], ecx
dec dword [ebp - 0x18]
jns 0x1003620d
push 3
pop edi
mov dword [ebp - 0x18], ebx
jmp 0x10036351
xor eax, eax
inc eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], 8
mov dword [ebp - 0x20], edi
cmp dword [ebp - 0x20], ebx
jl 0x10036315
mov esi, dword [ebp - 0x18]
mov ecx, 0xffff
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x48]
sub ecx, dword [edx + eax*4]
xor eax, eax
cmp ecx, 1
setg al
xor ecx, ecx
cmp dword [edx + esi*4], eax
mov eax, dword [ebp - 0x28]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setle dl
xor ecx, ecx
cmp edx, eax
setl cl
add ecx, 0x3b9c
je 0x100362dd
cmp dword [ebp - 0x24], ebx
je 0x100362dd
xor edx, edx
inc edx
jmp 0x100362df
mov edx, ebx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x48]
cmp dword [eax + ecx*4], ebx
je 0x100362fa
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
sub eax, 0x2ffa36fe
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
dec dword [ebp - 0x20]
jns 0x10036296
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], ebx
mov eax, dword [ebp - 0x2c]
cmp eax, 6
setle cl
xor edx, edx
imul ecx, dword [ebp - 0x30]
imul ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
sub ecx, 0x4cb1b5ad
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setl dl
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x30], ecx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jle 0x1003627b
lea ecx, [ebp - 0x48]
call fcn.1002e206
mov edx, dword [ebp - 0x38]
mov dword [edx], ebx
cmp dword [edx], edi
jge 0x1003637f
mov esi, dword [ebp - 0x3c]
mov ecx, dword [edx]
mov eax, dword [esi]
mov dword [eax + ecx*4], 0xfffffff7
inc dword [edx]
cmp dword [edx], edi
jl 0x1003636e
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret