Function at 0x881350
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x8b93f2
mov eax, dword fs:[0]
push eax
sub esp, 0x1bc
mov eax, dword [0x8d0e70]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, edx
mov dword [ebp - 0x16c], ebx
mov eax, ecx
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x168], eax
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x164], 0
test ecx, ecx
je 0x8813ed
mov eax, dword [ebx + 0xc]
mov edi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar_1]
inc eax
push 0
push 0
push eax
push ecx
push 0
push 0xfde9
call edi
mov esi, eax
lea eax, [esi + esi]
call fcn.008a2f90
mov eax, dword [ebx + 0xc]
mov ecx, esp
push esi
push ecx
inc eax
mov dword [ebp - 0x164], ecx
push eax
push dword [ebx + 4]
push 0
push 0xfde9
call edi
push 0x208
mov ebx, 0x104
call fcn.008a61a6
add esp, 4
mov esi, eax
push ebx
push esi
push dword [ebp - 0x164]
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov edi, eax
test edi, edi
je 0x881468
cmp ebx, edi
jae 0x8816bf
lea eax, [edi + edi]
add ebx, ebx
cmp ebx, eax
je 0x881452
test ebx, ebx
jne 0x881435
push eax
call fcn.008a61a6
add esp, 4
jmp 0x881450
test eax, eax
jne 0x881446
push esi
call fcn.008a61a1
add esp, 4
xor esi, esi
jmp 0x881452
push eax
push esi
call fcn.008a61b1
add esp, 8
mov esi, eax
push edi
push esi
push dword [ebp - 0x164]
mov ebx, edi
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov edi, eax
test edi, edi
jne 0x881415
call dword [sym.imp.KERNEL32.dll_GetLastError_1]
mov edi, eax
cmp edi, 0xcb
je 0x8816b0
test edi, edi
je 0x8816b0
push 0x8cb92c
lea ecx, [ebp - 0x1b4]
mov dword [ebp - 0x1b4], 0x8cbcf8
call fcn.00886ac0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x168]
mov word [ebp - 0x164], 0xd440
movzx eax, word [ebp - 0x164]
mov word [ebp - 0x168], ax
mov word [ebp - 0x164], 0xd419
movzx eax, word [ebp - 0x164]
mov word [ebp - 0x166], ax
lea eax, [ebp - 0x78]
push eax
call fcn.00881770
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 1
push eax
push ecx
lea ecx, [ebp - 0x160]
call fcn.00881830
mov ecx, eax
call fcn.008817c0
push edi
lea eax, [ebp - 0x30]
mov dword [ebp - 0x1a4], 0x8cbcf8
push 0x8cbc7c
push eax
call fcn.008861a0
add esp, 0xc
lea eax, [ebp - 0x30]
lea ecx, [ebp - 0x1a4]
push eax
call fcn.00886ac0
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 3
push eax
push ecx
lea ecx, [ebp - 0xa0]
call fcn.00881890
mov ecx, eax
call fcn.008781e0
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 4
push eax
push ecx
lea ecx, [ebp - 0xf8]
call fcn.00881700
mov ecx, eax
call fcn.00879910
mov edi, eax
cmp dword [ebp - 0x64], 0x10
lea eax, [ebp - 0x78]
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x20], 0x8cbcf8
cmovae eax, dword [ebp - 0x78]
push eax
call fcn.00886ac0
cmp dword [ebp - 0x4c], 0x10
lea eax, [ebp - 0x60]
lea ecx, [ebp - 0x194]
mov dword [ebp - 0x194], 0x8cbcf8
cmovae eax, dword [ebp - 0x60]
push eax
call fcn.00886ac0
cmp dword [ebp - 0x34], 0x10
lea eax, [ebp - 0x48]
lea ecx, [ebp - 0x184]
mov dword [ebp - 0x184], 0x8cbcf8
cmovae eax, dword [ebp - 0x48]
push eax
call fcn.00886ac0
lea eax, [ebp - 0x1b4]
push eax
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x16c]
lea eax, [ebp - 0x194]
push eax
lea eax, [ebp - 0x1a4]
push eax
lea eax, [ebp - 0x184]
push eax
lea ecx, [ebp - 0x1c4]
call fcn.008866f0
mov byte [ebp - 4], 9
cmp dword [edi + 0x14], 0x10
jb 0x8815fd
mov edi, dword [edi]
push ecx
mov ecx, dword [0x8d361c]
push 0
push 0x4eb
push edi
push dword [eax + 4]
call fcn.00895d10
mov eax, dword [ebp - 0x1c0]
mov dword [ebp - 0x1c4], 0x8cbcf8
test eax, eax
je 0x881631
push eax
call fcn.008a61a1
add esp, 4
mov eax, dword [ebp - 0x180]
test eax, eax
je 0x881644
push eax
call fcn.008a61a1
add esp, 4
mov eax, dword [ebp - 0x190]
test eax, eax
je 0x881657
push eax
call fcn.008a61a1
add esp, 4
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x881667
push eax
call fcn.008a61a1
add esp, 4
lea ecx, [ebp - 0x90]
call fcn.008762b0
lea ecx, [ebp - 0x48]
call fcn.008762b0
mov eax, dword [ebp - 0x1a0]
test eax, eax
je 0x88168d
push eax
call fcn.008a61a1
add esp, 4
lea ecx, [ebp - 0x60]
call fcn.008762b0
lea ecx, [ebp - 0x78]
call fcn.008762b0
mov eax, dword [ebp - 0x1b0]
test eax, eax
je 0x8816b0
push eax
call fcn.008a61a1
add esp, 4
test esi, esi
je 0x8816bd
push esi
call fcn.008a61a1
add esp, 4
xor esi, esi
mov edi, dword [ebp - 0x170]
mov ecx, edi
push esi
call fcn.00886a10
test esi, esi
je 0x8816da
push esi
call fcn.008a61a1
add esp, 4
mov eax, edi
lea esp, [ebp - 0x1d8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.008a28ee
mov esp, ebp
pop ebp
ret