Function at 0x1095ee5
Capabilities:
Query environment variable

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x50
mov eax, dword [0x10d0620]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
push ebx
push esi
mov dword [ebp - 0x50], eax
mov eax, dword [ebp + 0x14]
xor ebx, ebx
xor esi, esi
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp + 0x18]
inc esi
push edi
mov edi, dword [ebp + 0x1c]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x38], ebx
cmp dword [0x10d39d0], ebx
jne 0x1095f63
push 0x14
lea eax, [ebp - 0x2c]
push eax
push 0x101da6c
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
dec eax
cmp eax, 0x12
ja 0x1095f56
lea eax, [ebp - 0x2c]
push eax
mov dword [0x10d39cc], esi
call dword [sym.imp.msvcrt.dll__wtoi]
pop ecx
mov dword [0x10d39c8], eax
mov dword [0x10d39c4], eax
jmp 0x1095f5b
mov eax, dword [0x10d39c8]
mov dword [0x10d39d0], esi
jmp 0x1095f68
mov eax, dword [0x10d39c8]
mov ecx, dword [ebp + 0xc]
cmp eax, ebx
jne 0x1095f76
mov byte [ebp - 0x32], bl
test ecx, ecx
jns 0x1095f7a
mov byte [ebp - 0x32], 1
cmp dword [0x10d39cc], ebx
jne 0x1095f92
cmp dword [ebp + 8], ebx
jne 0x1095f92
mov byte [ebp - 0x2d], bl
test ecx, 0x40000000
je 0x1095f96
mov byte [ebp - 0x2d], 1
shr ecx, 0x1d
not cl
and cl, 1
mov byte [ebp - 0x31], cl
cmp byte [ebp - 0x32], bl
jne 0x1095faf
cmp byte [ebp - 0x2d], bl
je 0x10963ba
cmp eax, ebx
je 0x1095fc7
inc dword [0x10d39c4]
cmp dword [0x10d39c4], eax
jb 0x1095fc7
mov dword [0x10d39c4], ebx
cmp byte [ebp - 0x2d], bl
je 0x109602e
test cl, cl
je 0x1095fdf
push 0x101da44
push 0xffffffffffffffff
call sub.certcli.dll_Ordinal_203
pop ecx
jmp 0x1095fe9
push 0x101d9f8
call fcn.0109c1a8
pop ecx
push 0x10d0bd0
push 0x101d9c0
push dword [edi + 8]
push dword [ebp - 0x31]
call fcn.010939f1
push 0x10d0ab8
push 0x101d988
push dword [edi + 4]
push dword [ebp - 0x31]
call fcn.010939f1
cmp dword [edi], 0x24
jb 0x109602e
cmp dword [edi + 0x1c], ebx
je 0x109602e
push dword [edi + 0x20]
push 0x101d938
push dword [ebp - 0x31]
call fcn.01094125
mov dword [ebp - 0x3c], ebx
cmp dword [edi + 0xc], ebx
jbe 0x10962f9
cmp byte [ebp - 0x32], 0
mov esi, dword [ebp - 0x3c]
je 0x1096055
mov eax, dword [edi + 0x10]
push esi
push dword [0x10d39c4]
push dword [eax + esi*4]
call fcn.01095bfc
cmp byte [ebp - 0x2d], 0
je 0x10960b5
mov eax, dword [edi + 0x10]
mov eax, dword [eax + esi*4]
push 0x10d0bd0
push 0x101d900
push dword [eax + 8]
push dword [ebp - 0x31]
call fcn.010939f1
mov eax, dword [edi + 0x10]
mov eax, dword [eax + esi*4]
push 0x10d0ab8
push 0x101d8cc
push dword [eax + 4]
push dword [ebp - 0x31]
call fcn.010939f1
mov eax, dword [edi + 0x10]
mov eax, dword [eax + esi*4]
xor ebx, ebx
cmp dword [eax], 0x20
jb 0x10960b7
cmp dword [eax + 0x18], ebx
je 0x10960b7
push dword [eax + 0x1c]
push 0x101d880
push dword [ebp - 0x31]
call fcn.01094125
jmp 0x10960b7
xor ebx, ebx
cmp dword [ebp - 0x38], ebx
je 0x10960c8
push dword [ebp - 0x38]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
mov dword [ebp - 0x38], ebx
cmp dword [ebp - 0x44], ebx
je 0x10960da
push ebx
push dword [ebp - 0x44]
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov dword [ebp - 0x44], ebx
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.01093be5
cmp eax, ebx
je 0x10960f6
push eax
push 0xf6d01a3
call fcn.0108c55a
mov eax, dword [edi + 0x10]
mov eax, dword [eax + esi*4]
mov dword [ebp - 0x40], ebx
cmp dword [eax + 0xc], ebx
jbe 0x10962ea
cmp byte [ebp - 0x2d], 0
mov eax, dword [eax + 0x10]
mov ecx, dword [ebp - 0x40]
mov esi, dword [eax + ecx*4]
jne 0x1096127
cmp dword [ebp + 8], 0
jne 0x1096127
cmp dword [esi + 8], 0
je 0x10962d2
cmp byte [ebp - 0x31], 0
push dword [esi + 8]
push dword [esi + 0xc]
push dword [ebp - 0x40]
push dword [ebp - 0x3c]
je 0x109614a
push 0x101d848
push 0xffffffffffffffff
call sub.certcli.dll_Ordinal_203
add esp, 0x18
jmp 0x1096157
push 0x101d7d8
call fcn.0109c1a8
add esp, 0x14
push 1
push dword [ebp - 0x31]
push dword [esi + 4]
call fcn.0109576b
test eax, eax
je 0x1096173
push eax
push 0xf8401a3
call fcn.0108c55a
push 0x10d0bd0
push 0x101d7a4
push dword [esi + 0xc]
push dword [ebp - 0x31]
call fcn.010939f1
push 0x10d0ab8
push 0x101d774
push dword [esi + 8]
push dword [ebp - 0x31]
call fcn.010939f1
cmp dword [ebp - 0x4c], 0
je 0x10961b5
mov eax, dword [edi + 0x10]
mov ecx, dword [ebp - 0x3c]
push dword [eax + ecx*4]
push dword [ebp - 0x40]
push dword [ebp + 0xc]
call dword [ebp - 0x4c]
mov ebx, dword [esi + 0x10]
test ebx, ebx
je 0x1096209
cmp dword [ebx], 0x1c
jb 0x1096209
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x1096209
push dword [ebp - 0x38]
push dword [eax + 4]
push 0
push dword [ebp - 0x31]
call fcn.0109586d
test eax, eax
je 0x10961e7
push eax
push 0xfa101a3
call fcn.0108c55a
push dword [ebp - 0x38]
mov eax, dword [ebx + 0x18]
push dword [eax + 8]
push 1
push dword [ebp - 0x31]
call fcn.0109586d
test eax, eax
je 0x1096209
push eax
push 0xfa801a3
call fcn.0108c55a
cmp dword [esi], 0x18
jb 0x109621e
push dword [esi + 0x14]
push 0x101d75c
push dword [ebp - 0x31]
call fcn.01093a45
cmp dword [esi], 0x1c
jb 0x1096233
push dword [esi + 0x18]
push 0x101d740
push dword [ebp - 0x31]
call fcn.01093a45
cmp dword [esi], 0x20
jb 0x1096263
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x1096263
cmp byte [ebp - 0x31], 0
push eax
je 0x1096257
push 0x101d738
push 0xffffffffffffffff
call sub.certcli.dll_Ordinal_203
add esp, 0xc
jmp 0x1096263
push 0x1005988
call fcn.0109c1a8
pop ecx
pop ecx
mov ebx, dword [ebp - 0x40]
mov eax, dword [edi + 0x10]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [eax + ecx*4]
inc ebx
cmp ebx, dword [eax + 0xc]
jne 0x1096285
push 0x101d724
push dword [ebp - 0x38]
push dword [ebp - 0x31]
call fcn.01093e21
mov esi, dword [esi + 4]
push dword [esi + 8]
push dword [esi + 4]
push dword [ebp - 0x38]
call fcn.01093de2
test eax, eax
je 0x10962a5
push eax
push 0xfc701a3
call fcn.0108c55a
mov eax, dword [edi + 0x10]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [eax + ecx*4]
cmp ebx, dword [eax + 0xc]
jne 0x10962d2
push 0x101d718
push dword [ebp - 0x38]
push dword [ebp - 0x31]
call fcn.01093e21
test eax, eax
je 0x10962d2
push eax
push 0xfcc01a3
call fcn.0108c55a
mov ecx, dword [ebp - 0x3c]
inc dword [ebp - 0x40]
mov eax, dword [edi + 0x10]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x40]
cmp ecx, dword [eax + 0xc]
jb 0x1096108
inc dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
cmp eax, dword [edi + 0xc]
jb 0x109603a
xor edi, edi
cmp byte [ebp - 0x2d], 0
je 0x109639d
cmp dword [ebp + 8], edi
je 0x109637d
push 1
push dword [ebp + 8]
call sub.certcli.dll_Ordinal_207
mov esi, eax
cmp dword [ebp - 0x48], edi
je 0x1096341
cmp byte [ebp - 0x31], 0
push dword [ebp - 0x48]
je 0x1096335
push 0x101d700
push 0xffffffffffffffff
call sub.certcli.dll_Ordinal_203
add esp, 0xc
jmp 0x1096341
push 0x101d6d4
call fcn.0109c1a8
pop ecx
pop ecx
push 1
push dword [ebp - 0x31]
push dword [ebp - 0x50]
call fcn.0109576b
cmp esi, edi
je 0x109637d
cmp byte [ebp - 0x31], 0
push esi
je 0x109636a
push 0x101d6cc
push 0xffffffffffffffff
call sub.certcli.dll_Ordinal_203
add esp, 0xc
jmp 0x1096376
push 0x1001d38
call fcn.0109c1a8
pop ecx
pop ecx
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp byte [ebp - 0x31], 0
je 0x1096392
push 0x101d6a4
push 0xffffffffffffffff
call sub.certcli.dll_Ordinal_203
pop ecx
jmp 0x109639c
push 0x101d658
call fcn.0109c1a8
pop ecx
cmp dword [ebp - 0x38], edi
je 0x10963ab
push dword [ebp - 0x38]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
cmp dword [ebp - 0x44], edi
je 0x10963ba
push edi
push dword [ebp - 0x44]
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.01077dc7
leave
ret 0x18