Function at 0x46fab0
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x298
lea eax, [ebp + 0xc]
lea ecx, [ebp - 0x18]
push esi
push eax
call fcn.00403190
cmp dword [ebp + 0x1c], 2
jae 0x46fb0b
movups xmm0, xmmword [ebp - 0x18]
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0x18]
xor eax, eax
mov word [ebp - 0x18], ax
movups xmmword [esi], xmm0
movq xmm0, qword [ebp - 8]
movq qword [esi + 0x10], xmm0
mov dword [ebp - 8], 0
mov dword [ebp - 4], 7
call fcn.00403070
lea ecx, [ebp + 0xc]
call fcn.00403070
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp - 4]
lea eax, [ebp - 0x18]
cmp esi, 8
push edi
mov edi, dword [ebp - 0x18]
cmovae eax, edi
cmp word [eax], 0x23
je 0x46ff8c
cmp esi, 8
lea eax, [ebp - 0x18]
cmovae eax, edi
cmp word [eax], 0x2a
je 0x46ff8c
cmp esi, 8
lea eax, [ebp - 0x18]
cmovae eax, edi
cmp word [eax + 2], 0x3a
lea eax, [ebp - 0x18]
je 0x46fca6
cmp esi, 8
cmovae eax, edi
cmp word [eax], 0x2e
jne 0x46fba6
cmp esi, 8
lea eax, [ebp - 0x18]
cmovae eax, edi
cmp word [eax + 2], 0x5c
jne 0x46fba6
lea eax, [ebp - 0x78]
push eax
call fcn.004535f0
add esp, 4
lea eax, [ebp - 0x30]
lea ecx, [ebp - 0x18]
push 0xffffffffffffffff
push 2
push eax
call fcn.0040f770
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.0046c070
add esp, 0xc
lea ecx, [ebp - 0x18]
push eax
call fcn.0040f730
jmp 0x46fc8b
cmp esi, 8
lea eax, [ebp - 0x18]
cmovae eax, edi
cmp word [eax], 0x2e
jne 0x46fcc8
cmp esi, 8
lea eax, [ebp - 0x18]
cmovae eax, edi
cmp word [eax + 2], 0x2e
jne 0x46fcc8
cmp esi, 8
lea eax, [ebp - 0x18]
cmovae eax, edi
cmp word [eax + 4], 0x5c
jne 0x46fcc8
lea eax, [ebp - 0x78]
push eax
call fcn.004535f0
mov eax, dword [ebp - 0x68]
lea ecx, [ebp - 0x78]
add esp, 4
dec eax
push eax
push 0
lea eax, [ebp - 0x30]
push eax
call fcn.0040f770
cmp dword [ebp - 0x1c], 8
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 0x20]
cmovae edx, dword [ebp - 0x30]
test eax, eax
je 0x46fc38
dec eax
or ecx, 0xffffffff
cmp eax, ecx
cmovb ecx, eax
cmp word [edx + ecx*2], 0x5c
lea eax, [edx + ecx*2]
je 0x46fc32
cmp eax, edx
je 0x46fc38
sub eax, 2
cmp word [eax], 0x5c
jne 0x46fc25
sub eax, edx
sar eax, 1
jmp 0x46fc3b
or eax, 0xffffffff
inc eax
lea ecx, [ebp - 0x30]
push eax
push 0
lea eax, [ebp - 0x48]
push eax
call fcn.0040f770
push 0xffffffffffffffff
push 3
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x18]
call fcn.0040f770
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.0046c070
add esp, 0xc
lea ecx, [ebp - 0x18]
push eax
call fcn.0040f730
lea ecx, [ebp - 0x90]
call fcn.00403070
lea ecx, [ebp - 0x60]
call fcn.00403070
lea ecx, [ebp - 0x48]
call fcn.00403070
lea ecx, [ebp - 0x30]
call fcn.00403070
lea ecx, [ebp - 0x78]
call fcn.00403070
lea eax, [ebp - 0x18]
mov ecx, dword [ebp + 8]
push eax
call fcn.00402e20
lea ecx, [ebp - 0x18]
call fcn.00403070
lea ecx, [ebp + 0xc]
call fcn.00403070
mov eax, dword [ebp + 8]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp esi, 8
lea eax, [ebp - 0x18]
cmovae eax, edi
cmp word [eax], 0x3a
jne 0x46fdb1
cmp esi, 8
lea eax, [ebp - 0x18]
cmovae eax, edi
cmp word [eax + 2], 0x5c
jne 0x46fdb1
lea eax, [ebp - 0x48]
push eax
call fcn.004535f0
add esp, 4
lea eax, [ebp - 0x90]
lea ecx, [ebp - 0x18]
push 0xffffffffffffffff
push 2
push eax
call fcn.0040f770
push 3
mov esi, eax
lea ecx, [ebp - 0x48]
push 0
lea eax, [ebp - 0x60]
push eax
call fcn.0040f770
mov edx, dword [esi + 0x10]
mov ecx, dword [eax + 0x14]
mov edi, dword [eax + 0x10]
sub ecx, edi
cmp edx, ecx
jbe 0x46fd4d
mov ecx, dword [esi + 0x14]
sub ecx, edx
cmp ecx, edi
jb 0x46fd4d
cmp dword [eax + 0x14], 8
jb 0x46fd40
mov eax, dword [eax]
push edi
push eax
push 0
mov ecx, esi
call fcn.0043aaf0
jmp 0x46fd5e
cmp dword [esi + 0x14], 8
jb 0x46fd55
mov esi, dword [esi]
push edx
push esi
mov ecx, eax
call fcn.00402350
movups xmm0, xmmword [eax]
xor ecx, ecx
movups xmmword [ebp - 0x30], xmm0
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x18]
movq qword [ebp - 0x20], xmm0
call fcn.0040f730
lea ecx, [ebp - 0x30]
call fcn.00403070
lea ecx, [ebp - 0x60]
call fcn.00403070
lea ecx, [ebp - 0x90]
call fcn.00403070
lea ecx, [ebp - 0x48]
jmp 0x46fc9e
cmp esi, 8
lea eax, [ebp - 0x18]
cmovae eax, edi
cmp word [eax], 0x25
jne 0x46fe12
push 0x208
lea eax, [ebp - 0x298]
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x298]
cmp esi, 8
lea eax, [ebp - 0x18]
cmovae eax, edi
push 0x104
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
dec eax
cmp eax, 0x102
ja 0x46fca3
lea eax, [ebp - 0x298]
push eax
lea ecx, [ebp - 0x18]
call fcn.0040b1b0
jmp 0x46fca3
push 0xffffffffffffffff
push 0x3a
lea ecx, [ebp - 0x18]
call fcn.0040b140
cmp eax, 0xffffffff
jne 0x46fca3
push 0x208
lea eax, [ebp - 0x298]
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x60]
push str.icons
push eax
call fcn.0046f9e0
add esp, 4
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.0040be30
add esp, 0xc
lea ecx, [ebp - 0x60]
call fcn.00403070
cmp dword [ebp - 4], 8
lea edx, [ebp - 0x298]
mov esi, dword [sym.imp.KERNEL32.dll_SearchPathW]
lea ecx, [ebp - 0x18]
cmovae ecx, dword [ebp - 0x18]
lea eax, [ebp - 0x30]
cmp dword [ebp - 0x1c], 8
push 0
cmovae eax, dword [ebp - 0x30]
push edx
push 0x104
push 0
push ecx
push eax
call esi
dec eax
cmp eax, 0x102
jbe 0x46ff64
lea eax, [ebp - 0x90]
push str.iconsurl
push eax
call fcn.0046f9e0
add esp, 4
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.0040be30
add esp, 0xc
lea ecx, [ebp - 0x30]
push eax
call fcn.0040f730
lea ecx, [ebp - 0x60]
call fcn.00403070
lea ecx, [ebp - 0x90]
call fcn.00403070
cmp dword [ebp - 4], 8
lea edx, [ebp - 0x298]
push 0
push edx
push 0x104
lea ecx, [ebp - 0x18]
cmovae ecx, dword [ebp - 0x18]
lea eax, [ebp - 0x30]
cmp dword [ebp - 0x1c], 8
push 0
cmovae eax, dword [ebp - 0x30]
push ecx
push eax
call esi
dec eax
cmp eax, 0x102
jbe 0x46ff64
push 0xffffffffffffffff
push 0x2e
lea ecx, [ebp - 0x18]
call fcn.0040b140
xor edx, edx
mov ecx, str..exe
cmp eax, 0xffffffff
lea eax, [ebp - 0x18]
push edx
cmovne ecx, edx
cmp dword [ebp - 4], 8
lea edx, [ebp - 0x298]
cmovae eax, dword [ebp - 0x18]
push edx
push 0x104
push ecx
push eax
push 0
call esi
dec eax
cmp eax, 0x102
ja 0x46ff5c
lea eax, [ebp - 0x298]
push eax
lea ecx, [ebp - 0x18]
call fcn.0040b1b0
lea ecx, [ebp - 0x30]
jmp 0x46fc9e
lea eax, [ebp - 0x298]
push eax
lea ecx, [ebp - 0x18]
call fcn.0040b1b0
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x18]
push eax
call fcn.00402e20
lea ecx, [ebp - 0x30]
call fcn.00403070
jmp 0x46fcaf
movups xmm0, xmmword [ebp - 0x18]
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0x18]
xor eax, eax
mov word [ebp - 0x18], ax
movups xmmword [esi], xmm0
movq xmm0, qword [ebp - 8]
movq qword [esi + 0x10], xmm0
mov dword [ebp - 8], 0
mov dword [ebp - 4], 7
call fcn.00403070
lea ecx, [ebp + 0xc]
call fcn.00403070
pop edi
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret