mov edi, edi
push ebp
mov ebp, esp
xor eax, eax
cmp [ebp+arg_4], eax
jnz short loc_1001019
mov eax, 0C000000Dh
jmp short loc_100103F
mov edx, [ebp+arg_0]
push esi
mov esi, [ebp+arg_8]
mov cl, [esi]
test cl, cl
jz short loc_100102F
mov [edx], cl
inc edx
inc esi
dec [ebp+arg_4]
jnz short loc_1001020
cmp [ebp+arg_4], 0
pop esi
jnz short loc_100103C
dec edx
mov eax, 80000005h
mov byte ptr [edx], 0
pop ebp
retn 0Ch
// MessageId: STATUS_INVALID_PARAMETER
//
// MessageText:
//
// An invalid parameter was passed to a service or function.
//
#define STATUS_INVALID_PARAMETER ((NTSTATUS)0xC000000DL) // winnt
// MessageId: STATUS_BUFFER_OVERFLOW
//
// MessageText:
//
// {Buffer Overflow}
// The data was too large to fit into the specified buffer.
//
#define STATUS_BUFFER_OVERFLOW ((NTSTATUS)0x80000005L)