Function at 0x1095ec6
Capabilities:
Query environment variable

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x50
mov eax, dword [0x10d0640]
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 [0x10d39f0], ebx
jne 0x1095f44
push 0x14
lea eax, [ebp - 0x2c]
push eax
push 0x101d9dc
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
dec eax
cmp eax, 0x12
ja 0x1095f37
lea eax, [ebp - 0x2c]
push eax
mov dword [0x10d39ec], esi
call dword [sym.imp.msvcrt.dll__wtoi]
pop ecx
mov dword [0x10d39e8], eax
mov dword [0x10d39e4], eax
jmp 0x1095f3c
mov eax, dword [0x10d39e8]
mov dword [0x10d39f0], esi
jmp 0x1095f49
mov eax, dword [0x10d39e8]
mov ecx, dword [ebp + 0xc]
cmp eax, ebx
jne 0x1095f57
mov byte [ebp - 0x32], bl
test ecx, ecx
jns 0x1095f5b
mov byte [ebp - 0x32], 1
cmp dword [0x10d39ec], ebx
jne 0x1095f73
cmp dword [ebp + 8], ebx
jne 0x1095f73
mov byte [ebp - 0x2d], bl
test ecx, 0x40000000
je 0x1095f77
mov byte [ebp - 0x2d], 1
shr ecx, 0x1d
not cl
and cl, 1
mov byte [ebp - 0x31], cl
cmp byte [ebp - 0x32], bl
jne 0x1095f90
cmp byte [ebp - 0x2d], bl
je 0x109639b
cmp eax, ebx
je 0x1095fa8
inc dword [0x10d39e4]
cmp dword [0x10d39e4], eax
jb 0x1095fa8
mov dword [0x10d39e4], ebx
cmp byte [ebp - 0x2d], bl
je 0x109600f
test cl, cl
je 0x1095fc0
push 0x101d9b4
push 0xffffffffffffffff
call sub.certcli.dll_Ordinal_203
pop ecx
jmp 0x1095fca
push 0x101d968
call fcn.0109c1c3
pop ecx
push 0x10d0bf0
push 0x101d930
push dword [edi + 8]
push dword [ebp - 0x31]
call fcn.010939cc
push 0x10d0ad8
push 0x101d8f8
push dword [edi + 4]
push dword [ebp - 0x31]
call fcn.010939cc
cmp dword [edi], 0x24
jb 0x109600f
cmp dword [edi + 0x1c], ebx
je 0x109600f
push dword [edi + 0x20]
push 0x101d8a8
push dword [ebp - 0x31]
call fcn.010940fe
mov dword [ebp - 0x3c], ebx
cmp dword [edi + 0xc], ebx
jbe 0x10962da
cmp byte [ebp - 0x32], 0
mov esi, dword [ebp - 0x3c]
je 0x1096036
mov eax, dword [edi + 0x10]
push esi
push dword [0x10d39e4]
push dword [eax + esi*4]
call fcn.01095bde
cmp byte [ebp - 0x2d], 0
je 0x1096096
mov eax, dword [edi + 0x10]
mov eax, dword [eax + esi*4]
push 0x10d0bf0
push 0x101d870
push dword [eax + 8]
push dword [ebp - 0x31]
call fcn.010939cc
mov eax, dword [edi + 0x10]
mov eax, dword [eax + esi*4]
push 0x10d0ad8
push 0x101d83c
push dword [eax + 4]
push dword [ebp - 0x31]
call fcn.010939cc
mov eax, dword [edi + 0x10]
mov eax, dword [eax + esi*4]
xor ebx, ebx
cmp dword [eax], 0x20
jb 0x1096098
cmp dword [eax + 0x18], ebx
je 0x1096098
push dword [eax + 0x1c]
push 0x101d7f0
push dword [ebp - 0x31]
call fcn.010940fe
jmp 0x1096098
xor ebx, ebx
cmp dword [ebp - 0x38], ebx
je 0x10960a9
push dword [ebp - 0x38]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
mov dword [ebp - 0x38], ebx
cmp dword [ebp - 0x44], ebx
je 0x10960bb
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.01093bc0
cmp eax, ebx
je 0x10960d7
push eax
push 0xf6d01a3
call fcn.0108c503
mov eax, dword [edi + 0x10]
mov eax, dword [eax + esi*4]
mov dword [ebp - 0x40], ebx
cmp dword [eax + 0xc], ebx
jbe 0x10962cb
cmp byte [ebp - 0x2d], 0
mov eax, dword [eax + 0x10]
mov ecx, dword [ebp - 0x40]
mov esi, dword [eax + ecx*4]
jne 0x1096108
cmp dword [ebp + 8], 0
jne 0x1096108
cmp dword [esi + 8], 0
je 0x10962b3
cmp byte [ebp - 0x31], 0
push dword [esi + 8]
push dword [esi + 0xc]
push dword [ebp - 0x40]
push dword [ebp - 0x3c]
je 0x109612b
push 0x101d7b8
push 0xffffffffffffffff
call sub.certcli.dll_Ordinal_203
add esp, 0x18
jmp 0x1096138
push 0x101d748
call fcn.0109c1c3
add esp, 0x14
push 1
push dword [ebp - 0x31]
push dword [esi + 4]
call fcn.0109574d
test eax, eax
je 0x1096154
push eax
push 0xf8401a3
call fcn.0108c503
push 0x10d0bf0
push 0x101d714
push dword [esi + 0xc]
push dword [ebp - 0x31]
call fcn.010939cc
push 0x10d0ad8
push 0x101d6e4
push dword [esi + 8]
push dword [ebp - 0x31]
call fcn.010939cc
cmp dword [ebp - 0x4c], 0
je 0x1096196
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 0x10961ea
cmp dword [ebx], 0x1c
jb 0x10961ea
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x10961ea
push dword [ebp - 0x38]
push dword [eax + 4]
push 0
push dword [ebp - 0x31]
call fcn.0109584f
test eax, eax
je 0x10961c8
push eax
push 0xfa101a3
call fcn.0108c503
push dword [ebp - 0x38]
mov eax, dword [ebx + 0x18]
push dword [eax + 8]
push 1
push dword [ebp - 0x31]
call fcn.0109584f
test eax, eax
je 0x10961ea
push eax
push 0xfa801a3
call fcn.0108c503
cmp dword [esi], 0x18
jb 0x10961ff
push dword [esi + 0x14]
push 0x101d6cc
push dword [ebp - 0x31]
call fcn.01093a20
cmp dword [esi], 0x1c
jb 0x1096214
push dword [esi + 0x18]
push 0x101d6b0
push dword [ebp - 0x31]
call fcn.01093a20
cmp dword [esi], 0x20
jb 0x1096244
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x1096244
cmp byte [ebp - 0x31], 0
push eax
je 0x1096238
push 0x101d6a8
push 0xffffffffffffffff
call sub.certcli.dll_Ordinal_203
add esp, 0xc
jmp 0x1096244
push 0x1005970
call fcn.0109c1c3
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 0x1096266
push 0x101d694
push dword [ebp - 0x38]
push dword [ebp - 0x31]
call fcn.01093dfc
mov esi, dword [esi + 4]
push dword [esi + 8]
push dword [esi + 4]
push dword [ebp - 0x38]
call fcn.01093dbd
test eax, eax
je 0x1096286
push eax
push 0xfc701a3
call fcn.0108c503
mov eax, dword [edi + 0x10]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [eax + ecx*4]
cmp ebx, dword [eax + 0xc]
jne 0x10962b3
push 0x101d688
push dword [ebp - 0x38]
push dword [ebp - 0x31]
call fcn.01093dfc
test eax, eax
je 0x10962b3
push eax
push 0xfcc01a3
call fcn.0108c503
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 0x10960e9
inc dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
cmp eax, dword [edi + 0xc]
jb 0x109601b
xor edi, edi
cmp byte [ebp - 0x2d], 0
je 0x109637e
cmp dword [ebp + 8], edi
je 0x109635e
push 1
push dword [ebp + 8]
call sub.certcli.dll_Ordinal_207
mov esi, eax
cmp dword [ebp - 0x48], edi
je 0x1096322
cmp byte [ebp - 0x31], 0
push dword [ebp - 0x48]
je 0x1096316
push 0x101d670
push 0xffffffffffffffff
call sub.certcli.dll_Ordinal_203
add esp, 0xc
jmp 0x1096322
push 0x101d644
call fcn.0109c1c3
pop ecx
pop ecx
push 1
push dword [ebp - 0x31]
push dword [ebp - 0x50]
call fcn.0109574d
cmp esi, edi
je 0x109635e
cmp byte [ebp - 0x31], 0
push esi
je 0x109634b
push 0x101d63c
push 0xffffffffffffffff
call sub.certcli.dll_Ordinal_203
add esp, 0xc
jmp 0x1096357
push 0x1001d34
call fcn.0109c1c3
pop ecx
pop ecx
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp byte [ebp - 0x31], 0
je 0x1096373
push 0x101d614
push 0xffffffffffffffff
call sub.certcli.dll_Ordinal_203
pop ecx
jmp 0x109637d
push 0x101d5c8
call fcn.0109c1c3
pop ecx
cmp dword [ebp - 0x38], edi
je 0x109638c
push dword [ebp - 0x38]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
cmp dword [ebp - 0x44], edi
je 0x109639b
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.01077d0b
leave
ret 0x18