.text:006F390A ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:006F390A .text:006F390A ; Attributes: library function bp-based frame .text:006F390A .text:006F390A __vsnprintf_l proc near ; CODE XREF: __vsnprintf+12p .text:006F390A .text:006F390A var_20 = FILE ptr -20h .text:006F390A arg_0 = dword ptr 8 .text:006F390A arg_4 = dword ptr 0Ch .text:006F390A arg_8 = dword ptr 10h .text:006F390A arg_C = dword ptr 14h .text:006F390A arg_10 = dword ptr 18h .text:006F390A .text:006F390A push ebp .text:006F390B mov ebp, esp .text:006F390D sub esp, 20h .text:006F3910 push ebx .text:006F3911 xor ebx, ebx .text:006F3913 cmp [ebp+arg_8], ebx .text:006F3916 jnz short loc_6F3938 .text:006F3918 call __errno .text:006F391D push ebx .text:006F391E push ebx .text:006F391F push ebx .text:006F3920 push ebx .text:006F3921 push ebx .text:006F3922 mov dword ptr [eax], 16h .text:006F3928 call __invalid_parameter .text:006F392D add esp, 14h .text:006F3930 or eax, 0FFFFFFFFh .text:006F3933 jmp loc_6F39B8 .text:006F3938 ; --------------------------------------------------------------------------- .text:006F3938 .text:006F3938 loc_6F3938: ; CODE XREF: __vsnprintf_l+Cj .text:006F3938 mov ecx, [ebp+arg_4] .text:006F393B cmp ecx, ebx .text:006F393D push esi .text:006F393E mov esi, [ebp+arg_0] .text:006F3941 jz short loc_6F3964 .text:006F3943 cmp esi, ebx .text:006F3945 jnz short loc_6F3964 .text:006F3947 call __errno .text:006F394C push ebx .text:006F394D push ebx .text:006F394E push ebx .text:006F394F push ebx .text:006F3950 push ebx .text:006F3951 mov dword ptr [eax], 16h .text:006F3957 call __invalid_parameter .text:006F395C add esp, 14h .text:006F395F or eax, 0FFFFFFFFh .text:006F3962 jmp short loc_6F39B7 .text:006F3964 ; --------------------------------------------------------------------------- .text:006F3964 .text:006F3964 loc_6F3964: ; CODE XREF: __vsnprintf_l+37j .text:006F3964 ; __vsnprintf_l+3Bj .text:006F3964 mov eax, 7FFFFFFFh .text:006F3969 cmp ecx, eax .text:006F396B mov [ebp+var_20._cnt], eax .text:006F396E ja short loc_6F3973 .text:006F3970 mov [ebp+var_20._cnt], ecx .text:006F3973 .text:006F3973 loc_6F3973: ; CODE XREF: __vsnprintf_l+64j .text:006F3973 push edi .text:006F3974 push [ebp+arg_10] .text:006F3977 lea eax, [ebp+var_20] .text:006F397A push [ebp+arg_C] .text:006F397D mov [ebp+var_20._flag], 42h .text:006F3984 push [ebp+arg_8] .text:006F3987 mov [ebp+var_20._base], esi .text:006F398A push eax .text:006F398B mov [ebp+var_20._ptr], esi .text:006F398E call __output_l .text:006F3993 add esp, 10h .text:006F3996 cmp esi, ebx .text:006F3998 mov edi, eax .text:006F399A jz short loc_6F39B6 .text:006F399C dec [ebp+var_20._cnt] .text:006F399F js short loc_6F39A8 .text:006F39A1 mov eax, [ebp+var_20._ptr] .text:006F39A4 mov [eax], bl .text:006F39A6 jmp short loc_6F39B4 .text:006F39A8 ; --------------------------------------------------------------------------- .text:006F39A8 .text:006F39A8 loc_6F39A8: ; CODE XREF: __vsnprintf_l+95j .text:006F39A8 lea eax, [ebp+var_20] .text:006F39AB push eax ; FILE * .text:006F39AC push ebx ; int .text:006F39AD call __flsbuf .text:006F39B2 pop ecx .text:006F39B3 pop ecx .text:006F39B4 .text:006F39B4 loc_6F39B4: ; CODE XREF: __vsnprintf_l+9Cj .text:006F39B4 mov eax, edi .text:006F39B6 .text:006F39B6 loc_6F39B6: ; CODE XREF: __vsnprintf_l+90j .text:006F39B6 pop edi .text:006F39B7 .text:006F39B7 loc_6F39B7: ; CODE XREF: __vsnprintf_l+58j .text:006F39B7 pop esi .text:006F39B8 .text:006F39B8 loc_6F39B8: ; CODE XREF: __vsnprintf_l+29j .text:006F39B8 pop ebx .text:006F39B9 leave .text:006F39BA retn .text:006F39BA __vsnprintf_l endp