ここで、この関数のプロローグでは、ecx が 2 回ずつスタックにプッシュされますが、なぜ??
push ebp
mov ebp, esp
push ecx
push ecx
and [ebp+var_8], 0
and [ebp+var_4], 0
push ebx
mov ebx, [ebp+arg_0]
push esi
push edi
or edi, 0FFFFFFFFh
push edi ; size_t
lea eax, [ebp+var_8]
push eax ; int
mov eax, [ebp+arg_4]
call sub_671FF38E
push 2Eh ; wchar_t
lea esi, [ebp+var_8]
call sub_673AFD82
cmp eax, edi
jz loc_677E564B