rendered paste body.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]