Function at 0x10014fdf
Capabilities:
Query environment variable

Disassembly:
push 8
mov eax, 0x100498c5
call fcn.100263df
mov ebx, dword [ebp + 8]
push ebx
call fcn.10015b8d
mov edi, dword [ebp + 0xc]
mov edx, eax
pop ecx
mov ecx, dword [edi]
dec ecx
cmp ecx, 0xc
ja case.0x10015006.5
jmp dword [ecx*4 + 0x10015407]
cmp dword [edi + 4], 0xc350
jne 0x10015028
push ebx
call fcn.10015545
pop ecx
test al, al
je 0x10015028
push 0
jmp 0x100153ea
and dword [ebp + 0xc], 0
and dword [ebp - 4], 0
lea ecx, [ebp + 0xc]
push ecx
push 0x1004e720
push 0x2710
mov eax, dword [ebx]
push ebx
call dword [eax + 0x38]
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x10015054
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
mov eax, dword [ebp + 0xc]
or dword [ebp - 4], 0xffffffff
test eax, eax
je case.0x10015006.5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp case.0x10015006.5
and dword [ebp + 0xc], 0
lea ecx, [ebp + 0xc]
mov dword [ebp - 4], 1
push ecx
push 0x1004e730
push 0x271f
jmp 0x1001503e
and dword [ebp - 0x10], 0
mov eax, dword [ebx]
lea ecx, [ebp - 0x10]
push ecx
push 0x1004e720
push 0x2710
push ebx
mov dword [ebp - 4], 2
call dword [eax + 0x38]
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x100150b4
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
jmp 0x100150ee
and dword [ebp + 0xc], 0
mov eax, dword [ebx]
lea ecx, [ebp + 0xc]
push ecx
push 0x1004e740
push 0x2715
push ebx
mov byte [ebp - 4], 3
call dword [eax + 0x38]
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x100150e0
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
mov eax, dword [ebp + 0xc]
mov byte [ebp - 4], 2
test eax, eax
je 0x100150ee
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x10]
jmp 0x10015054
and dword [ebp + 0xc], 0
mov eax, dword [ebx]
lea ecx, [ebp + 0xc]
push ecx
push 0x1004e740
push 0x2715
push ebx
mov dword [ebp - 4], 4
call dword [eax + 0x38]
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x10015054
mov ecx, dword [eax]
push eax
call dword [ecx + 0x10]
jmp 0x10015051
and dword [ebp + 0xc], 0
cmp dword [edi + 4], 0xc368
mov eax, dword [ebx]
jne 0x1001516f
lea ecx, [ebp + 0xc]
mov dword [ebp - 4], 5
push ecx
push 0x1004e750
push 0x271a
push ebx
call dword [eax + 0x38]
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x10015160
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
push 1
push ebx
call fcn.10014cf8
pop ecx
pop ecx
jmp 0x10015051
cmp dword [edi + 4], 0xc352
jne 0x100151d7
lea ecx, [ebp + 0xc]
mov dword [ebp - 4], 6
push ecx
push 0x1004e730
push 0x271f
push ebx
call dword [eax + 0x38]
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x10015054
mov ecx, dword [eax]
lea edx, [ebp - 0x14]
push edx
push eax
call dword [ecx + 0x10]
cmp dword [ebp - 0x14], 1
je 0x10015051
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
test eax, eax
je 0x10015051
push 0
push dword [edi + 0x2c]
push dword [edi + 0x28]
push ebx
call fcn.10014def
add esp, 0x10
jmp 0x10015051
lea ecx, [ebp + 0xc]
mov dword [ebp - 4], 7
push ecx
push 0x1004e750
push 0x271a
jmp 0x10015040
and dword [ebp + 0xc], 0
cmp dword [edi + 4], 0xc368
mov eax, dword [ebx]
jne 0x1001522d
lea ecx, [ebp + 0xc]
mov dword [ebp - 4], 8
push ecx
push 0x1004e750
push 0x271a
push ebx
call dword [eax + 0x38]
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x10015226
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
push 0
jmp 0x10015162
cmp dword [edi + 4], 0xc352
jne 0x1001526d
lea ecx, [ebp + 0xc]
mov dword [ebp - 4], 9
push ecx
push 0x1004e730
push 0x271f
push ebx
call dword [eax + 0x38]
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x10015054
mov ecx, dword [eax]
lea edx, [ebp - 0x14]
push edx
push eax
call dword [ecx + 0x10]
cmp dword [ebp - 0x14], 0
jmp 0x100151aa
lea ecx, [ebp + 0xc]
mov dword [ebp - 4], 0xa
push ecx
push 0x1004e750
push 0x271a
push ebx
call dword [eax + 0x38]
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x10015054
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14]
jmp 0x10015051
cmp dword [edi + 4], 0xc353
mov eax, dword [edi + 0x14]
jne 0x100152bc
push eax
push 0
push 0x14d
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
jmp case.0x10015006.5
add eax, 0xfffffff0
push eax
call fcn.100025ee
add eax, 0x10
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x10]
mov dword [ebp - 4], 0xb
mov dword [esp], 0x104
call fcn.10004eec
push 0x104
lea ecx, [ebp - 0x10]
mov esi, eax
call fcn.100055b7
push 0x104
push esi
push dword [edi + 0x14]
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
push 0xffffffffffffffff
lea ecx, [ebp - 0x10]
call fcn.10005120
and dword [ebp + 0xc], 0
mov eax, dword [ebx]
lea ecx, [ebp + 0xc]
push ecx
push 0x1004e760
push 0x2712
push ebx
mov byte [ebp - 4], 0xc
call dword [eax + 0x38]
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp - 0x10]
test eax, eax
je 0x1001537f
push dword [esi - 0xc]
push esi
call dword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov edx, eax
mov dword [ebp - 0x14], edx
test edx, edx
je 0x100153ff
mov eax, dword [ebp + 0xc]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
push dword [ebp - 0x14]
mov edi, eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
test edi, edi
je 0x1001537c
push ecx
lea eax, [esi - 0x10]
mov edi, esp
push eax
mov dword [ebp - 0x14], edi
call fcn.100025ee
pop ecx
add eax, 0x10
push ebx
mov dword [edi], eax
call fcn.10015fc2
pop ecx
pop ecx
mov eax, dword [ebp + 0xc]
mov byte [ebp - 4], 0xb
test eax, eax
je 0x1001538d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [esi - 0x10]
call fcn.10005108
jmp case.0x10015006.5
and dword [ebp - 0x14], 0
mov eax, dword [ebx]
lea ecx, [ebp - 0x14]
push ecx
push 0x1004e770
push 0x2714
push ebx
mov dword [ebp - 4], 0xd
call dword [eax + 0x38]
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x10015054
movsd xmm0, qword [0x1004e780]
sub esp, 0x10
mov ecx, dword [eax]
movsd qword [esp + 8], xmm0
xorps xmm0, xmm0
movsd qword [esp], xmm0
push eax
call dword [ecx + 0x10]
mov eax, dword [ebp - 0x14]
jmp 0x10015054
push 1
push dword [edi + 0x2c]
push dword [edi + 0x28]
push ebx
call fcn.10014def
add esp, 0x10
call fcn.100263ad
ret
call fcn.1000599e
nop dword [eax]
or eax, 0x21100150
push eax
add dword [eax], edx
call 0xac115567
push edx
add dword [eax], edx
stc
push ebx
add dword [eax], edx
sub edx, dword [ecx + 1]
adc cl, dh
push ecx
add dword [eax], edx
imul edx, dword [eax + 1], 0x10
xchg byte [eax + 1], dl
adc dh, dh
push eax
add dword [eax], edx
xchg edi, eax
push ebx
add dword [eax], edx
stc
push ebx
add dword [eax], edx
stc
push ebx
add dword [eax], edx