24#define rol(value, bits) (((value) << (bits)) | ((value) >> (32 - (bits))))
26#define DWORD2BE(x) (((x) >> 24) & 0xff) | (((x) >> 8) & 0xff00) | (((x) << 8) & 0xff0000) | (((x) << 24) & 0xff000000);
28#define blk0(i) (Block[i] = (rol(Block[i],24)&0xFF00FF00)|(rol(Block[i],8)&0x00FF00FF))
29#define blk1(i) (Block[i&15] = rol(Block[(i+13)&15]^Block[(i+8)&15]^Block[(i+2)&15]^Block[i&15],1))
30#define f1(x,y,z) (z^(x&(y^z)))
31#define f2(x,y,z) (x^y^z)
32#define f3(x,y,z) ((x&y)|(z&(x|y)))
33#define f4(x,y,z) (x^y^z)
35#define R0(v,w,x,y,z,i) z+=f1(w,x,y)+blk0(i)+0x5A827999+rol(v,5);w=rol(w,30);
36#define R1(v,w,x,y,z,i) z+=f1(w,x,y)+blk1(i)+0x5A827999+rol(v,5);w=rol(w,30);
37#define R2(v,w,x,y,z,i) z+=f2(w,x,y)+blk1(i)+0x6ED9EBA1+rol(v,5);w=rol(w,30);
38#define R3(v,w,x,y,z,i) z+=f3(w,x,y)+blk1(i)+0x8F1BBCDC+rol(v,5);w=rol(w,30);
39#define R4(v,w,x,y,z,i) z+=f4(w,x,y)+blk1(i)+0xCA62C1D6+rol(v,5);w=rol(w,30);
57 R0(
a,
b,
c,
d,
e, 0);
R0(
e,
a,
b,
c,
d, 1);
R0(
d,
e,
a,
b,
c, 2);
R0(
c,
d,
e,
a,
b, 3);
58 R0(
b,
c,
d,
e,
a, 4);
R0(
a,
b,
c,
d,
e, 5);
R0(
e,
a,
b,
c,
d, 6);
R0(
d,
e,
a,
b,
c, 7);
59 R0(
c,
d,
e,
a,
b, 8);
R0(
b,
c,
d,
e,
a, 9);
R0(
a,
b,
c,
d,
e,10);
R0(
e,
a,
b,
c,
d,11);
60 R0(
d,
e,
a,
b,
c,12);
R0(
c,
d,
e,
a,
b,13);
R0(
b,
c,
d,
e,
a,14);
R0(
a,
b,
c,
d,
e,15);
61 R1(
e,
a,
b,
c,
d,16);
R1(
d,
e,
a,
b,
c,17);
R1(
c,
d,
e,
a,
b,18);
R1(
b,
c,
d,
e,
a,19);
62 R2(
a,
b,
c,
d,
e,20);
R2(
e,
a,
b,
c,
d,21);
R2(
d,
e,
a,
b,
c,22);
R2(
c,
d,
e,
a,
b,23);
63 R2(
b,
c,
d,
e,
a,24);
R2(
a,
b,
c,
d,
e,25);
R2(
e,
a,
b,
c,
d,26);
R2(
d,
e,
a,
b,
c,27);
64 R2(
c,
d,
e,
a,
b,28);
R2(
b,
c,
d,
e,
a,29);
R2(
a,
b,
c,
d,
e,30);
R2(
e,
a,
b,
c,
d,31);
65 R2(
d,
e,
a,
b,
c,32);
R2(
c,
d,
e,
a,
b,33);
R2(
b,
c,
d,
e,
a,34);
R2(
a,
b,
c,
d,
e,35);
66 R2(
e,
a,
b,
c,
d,36);
R2(
d,
e,
a,
b,
c,37);
R2(
c,
d,
e,
a,
b,38);
R2(
b,
c,
d,
e,
a,39);
67 R3(
a,
b,
c,
d,
e,40);
R3(
e,
a,
b,
c,
d,41);
R3(
d,
e,
a,
b,
c,42);
R3(
c,
d,
e,
a,
b,43);
68 R3(
b,
c,
d,
e,
a,44);
R3(
a,
b,
c,
d,
e,45);
R3(
e,
a,
b,
c,
d,46);
R3(
d,
e,
a,
b,
c,47);
69 R3(
c,
d,
e,
a,
b,48);
R3(
b,
c,
d,
e,
a,49);
R3(
a,
b,
c,
d,
e,50);
R3(
e,
a,
b,
c,
d,51);
70 R3(
d,
e,
a,
b,
c,52);
R3(
c,
d,
e,
a,
b,53);
R3(
b,
c,
d,
e,
a,54);
R3(
a,
b,
c,
d,
e,55);
71 R3(
e,
a,
b,
c,
d,56);
R3(
d,
e,
a,
b,
c,57);
R3(
c,
d,
e,
a,
b,58);
R3(
b,
c,
d,
e,
a,59);
72 R4(
a,
b,
c,
d,
e,60);
R4(
e,
a,
b,
c,
d,61);
R4(
d,
e,
a,
b,
c,62);
R4(
c,
d,
e,
a,
b,63);
73 R4(
b,
c,
d,
e,
a,64);
R4(
a,
b,
c,
d,
e,65);
R4(
e,
a,
b,
c,
d,66);
R4(
d,
e,
a,
b,
c,67);
74 R4(
c,
d,
e,
a,
b,68);
R4(
b,
c,
d,
e,
a,69);
R4(
a,
b,
c,
d,
e,70);
R4(
e,
a,
b,
c,
d,71);
75 R4(
d,
e,
a,
b,
c,72);
R4(
c,
d,
e,
a,
b,73);
R4(
b,
c,
d,
e,
a,74);
R4(
a,
b,
c,
d,
e,75);
76 R4(
e,
a,
b,
c,
d,76);
R4(
d,
e,
a,
b,
c,77);
R4(
c,
d,
e,
a,
b,78);
R4(
b,
c,
d,
e,
a,79);
86 a =
b =
c =
d =
e = 0;
105 Context->State[0] = 0x67452301;
106 Context->State[1] = 0xEFCDAB89;
107 Context->State[2] = 0x98BADCFE;
108 Context->State[3] = 0x10325476;
109 Context->State[4] = 0xC3D2E1F0;
130 ULONG BufferContentSize;
132 BufferContentSize =
Context->Count[1] & 63;
148 64 - BufferContentSize);
149 Buffer += 64 - BufferContentSize;
152 BufferContentSize = 0;
176 ULONG BufferContentSize, LengthHi, LengthLo;
178 BufferContentSize =
Context->Count[1] & 63;
179 if (BufferContentSize >= 56)
180 Pad = 56 + 64 - BufferContentSize;
182 Pad = 56 - BufferContentSize;
184 LengthHi = (
Context->Count[0] << 3) | (
Context->Count[1] >> (32 - 3));
185 LengthLo = (
Context->Count[1] << 3);
char * Pad(char *Str, char PadChar, ULONG Length)
GLboolean GLboolean GLboolean b
GLboolean GLboolean GLboolean GLboolean a
#define memcpy(s1, s2, n)
#define R1(v, w, x, y, z, i)
VOID NTAPI A_SHAFinal(PSHA_CTX Context, PULONG Result)
static void SHA1Transform(ULONG State[5], UCHAR Buffer[64])
VOID NTAPI A_SHAUpdate(PSHA_CTX Context, const unsigned char *Buffer, ULONG BufferSize)
#define R2(v, w, x, y, z, i)
#define R0(v, w, x, y, z, i)
#define R3(v, w, x, y, z, i)
VOID NTAPI A_SHAInit(PSHA_CTX Context)
#define R4(v, w, x, y, z, i)
_In_ WDFCOLLECTION _In_ ULONG Index
_In_ WDFMEMORY _Out_opt_ size_t * BufferSize
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO