Function at 0x46d530
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 0x46d58b
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 0x46da0c
cmp esi, 8
lea eax, [ebp - 0x18]
cmovae eax, edi
cmp word [eax], 0x2a
je 0x46da0c
cmp esi, 8
lea eax, [ebp - 0x18]
cmovae eax, edi
cmp word [eax + 2], 0x3a
lea eax, [ebp - 0x18]
je 0x46d726
cmp esi, 8
cmovae eax, edi
cmp word [eax], 0x2e
jne 0x46d626
cmp esi, 8
lea eax, [ebp - 0x18]
cmovae eax, edi
cmp word [eax + 2], 0x5c
jne 0x46d626
lea eax, [ebp - 0x78]
push eax
call fcn.00450d40
add esp, 4
lea eax, [ebp - 0x30]
lea ecx, [ebp - 0x18]
push 0xffffffffffffffff
push 2
push eax
call fcn.0040fac0
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.00469af0
add esp, 0xc
lea ecx, [ebp - 0x18]
push eax
call fcn.0040fa80
jmp 0x46d70b
cmp esi, 8
lea eax, [ebp - 0x18]
cmovae eax, edi
cmp word [eax], 0x2e
jne 0x46d748
cmp esi, 8
lea eax, [ebp - 0x18]
cmovae eax, edi
cmp word [eax + 2], 0x2e
jne 0x46d748
cmp esi, 8
lea eax, [ebp - 0x18]
cmovae eax, edi
cmp word [eax + 4], 0x5c
jne 0x46d748
lea eax, [ebp - 0x78]
push eax
call fcn.00450d40
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.0040fac0
cmp dword [ebp - 0x1c], 8
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 0x20]
cmovae edx, dword [ebp - 0x30]
test eax, eax
je 0x46d6b8
dec eax
or ecx, 0xffffffff
cmp eax, ecx
cmovb ecx, eax
cmp word [edx + ecx*2], 0x5c
lea eax, [edx + ecx*2]
je 0x46d6b2
cmp eax, edx
je 0x46d6b8
sub eax, 2
cmp word [eax], 0x5c
jne 0x46d6a5
sub eax, edx
sar eax, 1
jmp 0x46d6bb
or eax, 0xffffffff
inc eax
lea ecx, [ebp - 0x30]
push eax
push 0
lea eax, [ebp - 0x48]
push eax
call fcn.0040fac0
push 0xffffffffffffffff
push 3
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x18]
call fcn.0040fac0
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.00469af0
add esp, 0xc
lea ecx, [ebp - 0x18]
push eax
call fcn.0040fa80
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 0x46d831
cmp esi, 8
lea eax, [ebp - 0x18]
cmovae eax, edi
cmp word [eax + 2], 0x5c
jne 0x46d831
lea eax, [ebp - 0x48]
push eax
call fcn.00450d40
add esp, 4
lea eax, [ebp - 0x90]
lea ecx, [ebp - 0x18]
push 0xffffffffffffffff
push 2
push eax
call fcn.0040fac0
push 3
mov esi, eax
lea ecx, [ebp - 0x48]
push 0
lea eax, [ebp - 0x60]
push eax
call fcn.0040fac0
mov edx, dword [esi + 0x10]
mov ecx, dword [eax + 0x14]
mov edi, dword [eax + 0x10]
sub ecx, edi
cmp edx, ecx
jbe 0x46d7cd
mov ecx, dword [esi + 0x14]
sub ecx, edx
cmp ecx, edi
jb 0x46d7cd
cmp dword [eax + 0x14], 8
jb 0x46d7c0
mov eax, dword [eax]
push edi
push eax
push 0
mov ecx, esi
call fcn.00439f30
jmp 0x46d7de
cmp dword [esi + 0x14], 8
jb 0x46d7d5
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.0040fa80
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 0x46d71e
cmp esi, 8
lea eax, [ebp - 0x18]
cmovae eax, edi
cmp word [eax], 0x25
jne 0x46d892
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 0x46d723
lea eax, [ebp - 0x298]
push eax
lea ecx, [ebp - 0x18]
call fcn.0040b290
jmp 0x46d723
push 0xffffffffffffffff
push 0x3a
lea ecx, [ebp - 0x18]
call fcn.0040b220
cmp eax, 0xffffffff
jne 0x46d723
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.0046d460
add esp, 4
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.0040c0b0
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 0x46d9e4
lea eax, [ebp - 0x90]
push str.iconsurl
push eax
call fcn.0046d460
add esp, 4
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.0040c0b0
add esp, 0xc
lea ecx, [ebp - 0x30]
push eax
call fcn.0040fa80
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 0x46d9e4
push 0xffffffffffffffff
push 0x2e
lea ecx, [ebp - 0x18]
call fcn.0040b220
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 0x46d9dc
lea eax, [ebp - 0x298]
push eax
lea ecx, [ebp - 0x18]
call fcn.0040b290
lea ecx, [ebp - 0x30]
jmp 0x46d71e
lea eax, [ebp - 0x298]
push eax
lea ecx, [ebp - 0x18]
call fcn.0040b290
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x18]
push eax
call fcn.00402e20
lea ecx, [ebp - 0x30]
call fcn.00403070
jmp 0x46d72f
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