.text:00621CC0 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ .text:00621CC0 .text:00621CC0 .text:00621CC0 sub_621CC0 proc near ; CODE XREF: sub_623680+277p .text:00621CC0 ; sub_623B40+30Ep ... .text:00621CC0 lea eax, [edi+150h] .text:00621CC6 push eax .text:00621CC7 lea ecx, [edi+1FCh] .text:00621CCD call sub_624FA0 .text:00621CD2 test al, al .text:00621CD4 jz short loc_621CF3 .text:00621CD6 push 0 .text:00621CD8 call sub_625B00 .text:00621CDD push 1 ; uExitCode .text:00621CDF push 0 ; int .text:00621CE1 push 0 ; int .text:00621CE3 push 0FFFFFFFCh ; int .text:00621CE5 lea ecx, [edi+24h] .text:00621CE8 push ecx ; int .text:00621CE9 push 85100083h ; int .text:00621CEE call sub_625DD0 .text:00621CF3 .text:00621CF3 loc_621CF3: ; CODE XREF: sub_621CC0+14j .text:00621CF3 cmp dword_CBF61C, 2 .text:00621CFA jz short loc_621D42 .text:00621CFC mov eax, [edi+130h] .text:00621D02 push esi .text:00621D03 push eax .text:00621D04 call sub_621330 .text:00621D09 mov esi, eax .text:00621D0B add esp, 4 .text:00621D0E test esi, esi .text:00621D10 jz short loc_621D1C .text:00621D12 lea edx, [esi+8] .text:00621D15 push edx ; lpCriticalSection .text:00621D16 call ds:EnterCriticalSection .text:00621D1C .text:00621D1C loc_621D1C: ; CODE XREF: sub_621CC0+50j .text:00621D1C mov ecx, [edi+160h] .text:00621D22 add ecx, 1Ch .text:00621D25 call sub_625020 .text:00621D2A test esi, esi .text:00621D2C jz short loc_621D38 .text:00621D2E lea eax, [esi+8] .text:00621D31 push eax ; lpCriticalSection .text:00621D32 call ds:LeaveCriticalSection .text:00621D38 .text:00621D38 loc_621D38: ; CODE XREF: sub_621CC0+6Cj .text:00621D38 push esi .text:00621D39 call sub_621450 .text:00621D3E add esp, 4 .text:00621D41 pop esi .text:00621D42 .text:00621D42 loc_621D42: ; CODE XREF: sub_621CC0+3Aj .text:00621D42 mov dword ptr [edi+1A0h], 4 .text:00621D4C retn .text:00621D4C sub_621CC0 endp .text:00621D4C .text:00621D4C ; ---------------------------------------------------------------------------