Function at 0x100c602d
Capabilities:
Query environment variable

Disassembly:
push 0x868
mov eax, 0x1016caf6
call fcn.1012b71c
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x844], eax
and dword [ebp - 0x81c], 0
xor ebx, ebx
inc ebx
mov ecx, eax
call fcn.100cb8a5
and dword [ebp - 4], 0
and dword [ebp - 0x82c], 0
mov byte [ebp - 4], bl
mov byte [ebp - 4], 2
mov esi, dword [esi]
push edi
lea ecx, [ebp - 0x830]
call fcn.1001de59
mov byte [ebp - 4], 3
mov dword [ebp - 0x81c], ebx
mov ecx, dword [esi]
lea edx, [ebp - 0x82c]
push edx
push dword [eax]
push esi
call dword [ecx + 0x68]
test eax, eax
js 0x100c60a8
cmp dword [ebp - 0x82c], 0
mov byte [ebp - 0x815], bl
jne 0x100c60af
mov byte [ebp - 0x815], 0
mov dword [ebp - 4], 2
mov dword [ebp - 0x81c], ebx
and ebx, 0xfffffffe
mov dword [ebp - 0x81c], ebx
push dword [ebp - 0x830]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp byte [ebp - 0x815], 0
je 0x100c6568
and dword [ebp - 0x84c], 0
mov eax, dword [ebp - 0x82c]
mov ecx, dword [eax]
lea edx, [ebp - 0x84c]
push edx
push eax
call dword [ecx + 0x20]
xor esi, esi
mov dword [ebp - 0x840], esi
cmp esi, dword [ebp - 0x84c]
jge 0x100c6568
and dword [ebp - 0x828], 0
mov byte [ebp - 4], 4
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x82c]
mov ecx, dword [eax]
lea edx, [ebp - 0x828]
push edx
push esi
push eax
call dword [ecx + 0x1c]
test eax, eax
js 0x100c654a
cmp dword [ebp - 0x828], 0
je 0x100c654a
and dword [ebp - 0x824], 0
mov byte [ebp - 4], 6
mov byte [ebp - 4], 7
push str.back
push ecx
mov ecx, esp
mov dword [ebp - 0x848], esp
lea eax, [ebp - 0x828]
push eax
call fcn.1001dd67
mov byte [ebp - 4], 8
lea eax, [ebp - 0x860]
push eax
mov byte [ebp - 4], 7
call fcn.1004e593
mov byte [ebp - 4], 9
push dword [eax]
call fcn.10136ce4
add esp, 0x10
mov edi, eax
mov byte [ebp - 4], 0xa
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x860]
lea ecx, [ecx - 0x10]
call fcn.100078bc
mov esi, dword [ebp - 0x828]
push str.item
lea ecx, [ebp - 0x864]
call fcn.1001de59
mov byte [ebp - 4], 0xb
or ebx, 2
mov dword [ebp - 0x81c], ebx
mov ecx, dword [esi]
lea edx, [ebp - 0x824]
push edx
push dword [eax]
push esi
call dword [ecx + 0x68]
test eax, eax
js 0x100c61ed
cmp dword [ebp - 0x824], 0
mov byte [ebp - 0x815], 1
jne 0x100c61f4
mov byte [ebp - 0x815], 0
mov dword [ebp - 4], 7
test bl, 2
je 0x100c6215
and ebx, 0xfffffffd
mov dword [ebp - 0x81c], ebx
push dword [ebp - 0x864]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp byte [ebp - 0x815], 0
je 0x100c652c
xor eax, eax
mov dword [ebp - 0x858], eax
mov dword [ebp - 0x854], eax
mov dword [ebp - 0x850], eax
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x85c], eax
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x85c], edi
mov dword [ebp - 0x830], eax
mov eax, dword [ebp - 0x824]
mov ecx, dword [eax]
lea edx, [ebp - 0x830]
push edx
push eax
call dword [ecx + 0x20]
xor esi, esi
mov dword [ebp - 0x874], esi
cmp esi, dword [ebp - 0x830]
jge 0x100c64f4
and dword [ebp - 0x820], 0
mov byte [ebp - 4], 0xe
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x824]
mov ecx, dword [eax]
lea edx, [ebp - 0x820]
push edx
push esi
push eax
call dword [ecx + 0x1c]
test eax, eax
js 0x100c64d6
cmp dword [ebp - 0x820], 0
je 0x100c64d6
lea ecx, [ebp - 0x838]
call fcn.100c45cf
mov byte [ebp - 4], 0x10
push 0x1019d870
push ecx
mov ecx, esp
mov dword [ebp - 0x848], esp
lea eax, [ebp - 0x820]
push eax
call fcn.1001dd67
mov byte [ebp - 4], 0x11
lea eax, [ebp - 0x868]
push eax
mov byte [ebp - 4], 0x10
call fcn.1004daea
mov byte [ebp - 4], 0x12
push dword [eax]
call fcn.10136ce4
add esp, 0x10
mov byte [ebp - 0x837], al
mov byte [ebp - 4], 0x13
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x868]
add ecx, 0xfffffff0
call fcn.100078bc
push 0x1019d878
push ecx
mov ecx, esp
mov dword [ebp - 0x848], esp
lea eax, [ebp - 0x820]
push eax
call fcn.1001dd67
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0x86c]
push eax
mov byte [ebp - 4], 0x10
call fcn.1004daea
mov byte [ebp - 4], 0x15
push dword [eax]
call fcn.10136ce4
add esp, 0x10
mov byte [ebp - 0x838], al
mov byte [ebp - 4], 0x16
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x86c]
lea ecx, [ecx - 0x10]
call fcn.100078bc
push 0x101bd7f8
lea ecx, [ebp - 0x83c]
call fcn.1001de59
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0x820]
mov ecx, dword [eax]
lea edx, [ebp - 0x83c]
push edx
push eax
call dword [ecx + 0x50]
test eax, eax
jne 0x100c63aa
push dword [ebp - 0x83c]
lea ecx, [ebp - 0x834]
call fcn.100091b4
push 0x101844f4
push ecx
mov ecx, esp
mov dword [ebp - 0x848], esp
lea eax, [ebp - 0x820]
push eax
call fcn.1001dd67
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x870]
push eax
mov byte [ebp - 4], 0x17
call fcn.1004daea
mov byte [ebp - 4], 0x19
or ebx, 4
mov dword [ebp - 0x81c], ebx
push dword [eax]
call fcn.10136ce4
add esp, 0x10
test eax, eax
je 0x100c640a
push dword [ebp - 0x834]
call fcn.10130fe5
pop ecx
test eax, eax
mov byte [ebp - 0x815], 1
jne 0x100c6411
mov byte [ebp - 0x815], 0
mov dword [ebp - 4], 0x17
test bl, 4
je 0x100c643c
and ebx, 0xfffffffb
mov dword [ebp - 0x81c], ebx
mov byte [ebp - 4], 0x1a
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0x870]
lea ecx, [ecx - 0x10]
call fcn.100078bc
cmp byte [ebp - 0x815], 0
je 0x100c64a5
push 0x800
push 0
lea eax, [ebp - 0x814]
push eax
call fcn.1012db70
add esp, 0xc
push 0x400
lea eax, [ebp - 0x814]
push eax
push dword [ebp - 0x834]
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
dec eax
cmp eax, 0x3fe
ja 0x100c64a5
cmp word [ebp - 0x814], 0
je 0x100c64a5
lea eax, [ebp - 0x814]
push eax
call fcn.10130fe5
pop ecx
push eax
lea eax, [ebp - 0x814]
push eax
lea ecx, [ebp - 0x834]
call fcn.10008f20
lea eax, [ebp - 0x838]
push eax
lea ecx, [ebp - 0x858]
call fcn.100c3a87
mov byte [ebp - 4], 0x10
push dword [ebp - 0x83c]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x838]
call fcn.10030d8e
mov byte [ebp - 4], 0x1b
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x820]
test eax, eax
je 0x100c64ee
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
inc esi
jmp 0x100c6265
mov eax, dword [ebp - 0x854]
sub eax, dword [ebp - 0x858]
test eax, 0xfffffff8
je 0x100c6519
lea eax, [ebp - 0x85c]
push eax
mov ecx, dword [ebp - 0x844]
call fcn.100c3a5e
mov byte [ebp - 4], 0x1c
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x858]
call fcn.100381d6
mov byte [ebp - 4], 0x1d
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x824]
test eax, eax
je 0x100c6544
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, dword [ebp - 0x840]
mov byte [ebp - 4], 0x1e
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x828]
test eax, eax
je 0x100c6562
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
inc esi
jmp 0x100c60fa
mov byte [ebp - 4], 0x1f
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x82c]
test eax, eax
je 0x100c6580
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
or dword [ebp - 4], 0xffffffff
xor eax, eax
inc eax
jmp 0x100c65a0
call fcn.1012b669
ret 0xc