Function at 0x1002b633
Capabilities:
Set environment variable

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10062ad2
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0xe8
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
movzx eax, byte [ebp + 0xc]
test eax, eax
je 0x1002bb49
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc4], eax
lea eax, [ebp + 0x20]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x6c], 0x248b
mov dword [ebp - 0x74], 0x1000a03c
cmp dword [ebp - 0x6c], 0x26b2
jle 0x1002b708
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
and dword [ebp - 0x40], 0
jmp 0x1002b6bc
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0x579b
jge 0x1002b708
and dword [ebp - 0x24], 0
jmp 0x1002b6d2
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x6c3c
jge 0x1002b706
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x24]
cdq
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
push dword [ebp - 0xcc]
push dword [ebp - 0xd0]
mov ecx, 0x1060b0b8
call fcn.1002fc7c
jmp 0x1002b6cb
jmp 0x1002b6b5
mov eax, dword [ebp + 0x28]
mov dword [ebp - 0xc8], eax
and dword [ebp - 4], 0
cmp dword [ebp - 0x6c], 0x2181
jge 0x1002b72b
mov edx, dword [ebp - 0x74]
mov ecx, 0x1060b0b8
call fcn.10031726
jmp 0x1002b747
or dword [ebp - 4], 0xffffffff
jmp 0x1002b751
mov dword [ebp - 0x54], 0x1ef6
mov dword [ebp - 0x7c], 0x1000a074
cmp dword [ebp - 0x54], 0x20ea
jle 0x1002b807
and dword [ebp - 0x3c], 0
jmp 0x1002b779
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x4bb6
jge 0x1002b807
and dword [ebp - 0x20], 0
jmp 0x1002b793
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x756
jge 0x1002b802
and dword [ebp - 0x34], 0
jmp 0x1002b7a9
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0x5fce
jge 0x1002b800
and dword [ebp - 0x2c], 0
jmp 0x1002b7bf
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x1ece
jge 0x1002b7fe
mov ecx, dword [ebp - 0x34]
sub ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x3c]
cdq
idiv dword [ebp - 0x20]
xor edx, ecx
mov eax, edx
cdq
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd8], edx
push dword [ebp - 0xd8]
push dword [ebp - 0xdc]
mov ecx, 0x1060b0b8
call fcn.1002fc7c
jmp 0x1002b7b8
jmp 0x1002b7a2
jmp 0x1002b78c
jmp 0x1002b772
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 4], 2
cmp dword [ebp - 0x54], 0x1d04
jge 0x1002b82d
mov edx, dword [ebp - 0x7c]
mov ecx, 0x1060b0b8
call fcn.10031726
jmp 0x1002b849
or dword [ebp - 4], 0xffffffff
jmp 0x1002b853
mov eax, dword [ebp - 0xac]
movzx eax, byte [eax]
test eax, eax
je 0x1002b9fa
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x64], 0xbed
mov dword [ebp - 0xb8], 0x1000a0d0
cmp dword [ebp - 0x64], 0xe86
jle 0x1002b971
call dword [sym.imp.GDI32.dll_GdiFlush]
and dword [ebp - 0x28], 0
jmp 0x1002b8b6
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x27ec
jge 0x1002b971
and dword [ebp - 0x30], 0
jmp 0x1002b8d0
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0x2bb2
jge 0x1002b96c
and dword [ebp - 0x38], 0
jmp 0x1002b8ea
mov eax, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0x521c
jge 0x1002b967
and dword [ebp - 0x1c], 0
jmp 0x1002b900
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xa9c
jge 0x1002b962
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x30]
sar eax, cl
xor eax, dword [ebp - 0x38]
or eax, dword [ebp - 0x1c]
cdq
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], edx
push dword [ebp - 0xbc]
push dword [ebp - 0xc0]
lea ecx, [ebp - 0xf8]
call fcn.1000d8f0
pop ecx
pop ecx
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 0xb4]
call fcn.1002fc5c
push eax
call fcn.1004cdd6
pop ecx
lea ecx, [ebp - 0xf8]
call fcn.1002fc52
jmp 0x1002b8f9
jmp 0x1002b8e3
jmp 0x1002b8c9
jmp 0x1002b8af
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x9c], eax
mov dword [ebp - 4], 4
cmp dword [ebp - 0x64], 0xa47
jge 0x1002b999
push dword [ebp - 0xb8]
call fcn.1004cdd6
pop ecx
jmp 0x1002b9b5
or dword [ebp - 4], 0xffffffff
jmp 0x1002b9bf
mov eax, dword [ebp - 0x18]
mov dword [eax], 0
jmp 0x1002b9d5
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov eax, dword [ebp - 0x18]
cmp dword [eax], 1
jge 0x1002b9f5
mov eax, dword [ebp - 0x18]
push dword [eax]
mov ecx, dword [ebp - 0x9c]
call fcn.1002fe2f
mov dword [eax], 0x95cc9e52
jmp 0x1002b9ca
jmp 0x1002bb47
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0x14]
mov esi, dword [eax]
push 1
mov ecx, dword [ebp - 0x44]
call fcn.1002fe2f
add esi, dword [eax]
jne 0x1002ba72
mov dword [ebp - 0x5c], 1
jmp 0x1002ba76
and dword [ebp - 0x5c], 0
cmp dword [ebp - 0x5c], 0x3e76
je 0x1002ba88
mov dword [ebp - 0x48], 1
jmp 0x1002ba8c
and dword [ebp - 0x48], 0
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x48]
mov dword [eax], ecx
mov eax, dword [ebp - 0x14]
push dword [eax]
mov ecx, dword [ebp - 0x44]
call fcn.1002fe2f
mov ecx, dword [ebp - 0x48]
cmp ecx, dword [eax]
je 0x1002bab4
mov dword [ebp - 0x4c], 1
jmp 0x1002bab8
and dword [ebp - 0x4c], 0
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
imul eax, dword [ebp - 0x4c]
test eax, eax
je 0x1002bad7
mov eax, 0x191b4956
test eax, eax
je 0x1002bad7
mov dword [ebp - 0x50], 1
jmp 0x1002badb
and dword [ebp - 0x50], 0
mov eax, dword [ebp - 0x14]
push dword [eax]
mov ecx, dword [ebp - 0x44]
call fcn.1002fe2f
mov eax, dword [eax]
cmp eax, dword [ebp - 0x50]
jl 0x1002baf8
mov dword [ebp - 0x58], 1
jmp 0x1002bafc
and dword [ebp - 0x58], 0
cmp dword [ebp - 0x58], 0xfffffff6
jge 0x1002bb0b
mov dword [ebp - 0x60], 1
jmp 0x1002bb0f
and dword [ebp - 0x60], 0
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
cmp dword [ebp - 0x60], eax
jne 0x1002bb22
mov dword [ebp - 0x68], 1
jmp 0x1002bb26
and dword [ebp - 0x68], 0
cmp dword [ebp - 0x68], 0x6358
jne 0x1002bb38
mov dword [ebp - 0x70], 1
jmp 0x1002bb3c
and dword [ebp - 0x70], 0
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x70]
mov dword [eax], ecx
jmp 0x1002bb67
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0xb0], eax
push dword [ebp - 0xb0]
push 0
push 0x1354
call fcn.1001b12f
add esp, 0xc
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret