.text:0041CA40 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:0041CA40 .text:0041CA40 .text:0041CA40 sub_41CA40 proc near ; DATA XREF: .rdata:0072A3F8o .text:0041CA40 .text:0041CA40 var_1020 = dword ptr -1020h .text:0041CA40 String = byte ptr -1018h .text:0041CA40 var_1014 = dword ptr -1014h .text:0041CA40 var_100C = dword ptr -100Ch .text:0041CA40 var_1004 = dword ptr -1004h .text:0041CA40 var_1000 = byte ptr -1000h .text:0041CA40 var_2 = byte ptr -2 .text:0041CA40 var_1 = byte ptr -1 .text:0041CA40 arg_0 = dword ptr 4 .text:0041CA40 arg_4 = dword ptr 8 .text:0041CA40 .text:0041CA40 mov eax, 1008h .text:0041CA45 call __alloca_probe .text:0041CA4A push edi .text:0041CA4B mov edi, ecx .text:0041CA4D mov ecx, off_7A4ED8 .text:0041CA53 mov eax, [ecx] .text:0041CA55 mov edx, [eax+0Ch] .text:0041CA58 call edx .text:0041CA5A test al, al .text:0041CA5C jz loc_41CDA8 .text:0041CA62 mov eax, off_7A4A0C .text:0041CA67 cmp dword ptr [eax+24h], 0 .text:0041CA6B jz short loc_41CABD .text:0041CA6D call sub_536AA0 .text:0041CA72 mov edx, off_7A4A0C .text:0041CA78 cmp dword ptr [edx+24h], 1 .text:0041CA7C mov ecx, eax .text:0041CA7E jnz short loc_41CA93 .text:0041CA80 mov eax, 10624DD3h .text:0041CA85 imul ecx .text:0041CA87 sar edx, 6 .text:0041CA8A mov eax, edx .text:0041CA8C shr eax, 1Fh .text:0041CA8F add eax, edx .text:0041CA91 mov ecx, eax .text:0041CA93 .text:0041CA93 loc_41CA93: ; CODE XREF: sub_41CA40+3Ej .text:0041CA93 push ecx .text:0041CA94 lea ecx, [esp+1010h+var_1000] .text:0041CA98 push offset aI_3 ; "[%i]" .text:0041CA9D push ecx ; char * .text:0041CA9E call _sprintf .text:0041CAA3 lea eax, [esp+1018h+var_1000] .text:0041CAA7 add esp, 0Ch .text:0041CAAA lea edx, [eax+1] .text:0041CAAD lea ecx, [ecx+0] .text:0041CAB0 .text:0041CAB0 loc_41CAB0: ; CODE XREF: sub_41CA40+77j .text:0041CAB0 mov cl, [eax] .text:0041CAB2 add eax, 1 .text:0041CAB5 test cl, cl .text:0041CAB7 jnz short loc_41CAB0 .text:0041CAB9 sub eax, edx .text:0041CABB jmp short loc_41CABF .text:0041CABD ; --------------------------------------------------------------------------- .text:0041CABD .text:0041CABD loc_41CABD: ; CODE XREF: sub_41CA40+2Bj .text:0041CABD xor eax, eax .text:0041CABF .text:0041CABF loc_41CABF: ; CODE XREF: sub_41CA40+7Bj .text:0041CABF mov edx, [esp+100Ch+arg_4] .text:0041CAC6 mov ecx, [esp+100Ch+arg_0] .text:0041CACD push edx .text:0041CACE push ecx .text:0041CACF mov edx, 0FFFh .text:0041CAD4 sub edx, eax .text:0041CAD6 push edx .text:0041CAD7 lea eax, [esp+eax+1018h+var_1000] .text:0041CADB push eax .text:0041CADC call sub_64D7B0 .text:0041CAE1 add esp, 10h .text:0041CAE4 test eax, eax .text:0041CAE6 jge short loc_41CB1C .text:0041CAE8 lea eax, [esp+100Ch+var_1000] .text:0041CAEC mov [esp+100Ch+var_2], 0Ah .text:0041CAF4 mov [esp+100Ch+var_1], 0 .text:0041CAFC lea edx, [eax+1] .text:0041CAFF nop .text:0041CB00 .text:0041CB00 loc_41CB00: ; CODE XREF: sub_41CA40+C7j .text:0041CB00 mov cl, [eax] .text:0041CB02 add eax, 1 .text:0041CB05 test cl, cl .text:0041CB07 jnz short loc_41CB00 .text:0041CB09 sub eax, edx .text:0041CB0B add eax, 0FFFFFFFFh .text:0041CB0E push eax .text:0041CB0F push offset aIdcommonVprint ; "idCommon::VPrintf: truncated to %d char"... .text:0041CB14 call sub_52BC50 .text:0041CB19 add esp, 8 .text:0041CB1C .text:0041CB1C loc_41CB1C: ; CODE XREF: sub_41CA40+A6j .text:0041CB1C push ebp .text:0041CB1D mov ebp, [edi+1014h] .text:0041CB23 test ebp, ebp .text:0041CB25 push esi .text:0041CB26 lea eax, [esp+1014h+var_1000] .text:0041CB2A jz loc_41CBBA .text:0041CB30 lea edx, [eax+1]