Function at 0x1002a07f
Capabilities:
Create directory
Query environment variable

Disassembly:
push 0x298
push 0x1002a118
call fcn.100014a0
mov eax, dword [0x1003b164]
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp + 8]
mov dword [ebp - 0x2a0], edx
xor ebx, ebx
mov dword [ebp - 0x27c], ebx
mov word [ebp - 0x6c], bx
push 0x13
pop ecx
xor eax, eax
lea edi, [ebp - 0x6a]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov word [ebp - 0x278], bx
mov ecx, 0x82
xor eax, eax
lea edi, [ebp - 0x276]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x280], ebx
mov word [ebp - 0x29c], bx
lea edi, [ebp - 0x29a]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dword [ebp - 0x28c], 0xa
xor esi, esi
inc esi
mov dword [ebp - 0x288], esi
mov dword [ebp - 0x284], ebx
cmp edx, ebx
jne 0x1002a130
mov eax, 0x80070057
mov ecx, dword [ebp - 0x1c]
call fcn.10023cf0
call fcn.10001766
ret 4
mov dword [ebp - 4], ebx
mov dword [ebp - 4], esi
lea eax, [ebp - 0x28c]
push eax
lea eax, [ebp - 0x280]
push eax
lea eax, [ebp - 0x288]
push eax
lea eax, [ebp - 0x284]
push eax
call fcn.10029405
mov dword [ebp - 0x27c], eax
cmp eax, ebx
jne 0x1002a16f
cmp dword [ebp - 0x288], ebx
jne 0x1002a183
mov dword [ebp - 0x27c], esi
mov dword [ebp - 4], ebx
call fcn.1002a3ad
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x27c]
jmp 0x1002a107
mov eax, dword [ebp - 0x284]
cmp eax, ebx
je 0x1002a1c0
mov dword [ebp - 0x2a8], eax
push 4
pop ecx
mov edi, 0x1002a1b0
mov esi, eax
xor edx, edx
repe cmpsd dword [esi], dword es:[edi]
jne 0x1002a1c0
mov dword [ebp - 0x27c], 1
jmp 0x1002a16f
push 0x28
lea ecx, [ebp - 0x6c]
push ecx
push eax
call dword [sym.imp.ole32.dll_StringFromGUID2]
mov esi, 0x104
push esi
lea eax, [ebp - 0x278]
push eax
push dword [ebp - 0x280]
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
mov dword [ebp - 0x2a4], eax
cmp eax, ebx
jne 0x1002a222
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
jg 0x1002a214
call esi
mov esi, eax
push 0xffffffffffffffff
lea eax, [ebp - 0x10]
push eax
call sub.msvcrt.dll__local_unwind2
pop ecx
pop ecx
mov eax, esi
jmp 0x1002a107
call esi
and eax, 0xffff
or eax, 0x80070000
jmp 0x1002a1fe
cmp eax, esi
jbe 0x1002a22d
mov esi, 0x8007006f
jmp 0x1002a200
push dword [ebp - 0x28c]
lea eax, [ebp - 0x278]
push eax
lea eax, [ebp - 0x6c]
push eax
call fcn.10029e95
lea eax, [ebp - 0x29c]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov edi, dword [ebp - 0x2a0]
mov word [edi + 0x208], bx
movzx eax, word [ebp - 0x290]
push eax
movzx eax, word [ebp - 0x292]
push eax
movzx eax, word [ebp - 0x294]
push eax
movzx eax, word [ebp - 0x296]
push eax
movzx eax, word [ebp - 0x29a]
push eax
movzx eax, word [ebp - 0x29c]
push eax
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x278]
push eax
push 0x1002a358
push esi
push edi
call fcn.100278e1
add esp, 0x2c
mov dword [ebp - 0x27c], eax
cmp eax, ebx
jl 0x1002a16f
push ebx
lea eax, [ebp - 0x278]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push edi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0x1002a318
push 0x1002a304
call fcn.10029d90
mov dword [ebp - 0x27c], eax
push ebx
push edi
call dword [sym.imp.msvcrt.dll__waccess]
add esp, 0x18
test eax, eax
je 0x1002a16f
mov dword [ebp - 0x27c], 0x80004005
jmp 0x1002a16f