; ; +-------------------------------------------------------------------------+ ; | This file is generated by The Interactive Disassembler (IDA) | ; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> | ; | Licensed to: 48-377D-7114-93 SRI International, 1 computer, std, 11/2007 | ; +-------------------------------------------------------------------------+ ; ; ; +-------------------------------------------------------------------------+ ; | This file is generated by The Interactive Disassembler (IDA) | ; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> | ; | Licensed to: 48-377D-7114-93 SRI International, 1 computer, std, 11/2007 | ; +-------------------------------------------------------------------------+ ; ; Input MD5 : 8EDC331D07FCC84B289C41ECBE0E4ED3 ; File Name : u:\work\8edc331d07fcc84b289c41ecbe0e4ed3_orig.exe ; Format : Portable executable for 80386 (PE) ; Imagebase : 10000 ; Section 1. (virtual address 00001000) ; Virtual size : 00009118 ( 37144.) ; Section size in file : 00009200 ( 37376.) ; Offset to raw data for section: 00000400 ; Flags 60000020: Text Executable Readable ; Alignment : default ; OS type : MS Windows ; Application type: Executable DLL 32bit include uni.inc ; see unicode subdir of ida for info on unicode .686p .mmx .model flat ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Execute CODE segment para public 'CODE' use32 assume cs:CODE ;org 11000h assume es:nothing, ss:nothing, ds:CODE, fs:nothing, gs:nothing off_11000 dd offset byte_11004 ; DATA XREF: CODE:0001442Ao ; CODE:00014432o ... byte_11004 db 0Ah ; DATA XREF: CODE:off_11000o ; LString db 6,'String' off_1100C dd offset aTobject ; DATA XREF: CODE:000143FCo ; CODE:00015038o ; "TObject" dd 7 dup(0) dd offset aTobject ; "TObject" unknown_libname_1 dd 4, 0 ; BDS 2005-2006 and Delphi6-7 Visual Component Library dd offset @System@TObject@SafeCallException$qqrp14System@TObjectpv ; System::TObject::SafeCallException(System::TObject *,void *) dd offset nullsub_2 dd offset nullsub_3 dd offset sub_1149C dd offset nullsub_4 dd offset sub_11388 dd offset sub_1139C dd offset @System@TObject@$bdtr$qqrv ; System::TObject::~TObject(void) aTobject db 7,'TObject' ; DATA XREF: CODE:off_1100Co ; CODE:0001102Co ; [00000006 BYTES: COLLAPSED FUNCTION FreeLibrary. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION LocalAlloc. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000006 BYTES: COLLAPSED FUNCTION LocalFree. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION TlsAlloc. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000006 BYTES: COLLAPSED FUNCTION TlsFree. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION TlsGetValue. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000006 BYTES: COLLAPSED FUNCTION TlsSetValue. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION RaiseException. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000006 BYTES: COLLAPSED FUNCTION RtlUnwind. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION UnhandledExceptionFilter. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000006 BYTES: COLLAPSED FUNCTION ExitProcess. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION MultiByteToWideChar. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000006 BYTES: COLLAPSED FUNCTION WideCharToMultiByte. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION SysAllocStringLen. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000006 BYTES: COLLAPSED FUNCTION SysFreeString. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION LocalReAlloc. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000006 BYTES: COLLAPSED FUNCTION LocalSize. PRESS KEYPAD "+" TO EXPAND] align 4 ; =============== S U B R O U T I N E ======================================= ; int __fastcall sub_110E8(SIZE_T uBytes) sub_110E8 proc near ; CODE XREF: sub_1114C+4p ; System::__linkproc__ ReallocMem(void *&,int)+3Fp ... push ebx mov ebx, eax push ebx ; uBytes push 0 ; uFlags call LocalAlloc ; LocalAlloc pop ebx retn sub_110E8 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; int __fastcall sub_110F8(HLOCAL hMem) sub_110F8 proc near ; CODE XREF: sub_11164+4p ; System::__linkproc__ ReallocMem(void *&,int)+26p ; DATA XREF: ... push ebx mov ebx, eax push ebx ; hMem call LocalFree ; LocalFree pop ebx retn sub_110F8 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; int __fastcall sub_11104(HLOCAL hMem, SIZE_T uBytes) sub_11104 proc near ; CODE XREF: System::__linkproc__ ReallocMem(void *&,int)+Dp ; DATA XREF: DATA:off_1B03Co push ebx push esi push edi mov esi, edx mov edi, eax push 0 ; uFlags push esi ; uBytes push edi ; hMem call LocalReAlloc ; LocalReAlloc mov ebx, eax test ebx, ebx jnz short loc_11144 push esi ; uBytes push 0 ; uFlags call LocalAlloc ; LocalAlloc mov ebx, eax test ebx, ebx jz short loc_11144 push edi ; hMem call LocalSize ; LocalSize cmp esi, eax jge short loc_11134 mov eax, esi loc_11134: ; CODE XREF: sub_11104+2Cj mov edx, ebx mov ecx, edi xchg eax, ecx call sub_11210 push edi ; hMem call LocalFree ; LocalFree loc_11144: ; CODE XREF: sub_11104+14j ; sub_11104+22j mov eax, ebx pop edi pop esi pop ebx retn sub_11104 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_1114C proc near ; CODE XREF: sub_11388+4p sub_11CC0+8p ... test eax, eax jz short locret_1115A call ds:off_1B034 or eax, eax jz short loc_1115B locret_1115A: ; CODE XREF: sub_1114C+2j retn ; --------------------------------------------------------------------------- loc_1115B: ; CODE XREF: sub_1114C+Cj mov al, 1 jmp loc_111CC sub_1114C endp ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_11164 proc near ; CODE XREF: sub_1139C+1Dp ; sub_11C00+1Bp ... test eax, eax jz short locret_11172 call ds:off_1B038 or eax, eax jnz short loc_11173 locret_11172: ; CODE XREF: sub_11164+2j retn ; --------------------------------------------------------------------------- loc_11173: ; CODE XREF: sub_11164+Cj mov al, 2 jmp loc_111CC sub_11164 endp ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- align 4 ; [00000079 BYTES: COLLAPSED FUNCTION System::__linkproc__ ReallocMem(void *&,int). PRESS KEYPAD "+" TO EXPAND] byte_111F5 db 0CBh ; DATA XREF: System::__linkproc__ ReallocMem(void *&,int)+61r aRsu db 'ÌÈÉ×ÏÈÍÎÛØÊÙÚÜÝÞßàáã',0 db 0E4h dd 0C08BC3E5h ; =============== S U B R O U T I N E ======================================= sub_11210 proc near ; CODE XREF: sub_11104+35p ; sub_11C54+1Bp ... cmp ecx, 4 jge short loc_11231 jcxz locret_1126F cmp eax, edx jz short locret_1126F push esi push edi mov esi, eax mov edi, edx ja short loc_1122D lea esi, [esi+ecx-1] lea edi, [edi+ecx-1] std loc_1122D: ; CODE XREF: sub_11210+12j rep movsb jmp short loc_1125D ; --------------------------------------------------------------------------- loc_11231: ; CODE XREF: sub_11210+3j cmp eax, edx jz short locret_1126F push esi push edi mov esi, eax mov edi, edx mov eax, ecx ja short loc_1125F and ecx, 3 lea esi, [esi+eax-1] lea edi, [edi+eax-1] std rep movsb sar eax, 2 mov ecx, eax mov eax, 3 sub esi, eax sub edi, eax rep movsd loc_1125D: ; CODE XREF: sub_11210+1Fj cld dec ecx loc_1125F: ; CODE XREF: sub_11210+2Dj sar ecx, 2 js short loc_1126D rep movsd and eax, 3 mov ecx, eax rep movsb loc_1126D: ; CODE XREF: sub_11210+52j pop edi pop esi locret_1126F: ; CODE XREF: sub_11210+5j sub_11210+Aj ... retn sub_11210 endp ; [0000000A BYTES: COLLAPSED FUNCTION System::__linkproc__ ROUND(void). PRESS KEYPAD "+" TO EXPAND] align 4 ; =============== S U B R O U T I N E ======================================= sub_1127C proc near ; CODE XREF: sub_12EC8+Bp sub_12EF0+Cp ... var_C = word ptr -0Ch var_8 = qword ptr -8 sub esp, 0Ch fstcw [esp+0Ch+var_C] wait fldcw ds:word_1B040 fistp [esp+0Ch+var_8] wait fldcw [esp+0Ch+var_C] pop ecx pop eax pop edx retn sub_1127C endp ; --------------------------------------------------------------------------- align 4 ; [0000002F BYTES: COLLAPSED FUNCTION System::__linkproc__ PStrNCat(void). PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- retn ; =============== S U B R O U T I N E ======================================= sub_112C8 proc near ; CODE XREF: sub_13CAC+DBp ; sub_13CAC+140p ... 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 rep movsd mov ecx, eax rep movsb pop edi pop esi retn sub_112C8 endp ; [0000001F BYTES: COLLAPSED FUNCTION System::__linkproc__ FillChar(void *,int,char). PRESS KEYPAD "+" TO EXPAND] align 4 ; =============== S U B R O U T I N E ======================================= sub_11304 proc near ; CODE XREF: sub_154D4+1Bp ; sub_15CA4+90p ... imul edx, ds:dword_1C024, 8088405h inc edx mov ds:dword_1C024, edx mul edx mov eax, edx retn sub_11304 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_1131C proc near ; CODE XREF: sub_130F0p cmp edx, 1 jnb short loc_11322 retn ; --------------------------------------------------------------------------- loc_11322: ; CODE XREF: sub_1131C+3j push ecx test eax, eax jnz short loc_1136B mov eax, [edx-8] ; uBytes test eax, eax jz short loc_11364 push edx call ds:off_1B034 pop edx test eax, eax jz short loc_11360 push edi mov ecx, [edx-8] mov edi, eax push eax xor eax, eax shr ecx, 2 rep stosd mov ecx, [edx-8] and ecx, 3 rep stosb pop eax pop edi mov ecx, [edx-4] test ecx, ecx jl short loc_1135C mov [eax+ecx], edx loc_1135C: ; CODE XREF: sub_1131C+3Bj test eax, eax pop ecx retn ; --------------------------------------------------------------------------- loc_11360: ; CODE XREF: sub_1131C+1Cj xor edx, edx pop ecx retn ; --------------------------------------------------------------------------- loc_11364: ; CODE XREF: sub_1131C+10j xor edx, edx cmp eax, 1 pop ecx retn ; --------------------------------------------------------------------------- loc_1136B: ; CODE XREF: sub_1131C+9j mov ecx, [edx-4] test ecx, ecx jl short loc_11375 mov [eax+ecx], edx loc_11375: ; CODE XREF: sub_1131C+54j xor edx, edx test eax, eax pop ecx retn sub_1131C endp ; --------------------------------------------------------------------------- align 4 ; [0000000A BYTES: COLLAPSED FUNCTION unknown_libname_2. PRESS KEYPAD "+" TO EXPAND] align 4 ; =============== S U B R O U T I N E ======================================= sub_11388 proc near ; DATA XREF: CODE:0001104Co ; CODE:00014414o ... push eax mov eax, [eax-28h] call sub_1114C mov edx, eax pop eax jmp sub_11400 sub_11388 endp ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_1139C proc near ; DATA XREF: CODE:00011050o ; CODE:00014418o ... push ebx push esi mov ebx, eax mov esi, eax loc_113A2: ; CODE XREF: sub_1139C+1Bj mov esi, [esi] mov edx, [esi-40h] mov esi, [esi-24h] test edx, edx jz short loc_113B5 call sub_122F0 mov eax, ebx loc_113B5: ; CODE XREF: sub_1139C+10j test esi, esi jnz short loc_113A2 call sub_11164 pop esi pop ebx retn sub_1139C endp ; --------------------------------------------------------------------------- align 4 ; [00000020 BYTES: COLLAPSED FUNCTION unknown_libname_3. PRESS KEYPAD "+" TO EXPAND] ; [0000000F BYTES: COLLAPSED FUNCTION System::TObject::~TObject(void). PRESS KEYPAD "+" TO EXPAND] align 4 ; =============== S U B R O U T I N E ======================================= sub_113F4 proc near ; CODE XREF: CODE:0001173Aj ; System::__linkproc__ RaiseAgain(void)+30p ... test eax, eax jz short locret_113FF mov ecx, [eax] mov dl, 1 call dword ptr [ecx-4] locret_113FF: ; CODE XREF: sub_113F4+2j retn sub_113F4 endp ; =============== S U B R O U T I N E ======================================= sub_11400 proc near ; CODE XREF: sub_11388+Cj push ebx push esi push edi mov ebx, eax mov edi, edx stosd mov ecx, [ebx-28h] xor eax, eax push ecx shr ecx, 2 dec ecx rep stosd pop ecx and ecx, 3 rep stosb mov eax, edx mov edx, esp loc_1141E: ; CODE XREF: sub_11400+2Fj mov ecx, [ebx-48h] test ecx, ecx jz short loc_11426 push ecx loc_11426: ; CODE XREF: sub_11400+23j mov ebx, [ebx-24h] test ebx, ebx jz short loc_11431 mov ebx, [ebx] jmp short loc_1141E ; --------------------------------------------------------------------------- loc_11431: ; CODE XREF: sub_11400+2Bj cmp esp, edx jz short loc_11452 loc_11435: ; CODE XREF: sub_11400+50j pop ebx mov ecx, [ebx] add ebx, 4 loc_1143B: ; CODE XREF: sub_11400+4Cj mov esi, [ebx+10h] test esi, esi jz short loc_11448 mov edi, [ebx+14h] mov [eax+edi], esi loc_11448: ; CODE XREF: sub_11400+40j add ebx, 1Ch dec ecx jnz short loc_1143B cmp esp, edx jnz short loc_11435 loc_11452: ; CODE XREF: sub_11400+33j pop edi pop esi pop ebx retn sub_11400 endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_11458 proc near ; CODE XREF: sub_1149C+13p push edi xchg eax, ebx jmp short loc_1145E ; --------------------------------------------------------------------------- loc_1145C: ; CODE XREF: sub_11458+1Fj mov ebx, [ebx] loc_1145E: ; CODE XREF: sub_11458+2j mov edi, [ebx-30h] test edi, edi jz short loc_11472 movzx ecx, word ptr [edi] push ecx add edi, 2 repne scasw jz short loc_1147B pop ecx loc_11472: ; CODE XREF: sub_11458+Bj mov ebx, [ebx-24h] test ebx, ebx jnz short loc_1145C pop edi retn ; --------------------------------------------------------------------------- loc_1147B: ; CODE XREF: sub_11458+17j pop eax add eax, eax sub eax, ecx mov ebx, [edi+eax*2-4] pop edi retn sub_11458 endp ; --------------------------------------------------------------------------- align 4 ; [00000006 BYTES: COLLAPSED FUNCTION System::TObject::SafeCallException(System::TObject *,void *). PRESS KEYPAD "+" TO EXPAND] align 10h ; [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 ; =============== S U B R O U T I N E ======================================= sub_1149C proc near ; DATA XREF: CODE:00011044o ; CODE:0001440Co ... push ebx mov bx, [edx] or bx, bx jz short loc_114BC cmp bx, 0C000h jnb short loc_114BC push eax mov eax, [eax] call sub_11458 pop eax jz short loc_114BC mov ecx, ebx pop ebx jmp ecx ; --------------------------------------------------------------------------- loc_114BC: ; CODE XREF: sub_1149C+7j sub_1149C+Ej ... pop ebx mov ecx, [eax] jmp dword ptr [ecx-10h] sub_1149C endp ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- align 4 ; [00000029 BYTES: COLLAPSED FUNCTION System::__linkproc__ ClassCreate(System::TMetaClass *,bool). PRESS KEYPAD "+" TO EXPAND] off_114ED dd offset loc_12AE7+2 ; DATA XREF: System::__linkproc__ ClassCreate(System::TMetaClass *,bool)+18o align 2 mov eax, [esp+2Ch] mov eax, [eax+0Ch] test eax, eax jz short loc_1150B mov ecx, [eax] mov dl, 81h push eax call dword ptr [ecx-4] pop eax call @System@@ClassDestroy$qqrp14System@TObject ; System::__linkproc__ ClassDestroy(System::TObject *) loc_1150B: ; CODE XREF: CODE:000114FBj call @System@@RaiseAgain$qqrv ; System::__linkproc__ RaiseAgain(void) retn ; --------------------------------------------------------------------------- align 4 ; [00000006 BYTES: COLLAPSED FUNCTION System::__linkproc__ ClassDestroy(System::TObject *). PRESS KEYPAD "+" TO EXPAND] align 4 ; =============== S U B R O U T I N E ======================================= sub_1151C proc near ; CODE XREF: unknown_libname_3+10p ; sub_14448+80p push eax mov edx, [eax] call dword ptr [edx-1Ch] pop eax retn sub_1151C endp ; [0000000F BYTES: COLLAPSED FUNCTION System::__linkproc__ BeforeDestruction(System::TObject *,signed char). PRESS KEYPAD "+" TO EXPAND] align 4 ; =============== S U B R O U T I N E ======================================= sub_11534 proc near ; CODE XREF: System::__linkproc__ RaiseAgain(void)+35p cmp ds:byte_1B01C, 1 jbe short locret_1154D push 0 ; lpArguments push 0 ; nNumberOfArguments push 0 ; dwExceptionFlags push 0EEDFADFh ; dwExceptionCode call RaiseException ; RaiseException locret_1154D: ; CODE XREF: sub_11534+7j retn sub_11534 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_11550 proc near ; CODE XREF: sub_14510-2EA7p cmp ds:byte_1B01C, 0 jz short locret_1156F push eax push eax push edx push esp ; lpArguments push 2 ; nNumberOfArguments push 0 ; dwExceptionFlags push 0EEDFAE4h ; dwExceptionCode call RaiseException ; RaiseException add esp, 8 pop eax locret_1156F: ; CODE XREF: sub_11550+7j retn sub_11550 endp ; --------------------------------------------------------------------------- ; [00000014 BYTES: COLLAPSED CHUNK OF FUNCTION unknown_libname_4. PRESS KEYPAD "+" TO EXPAND] ; [00000011 BYTES: COLLAPSED FUNCTION unknown_libname_4. PRESS KEYPAD "+" TO EXPAND] align 4 ; [0000001E BYTES: COLLAPSED FUNCTION unknown_libname_5. PRESS KEYPAD "+" TO EXPAND] align 4 ; =============== S U B R O U T I N E ======================================= sub_115B8 proc near ; CODE XREF: sub_12B94-1427p cmp ds:byte_1B01C, 1 jbe short locret_115DD push eax push edx push ecx call unknown_libname_5 ; BDS 2005-2006 and Delphi6-7 Visual Component Library push ecx push esp ; lpArguments push 1 ; nNumberOfArguments push 0 ; dwExceptionFlags push 0EEDFAE1h ; dwExceptionCode call RaiseException ; RaiseException pop ecx pop ecx pop edx pop eax locret_115DD: ; CODE XREF: sub_115B8+7j retn sub_115B8 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_115E0 proc near ; CODE XREF: System::__linkproc__ DoneExcept(void)+28p cmp ds:byte_1B01C, 1 jbe short locret_115FA push edx push esp ; lpArguments push 1 ; nNumberOfArguments push 0 ; dwExceptionFlags push 0EEDFAE2h ; dwExceptionCode call RaiseException ; RaiseException pop edx locret_115FA: ; CODE XREF: sub_115E0+7j retn sub_115E0 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_115FC proc near ; CODE XREF: CODE:loc_1193Cp push eax push edx cmp ds:byte_1B01C, 1 jbe short loc_11616 push esp ; lpArguments push 2 ; nNumberOfArguments push 0 ; dwExceptionFlags push 0EEDFAE3h ; dwExceptionCode call RaiseException ; RaiseException loc_11616: ; CODE XREF: sub_115FC+9j pop edx pop eax retn sub_115FC endp ; --------------------------------------------------------------------------- align 4 ; START OF FUNCTION CHUNK FOR sub_14510 loc_1161C: ; CODE XREF: sub_14510:loc_145F5j ; sub_14608:loc_1467Ej ... mov eax, [esp-4+ExceptionInfo.ExceptionRecord] test dword ptr [eax+4], 6 jnz loc_1173F cmp dword ptr [eax], 0EEDFADEh mov edx, [eax+18h] mov ecx, [eax+14h] jz short loc_116A9 cld call unknown_libname_2 ; BDS 2005-2006 and Delphi6-7 Visual Component Library mov edx, ds:dword_1C008 test edx, edx jz loc_1173F call edx ; dword_1C008 test eax, eax jz loc_1173F mov edx, [esp-4+arg_8] mov ecx, [esp-4+ExceptionInfo.ExceptionRecord] cmp dword ptr [ecx], 0EEFFACEh jz short loc_116A0 call sub_11550 cmp ds:byte_1B020, 0 jbe short loc_116A0 cmp ds:byte_1B01C, 0 ja short loc_116A0 lea ecx, [esp-4+ExceptionInfo] push eax push ecx ; ExceptionInfo call UnhandledExceptionFilter ; UnhandledExceptionFilter cmp eax, 0 pop eax jz loc_1173F mov edx, eax mov eax, [esp-4+ExceptionInfo.ExceptionRecord] mov ecx, [eax+0Ch] jmp short loc_116D0 ; --------------------------------------------------------------------------- loc_116A0: ; CODE XREF: sub_14510-2EA9j ; sub_14510-2E9Bj ... mov edx, eax mov eax, [esp-4+ExceptionInfo.ExceptionRecord] mov ecx, [eax+0Ch] loc_116A9: ; CODE XREF: sub_14510-2ED7j cmp ds:byte_1B020, 1 jbe short loc_116D0 cmp ds:byte_1B01C, 0 ja short loc_116D0 push eax lea eax, [esp+ExceptionInfo] push edx push ecx push eax ; ExceptionInfo call UnhandledExceptionFilter ; UnhandledExceptionFilter cmp eax, 0 pop ecx pop edx pop eax jz short loc_1173F loc_116D0: ; CODE XREF: sub_14510-2E72j ; sub_14510-2E60j ... or dword ptr [eax+4], 2 push ebx xor ebx, ebx push esi push edi push ebp mov ebx, fs:[ebx] push ebx push eax push edx push ecx mov edx, [esp+1Ch+ExceptionInfo.ContextRecord] push 0 push eax push offset loc_116F3 push edx call RtlUnwind ; RtlUnwind loc_116F3: ; DATA XREF: sub_14510-2E28o mov edi, [esp+2Ch+var_4] call sub_1284C push dword ptr [eax+0] mov [eax+0], esp mov ebp, [edi+8] mov ebx, [edi+4] mov dword ptr [edi+4], offset j_unknown_libname_6 add ebx, 5 call unknown_libname_4 ; BDS 2005-2006 and Delphi6-7 Visual Component Library jmp ebx ; END OF FUNCTION CHUNK FOR sub_14510 ; [00000005 BYTES: COLLAPSED FUNCTION j_unknown_libname_6. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- call sub_1284C mov ecx, [eax+0] mov edx, [ecx] mov [eax+0], edx mov eax, [ecx+8] jmp sub_113F4 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_14510 loc_1173F: ; CODE XREF: sub_14510-2EE9j ; sub_14510-2EC7j ... mov eax, 1 retn ; END OF FUNCTION CHUNK FOR sub_14510 ; --------------------------------------------------------------------------- align 4 ; START OF FUNCTION CHUNK FOR sub_12B94 unknown_libname_6: ; CODE XREF: j_unknown_libname_6j ; sub_1272C:loc_12768j ... mov eax, [esp-4+arg_0] ; BDS 2005-2006 and Delphi6-7 Visual Component Library mov edx, [esp-4+arg_4] test dword ptr [eax+4], 6 jz short loc_11778 mov ecx, [edx+4] mov dword ptr [edx+4], offset loc_11778 push ebx push esi push edi push ebp mov ebp, [edx+8] add ecx, 5 call sub_115B8 call ecx pop ebp pop edi pop esi pop ebx loc_11778: ; CODE XREF: sub_12B94-143Dj ; DATA XREF: sub_12B94-1438o mov eax, 1 retn ; END OF FUNCTION CHUNK FOR sub_12B94 ; --------------------------------------------------------------------------- align 10h ; [00000051 BYTES: COLLAPSED FUNCTION System::__linkproc__ RaiseAgain(void). PRESS KEYPAD "+" TO EXPAND] align 4 ; [0000002F BYTES: COLLAPSED FUNCTION System::__linkproc__ DoneExcept(void). PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- retn ; [00000015 BYTES: COLLAPSED FUNCTION System::__linkproc__ TryFinallyExit(void). PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_1181C proc near ; CODE XREF: unknown_libname_7+97p mov [esp+0], edx jmp sub_11BF4 sub_1181C endp ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- align 4 ; [000000A0 BYTES: COLLAPSED FUNCTION unknown_libname_7. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_118C8: ; DATA XREF: sub_11964+12o mov eax, [esp+4] test dword ptr [eax+4], 6 jnz loc_11961 cmp ds:byte_1B01C, 0 ja short loc_118F1 lea eax, [esp+4] push eax call UnhandledExceptionFilter ; UnhandledExceptionFilter cmp eax, 0 jz short loc_11961 loc_118F1: ; CODE XREF: CODE:000118E0j mov eax, [esp+4] cld call unknown_libname_2 ; BDS 2005-2006 and Delphi6-7 Visual Component Library mov edx, [esp+8] push 0 push eax push offset loc_1190D push edx call RtlUnwind ; RtlUnwind loc_1190D: ; DATA XREF: CODE:00011902o mov ebx, [esp+4] cmp dword ptr [ebx], 0EEDFADEh mov edx, [ebx+14h] mov eax, [ebx+18h] jz short loc_1193C mov edx, ds:dword_1C008 test edx, edx jz unknown_libname_7 ; BDS 2005-2006 and Delphi6-7 Visual Component Library mov eax, ebx call edx ; dword_1C008 test eax, eax jz unknown_libname_7 ; BDS 2005-2006 and Delphi6-7 Visual Component Library mov edx, [ebx+0Ch] loc_1193C: ; CODE XREF: CODE:0001191Dj call sub_115FC mov ecx, ds:dword_1C000 test ecx, ecx jz short loc_1194D call ecx ; dword_1C000 loc_1194D: ; CODE XREF: CODE:00011949j mov ecx, [esp+4] mov eax, 0D9h mov edx, [ecx+14h] mov [esp], edx jmp sub_11BF4 ; --------------------------------------------------------------------------- loc_11961: ; CODE XREF: CODE:000118D3j ; CODE:000118EFj xor eax, eax retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame fpd=0FFFFFFA0h sub_11964 proc near ; CODE XREF: System::__linkproc__ StartLib(void)+4Fp arg_4C = byte ptr 54h xor edx, edx push ebp lea ebp, [esp+60h] lea eax, [ebp-60h+arg_4C] mov ecx, fs:[edx] mov fs:[edx], eax mov [eax], ecx mov dword ptr [eax+4], offset loc_118C8 mov [eax+8], ebp mov ds:dword_1C030, eax pop ebp retn sub_11964 endp ; =============== S U B R O U T I N E ======================================= sub_11988 proc near ; CODE XREF: sub_11B04:loc_11B52p ; DATA XREF: DATA:off_1B010o push ebx push esi push edi push ebp mov edi, offset dword_1C02C mov eax, [edi+8] test eax, eax jz short loc_119B6 mov ebx, [edi+0Ch] mov esi, [eax+4] test ebx, ebx jle short loc_119B6 loc_119A2: ; CODE XREF: sub_11988+2Cj dec ebx mov [edi+0Ch], ebx mov eax, [esi+ebx*8+4] test eax, eax jz short loc_119B2 mov ebp, eax call ebp loc_119B2: ; CODE XREF: sub_11988+24j test ebx, ebx jg short loc_119A2 loc_119B6: ; CODE XREF: sub_11988+Ej ; sub_11988+18j pop ebp pop edi pop esi pop ebx retn sub_11988 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_119BC proc near ; CODE XREF: sub_119BC+43p ; sub_11A10+12p ; DATA XREF: ... push ebx push esi push edi push ebp mov edi, ecx mov ebp, edx mov esi, eax mov eax, offset sub_119BC cmp eax, ds:off_1B00C setz bl cmp edi, ebp jle short loc_11A0B loc_119D8: ; CODE XREF: sub_119BC+4Dj mov eax, [esi+ebp*8] inc ebp mov ds:dword_1C038, ebp test eax, eax jz short loc_119E8 call eax loc_119E8: ; CODE XREF: sub_119BC+28j test bl, bl jz short loc_11A07 mov eax, offset sub_119BC cmp eax, ds:off_1B00C jz short loc_11A07 mov ecx, edi mov edx, ebp mov eax, esi call ds:off_1B00C jmp short loc_11A0B ; --------------------------------------------------------------------------- loc_11A07: ; CODE XREF: sub_119BC+2Ej ; sub_119BC+3Bj cmp edi, ebp jg short loc_119D8 loc_11A0B: ; CODE XREF: sub_119BC+1Aj ; sub_119BC+49j pop ebp pop edi pop esi pop ebx retn sub_119BC endp ; =============== S U B R O U T I N E ======================================= sub_11A10 proc near ; CODE XREF: System::__linkproc__ StartLib(void)+99p mov eax, ds:dword_1C034 test eax, eax jz short locret_11A28 mov edx, [eax] xor ecx, ecx mov eax, [eax+4] xchg ecx, edx call ds:off_1B00C locret_11A28: ; CODE XREF: sub_11A10+7j retn sub_11A10 endp ; --------------------------------------------------------------------------- align 4 ; [000000A1 BYTES: COLLAPSED FUNCTION System::__linkproc__ StartLib(void). PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- align 10h ; [00000033 BYTES: COLLAPSED FUNCTION sub_11AD0. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- retn ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_11B04 proc near ; CODE XREF: System::__linkproc__ StartLib(void)+93j ; sub_11BF4-6j ... push ebx push esi push edi push ebp mov ebx, offset dword_1C02C mov esi, offset dword_1C018 mov edi, offset dword_1C01C cmp byte ptr [ebx+24h], 0 jnz short loc_11B33 cmp dword ptr [edi], 0 jz short loc_11B33 loc_11B22: ; CODE XREF: sub_11B04+2Dj mov edx, [edi] mov eax, edx xor edx, edx mov [edi], edx mov ebp, eax call ebp cmp dword ptr [edi], 0 jnz short loc_11B22 loc_11B33: ; CODE XREF: sub_11B04+17j ; sub_11B04+1Cj cmp ds:dword_1C020, 0 jz short loc_11B42 call ds:off_1B044 loc_11B42: ; CODE XREF: sub_11B04+36j ; sub_11B04+B3j cmp byte ptr [ebx+24h], 2 jnz short loc_11B52 cmp dword ptr [esi], 0 jnz short loc_11B52 xor eax, eax mov [ebx+0Ch], eax loc_11B52: ; CODE XREF: sub_11B04+42j ; sub_11B04+47j call ds:off_1B010 cmp byte ptr [ebx+24h], 1 jbe short loc_11B63 cmp dword ptr [esi], 0 jz short loc_11B81 loc_11B63: ; CODE XREF: sub_11B04+58j mov eax, [ebx+10h] test eax, eax jz short loc_11B81 call ds:off_1B02C mov eax, [ebx+10h] mov edx, [eax+10h] cmp edx, [eax+4] jz short loc_11B81 push edx ; hLibModule call FreeLibrary ; FreeLibrary loc_11B81: ; CODE XREF: sub_11B04+5Dj ; sub_11B04+64j ... call ds:off_1B014 cmp byte ptr [ebx+24h], 1 jnz short loc_11B90 call dword ptr [ebx+28h] loc_11B90: ; CODE XREF: sub_11B04+87j cmp byte ptr [ebx+24h], 0 jz short loc_11B9B call sub_11AD0 loc_11B9B: ; CODE XREF: sub_11B04+90j cmp dword ptr [ebx], 0 jnz short loc_11BA8 mov eax, [esi] push eax ; uExitCode call ExitProcess ; ExitProcess ; --------------------------------------------------------------------------- loc_11BA8: ; CODE XREF: sub_11B04+9Aj mov eax, [ebx] push esi mov esi, eax mov edi, ebx mov ecx, 0Bh rep movsd pop esi jmp short loc_11B42 sub_11B04 endp ; sp-analysis failed ; --------------------------------------------------------------------------- aPortionsCopyri db 'Portions Copyright (c) 1983,99 Borland',0 ; --------------------------------------------------------------------------- pop ebp pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- align 4 ; START OF FUNCTION CHUNK FOR sub_11BF4 loc_11BE8: ; CODE XREF: sub_11BF4+6j mov ds:dword_1C018, eax jmp sub_11B04 ; END OF FUNCTION CHUNK FOR sub_11BF4 ; --------------------------------------------------------------------------- retn ; =============== S U B R O U T I N E ======================================= sub_11BF4 proc near ; CODE XREF: System::__linkproc__ ReallocMem(void *&,int):loc_111F0j ; sub_1181C+3j ... ; FUNCTION CHUNK AT 00011BE8 SIZE 0000000B BYTES pop ds:dword_1C020 jmp loc_11BE8 sub_11BF4 endp ; sp-analysis failed ; --------------------------------------------------------------------------- retn ; =============== S U B R O U T I N E ======================================= sub_11C00 proc near ; CODE XREF: System::__linkproc__ LStrFromPCharLen(System::AnsiString &,char *,int)+23p ; sub_11D14+16p ... mov edx, [eax] test edx, edx jz short locret_11C21 mov dword ptr [eax], 0 mov ecx, [edx-8] dec ecx jl short locret_11C21 dec dword ptr [edx-8] jnz short locret_11C21 push eax lea eax, [edx-8] call sub_11164 pop eax locret_11C21: ; CODE XREF: sub_11C00+4j ; sub_11C00+10j ... retn sub_11C00 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_11C24 proc near ; CODE XREF: sub_1231C+63p ; sub_12B94+A2p ... push ebx push esi mov ebx, eax mov esi, edx loc_11C2A: ; CODE XREF: sub_11C24+29j mov edx, [ebx] test edx, edx jz short loc_11C49 mov dword ptr [ebx], 0 mov ecx, [edx-8] dec ecx jl short loc_11C49 dec dword ptr [edx-8] jnz short loc_11C49 lea eax, [edx-8] call sub_11164 loc_11C49: ; CODE XREF: sub_11C24+Aj ; sub_11C24+16j ... add ebx, 4 dec esi jnz short loc_11C2A pop esi pop ebx retn sub_11C24 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_11C54 proc near ; CODE XREF: System::__linkproc__ LStrCat(void)+8j ; System::__linkproc__ LStrCat3(void)+6j ... test edx, edx jz short loc_11C7B mov ecx, [edx-8] inc ecx jg short loc_11C78 push eax push edx mov eax, [edx-4] call sub_11CC0 mov edx, eax pop eax push edx mov ecx, [eax-4] call sub_11210 pop edx pop eax jmp short loc_11C7B ; --------------------------------------------------------------------------- loc_11C78: ; CODE XREF: sub_11C54+8j inc dword ptr [edx-8] loc_11C7B: ; CODE XREF: sub_11C54+2j ; sub_11C54+22j xchg edx, [eax] test edx, edx jz short locret_11C94 mov ecx, [edx-8] dec ecx jl short locret_11C94 dec dword ptr [edx-8] jnz short locret_11C94 lea eax, [edx-8] call sub_11164 locret_11C94: ; CODE XREF: sub_11C54+2Bj ; sub_11C54+31j ... retn sub_11C54 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_11C98 proc near ; CODE XREF: sub_13A98+24p ; sub_13F40+2Bp ... test edx, edx jz short loc_11CA5 mov ecx, [edx-8] inc ecx jle short loc_11CA5 inc dword ptr [edx-8] loc_11CA5: ; CODE XREF: sub_11C98+2j sub_11C98+8j xchg edx, [eax] test edx, edx jz short locret_11CBE mov ecx, [edx-8] dec ecx jl short locret_11CBE dec dword ptr [edx-8] jnz short locret_11CBE lea eax, [edx-8] call sub_11164 locret_11CBE: ; CODE XREF: sub_11C98+11j ; sub_11C98+17j ... retn sub_11C98 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_11CC0 proc near ; CODE XREF: sub_11C54+Fp ; System::__linkproc__ LStrFromPCharLen(System::AnsiString &,char *,int)+Bp ... test eax, eax jle short loc_11CE0 push eax add eax, 9 call sub_1114C add eax, 8 pop edx mov [eax-4], edx mov dword ptr [eax-8], 1 mov byte ptr [eax+edx], 0 retn ; --------------------------------------------------------------------------- loc_11CE0: ; CODE XREF: sub_11CC0+2j xor eax, eax retn sub_11CC0 endp ; --------------------------------------------------------------------------- align 4 ; [0000002E BYTES: COLLAPSED FUNCTION System::__linkproc__ LStrFromPCharLen(System::AnsiString &,char *,int). PRESS KEYPAD "+" TO EXPAND] align 4 ; =============== S U B R O U T I N E ======================================= sub_11D14 proc near ; CODE XREF: System::__linkproc__ LStrFromWStr(System::AnsiString &,System::WideString):loc_11DEBj MultiByteStr = byte ptr -810h 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_11D31 mov eax, edi call sub_11C00 jmp short loc_11D98 ; --------------------------------------------------------------------------- loc_11D31: ; CODE XREF: sub_11D14+12j cmp ebx, 400h jge short loc_11D65 push 0 ; lpUsedDefaultChar push 0 ; lpDefaultChar push 800h ; cbMultiByte lea eax, [esp+81Ch+MultiByteStr] push eax ; lpMultiByteStr push ebx ; cchWideChar push ebp ; lpWideCharStr push 0 ; dwFlags push 0 ; CodePage call WideCharToMultiByte ; WideCharToMultiByte mov esi, eax test esi, esi jle short loc_11D65 mov edx, esp mov eax, edi mov ecx, esi call @System@@LStrFromPCharLen$qqrr17System@AnsiStringpci ; System::__linkproc__ LStrFromPCharLen(System::AnsiString &,char *,int) jmp short loc_11D98 ; --------------------------------------------------------------------------- loc_11D65: ; CODE XREF: sub_11D14+23j ; sub_11D14+42j push 0 ; lpUsedDefaultChar push 0 ; lpDefaultChar push 0 ; cbMultiByte push 0 ; lpMultiByteStr push ebx ; cchWideChar push ebp ; lpWideCharStr push 0 ; dwFlags push 0 ; CodePage call WideCharToMultiByte ; WideCharToMultiByte mov esi, eax mov eax, edi mov ecx, esi xor edx, edx call @System@@LStrFromPCharLen$qqrr17System@AnsiStringpci ; System::__linkproc__ LStrFromPCharLen(System::AnsiString &,char *,int) push 0 ; lpUsedDefaultChar push 0 ; lpDefaultChar push esi ; cbMultiByte mov eax, [edi] push eax ; lpMultiByteStr push ebx ; cchWideChar push ebp ; lpWideCharStr push 0 ; dwFlags push 0 ; CodePage call WideCharToMultiByte ; WideCharToMultiByte loc_11D98: ; CODE XREF: sub_11D14+1Bj ; sub_11D14+4Fj add esp, 800h pop ebp pop edi pop esi pop ebx retn sub_11D14 endp ; --------------------------------------------------------------------------- align 4 ; [0000002C BYTES: COLLAPSED FUNCTION unknown_libname_8. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- align 4 ; [0000000A BYTES: COLLAPSED FUNCTION unknown_libname_9. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- align 10h ; [00000010 BYTES: COLLAPSED FUNCTION System::__linkproc__ LStrFromWStr(System::AnsiString &,System::WideString). PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_11DF4 proc near ; CODE XREF: sub_12B94+5Cp ; sub_13284+3p ... test eax, eax jz short locret_11DFB mov eax, [eax-4] locret_11DFB: ; CODE XREF: sub_11DF4+2j retn sub_11DF4 endp ; [00000044 BYTES: COLLAPSED FUNCTION System::__linkproc__ LStrCat(void). PRESS KEYPAD "+" TO EXPAND] ; [00000073 BYTES: COLLAPSED FUNCTION System::__linkproc__ LStrCat3(void). PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- retn ; =============== S U B R O U T I N E ======================================= sub_11EB4 proc near ; CODE XREF: sub_12B94+7Ep ; sub_15CA4+53p ... push ebx push esi push edx push eax mov ebx, edx xor eax, eax loc_11EBC: ; CODE XREF: sub_11EB4+14j mov ecx, [esp+edx*4+10h] test ecx, ecx jz short loc_11EC7 add eax, [ecx-4] loc_11EC7: ; CODE XREF: sub_11EB4+Ej dec edx jnz short loc_11EBC call sub_11CC0 push eax mov esi, eax loc_11ED2: ; CODE XREF: sub_11EB4+33j mov eax, [esp+ebx*4+14h] mov edx, esi test eax, eax jz short loc_11EE6 mov ecx, [eax-4] add esi, ecx call sub_11210 loc_11EE6: ; CODE XREF: sub_11EB4+26j dec ebx jnz short loc_11ED2 pop edx pop eax test edx, edx jz short loc_11EF2 dec dword ptr [edx-8] loc_11EF2: ; CODE XREF: sub_11EB4+39j call sub_11C54 pop edx pop esi pop ebx pop eax lea esp, [esp+edx*4] jmp eax sub_11EB4 endp ; sp-analysis failed ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- align 4 ; [000000A2 BYTES: COLLAPSED FUNCTION System::__linkproc__ LStrCmp(void). PRESS KEYPAD "+" TO EXPAND] align 4 ; =============== S U B R O U T I N E ======================================= sub_11FA8 proc near ; CODE XREF: sub_14448+1Ep ; sub_152C0+Fp ... test eax, eax jz short locret_11FB5 mov edx, [eax-8] inc edx jle short locret_11FB5 inc dword ptr [eax-8] locret_11FB5: ; CODE XREF: sub_11FA8+2j sub_11FA8+8j retn sub_11FA8 endp ; --------------------------------------------------------------------------- align 4 ; [0000000C BYTES: COLLAPSED FUNCTION System::__linkproc__ LStrToPChar(System::AnsiString). PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_11FC4 proc near ; CODE XREF: sub_12038+9p ; sub_13B38+7Bp ... mov edx, [eax] test edx, edx jz short loc_11FF5 mov ecx, [edx-8] dec ecx jz short loc_11FF5 push ebx mov ebx, eax mov eax, [edx-4] call sub_11CC0 mov edx, eax mov eax, [ebx] mov [ebx], edx mov ecx, [eax-8] dec ecx jl short loc_11FEA dec dword ptr [eax-8] loc_11FEA: ; CODE XREF: sub_11FC4+21j mov ecx, [eax-4] call sub_11210 mov edx, [ebx] pop ebx loc_11FF5: ; CODE XREF: sub_11FC4+4j sub_11FC4+Aj mov eax, edx retn sub_11FC4 endp ; [0000003F BYTES: COLLAPSED FUNCTION System::__linkproc__ LStrCopy(void). PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- retn ; =============== S U B R O U T I N E ======================================= sub_12038 proc near ; CODE XREF: sub_13A98+6Fp ; sub_13F40+76p push ebx push esi push edi mov ebx, eax mov esi, edx mov edi, ecx call sub_11FC4 mov edx, [ebx] test edx, edx jz short loc_1207C mov ecx, [edx-4] dec esi jl short loc_1207C cmp esi, ecx jge short loc_1207C test edi, edi jle short loc_1207C sub ecx, esi cmp edi, ecx jle short loc_12062 mov edi, ecx loc_12062: ; CODE XREF: sub_12038+26j sub ecx, edi add edx, esi lea eax, [edx+edi] call sub_11210 mov edx, [ebx] mov eax, ebx mov edx, [edx-4] sub edx, edi call sub_120C8 loc_1207C: ; CODE XREF: sub_12038+12j ; sub_12038+18j ... pop edi pop esi pop ebx retn sub_12038 endp ; [00000045 BYTES: COLLAPSED FUNCTION unknown_libname_10. PRESS KEYPAD "+" TO EXPAND] align 4 ; =============== S U B R O U T I N E ======================================= sub_120C8 proc near ; CODE XREF: System::__linkproc__ LStrCat(void)+21p ; System::__linkproc__ LStrCat(void):loc_11E34p ... push ebx push esi push edi mov ebx, eax mov esi, edx xor edi, edi test edx, edx jz short loc_1211D mov eax, [ebx] test eax, eax jz short loc_120FE cmp dword ptr [eax-8], 1 jnz short loc_120FE sub eax, 8 add edx, 9 push eax mov eax, esp call @System@@ReallocMem$qqrrpvi ; System::__linkproc__ ReallocMem(void *&,int) pop eax add eax, 8 mov [ebx], eax mov [eax-4], esi mov byte ptr [eax+esi], 0 jmp short loc_12126 ; --------------------------------------------------------------------------- loc_120FE: ; CODE XREF: sub_120C8+11j ; sub_120C8+17j mov eax, edx call sub_11CC0 mov edi, eax mov eax, [ebx] test eax, eax jz short loc_1211D mov edx, edi mov ecx, [eax-4] cmp ecx, esi jl short loc_12118 mov ecx, esi loc_12118: ; CODE XREF: sub_120C8+4Cj call sub_11210 loc_1211D: ; CODE XREF: sub_120C8+Bj ; sub_120C8+43j mov eax, ebx call sub_11C00 mov [ebx], edi loc_12126: ; CODE XREF: sub_120C8+34j pop edi pop esi pop ebx retn sub_120C8 endp ; --------------------------------------------------------------------------- align 4 ; [00000007 BYTES: COLLAPSED CHUNK OF FUNCTION System::__linkproc__ WStrFromPWCharLen(System::WideString &,wchar_t *,int). PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- retn ; [00000015 BYTES: COLLAPSED FUNCTION System::__linkproc__ WStrClr(void *). PRESS KEYPAD "+" TO EXPAND] align 4 ; =============== S U B R O U T I N E ======================================= sub_1214C proc near ; CODE XREF: System::__linkproc__ WStrFromLStr(System::WideString &,System::AnsiString):loc_121FDj WideCharStr = word ptr -810h 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_12169 mov eax, edi call @System@@WStrClr$qqrpv ; System::__linkproc__ WStrClr(void *) jmp short loc_121C4 ; --------------------------------------------------------------------------- loc_12169: ; CODE XREF: sub_1214C+12j cmp ebx, 400h jge short loc_12199 push 400h ; cchWideChar lea eax, [esp+814h+WideCharStr] push eax ; lpWideCharStr push ebx ; cbMultiByte push ebp ; lpMultiByteStr push 0 ; dwFlags push 0 ; CodePage call MultiByteToWideChar ; MultiByteToWideChar mov esi, eax test esi, esi jle short loc_12199 mov edx, esp mov eax, edi mov ecx, esi call @System@@WStrFromPWCharLen$qqrr17System@WideStringpbi ; System::__linkproc__ WStrFromPWCharLen(System::WideString &,wchar_t *,int) jmp short loc_121C4 ; --------------------------------------------------------------------------- loc_12199: ; CODE XREF: sub_1214C+23j ; sub_1214C+3Ej push 0 ; cchWideChar push 0 ; lpWideCharStr push ebx ; cbMultiByte push ebp ; lpMultiByteStr push 0 ; dwFlags push 0 ; CodePage call MultiByteToWideChar ; MultiByteToWideChar mov esi, eax mov eax, edi mov ecx, esi xor edx, edx call @System@@WStrFromPWCharLen$qqrr17System@WideStringpbi ; System::__linkproc__ WStrFromPWCharLen(System::WideString &,wchar_t *,int) push esi ; cchWideChar mov eax, [edi] push eax ; lpWideCharStr push ebx ; cbMultiByte push ebp ; lpMultiByteStr push 0 ; dwFlags push 0 ; CodePage call MultiByteToWideChar ; MultiByteToWideChar loc_121C4: ; CODE XREF: sub_1214C+1Bj ; sub_1214C+4Bj add esp, 800h pop ebp pop edi pop esi pop ebx retn sub_1214C endp ; --------------------------------------------------------------------------- align 10h ; [00000023 BYTES: COLLAPSED FUNCTION System::__linkproc__ WStrFromPWCharLen(System::WideString &,wchar_t *,int). PRESS KEYPAD "+" TO EXPAND] align 4 ; [0000000E BYTES: COLLAPSED FUNCTION System::__linkproc__ WStrFromLStr(System::WideString &,System::AnsiString). PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- align 4 ; [0000001F BYTES: COLLAPSED FUNCTION System::__linkproc__ WStrAddRef(System::WideString &). PRESS KEYPAD "+" TO EXPAND] align 4 ; =============== S U B R O U T I N E ======================================= sub_12224 proc near ; CODE XREF: sub_12250+85p xor ecx, ecx push ebx mov cl, [edx+1] push esi push edi mov ebx, eax lea esi, [edx+ecx+0Ah] mov edi, [edx+ecx+6] loc_12236: ; CODE XREF: sub_12224+24j mov edx, [esi] mov eax, [esi+4] add eax, ebx mov edx, [edx] call unknown_libname_11 ; BDS 2005-2006 and Delphi6-7 Visual Component Library add esi, 8 dec edi jg short loc_12236 pop edi pop esi pop ebx retn sub_12224 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_12250 proc near ; CODE XREF: sub_12250+6Fp ; unknown_libname_11+5j ... 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_1228F cmp al, 0Bh jz short loc_1228F cmp al, 0Ch jz short loc_12299 cmp al, 0Dh jz short loc_122AC cmp al, 0Eh jz short loc_122CA cmp al, 0Fh jz short loc_1228F cmp al, 11h jz short loc_1228F mov al, 2 pop edi pop esi pop ebx jmp loc_111CC ; --------------------------------------------------------------------------- loc_1228F: ; CODE XREF: sub_12250+15j ; sub_12250+1Aj ... mov [ebx], ecx add ebx, 4 dec edi jg short loc_1228F jmp short loc_122DE ; --------------------------------------------------------------------------- loc_12299: ; CODE XREF: sub_12250+1Fj ; sub_12250+58j mov [ebx], ecx mov [ebx+4], ecx mov [ebx+8], ecx mov [ebx+0Ch], ecx add ebx, 10h dec edi jg short loc_12299 jmp short loc_122DE ; --------------------------------------------------------------------------- loc_122AC: ; CODE XREF: sub_12250+24j push ebp mov ebp, edx loc_122AF: ; CODE XREF: sub_12250+75j mov edx, [esi+ebp+0Ah] mov eax, ebx add ebx, [esi+ebp+2] mov ecx, [esi+ebp+6] mov edx, [edx] call sub_12250 dec edi jg short loc_122AF pop ebp jmp short loc_122DE ; --------------------------------------------------------------------------- loc_122CA: ; CODE XREF: sub_12250+29j push ebp mov ebp, edx loc_122CD: ; CODE XREF: sub_12250+8Bj mov eax, ebx add ebx, [esi+ebp+2] mov edx, esi call sub_12224 dec edi jg short loc_122CD pop ebp loc_122DE: ; CODE XREF: sub_12250+47j ; sub_12250+5Aj ... pop edi pop esi pop ebx retn sub_12250 endp ; --------------------------------------------------------------------------- align 4 ; [0000000A BYTES: COLLAPSED FUNCTION unknown_libname_11. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_122F0 proc near ; CODE XREF: sub_1139C+12p ; sub_1231C+BCp xor ecx, ecx push ebx mov cl, [edx+1] push esi push edi mov ebx, eax lea esi, [edx+ecx+0Ah] mov edi, [edx+ecx+6] loc_12302: ; CODE XREF: sub_122F0+24j mov edx, [esi] mov eax, [esi+4] add eax, ebx mov edx, [edx] call unknown_libname_12 ; BDS 2005-2006 and Delphi6-7 Visual Component Library add esi, 8 dec edi jg short loc_12302 mov eax, ebx pop edi pop esi pop ebx retn sub_122F0 endp ; =============== S U B R O U T I N E ======================================= sub_1231C proc near ; CODE XREF: sub_1231C+A6p ; unknown_libname_12+5j ... cmp ecx, 0 jz locret_12405 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_1236C cmp al, 0Bh jz short loc_12386 cmp al, 0Ch jz short loc_1239F cmp al, 0Dh jz short loc_123AF cmp al, 0Eh jz short loc_123CD cmp al, 0Fh jz loc_123E3 cmp al, 11h jz loc_123F2 pop edi pop esi pop ebx pop eax mov al, 2 jmp loc_111CC ; --------------------------------------------------------------------------- loc_1236C: ; CODE XREF: sub_1231C+1Dj cmp ecx, 1 mov eax, ebx jg short loc_1237D call sub_11C00 jmp loc_12401 ; --------------------------------------------------------------------------- loc_1237D: ; CODE XREF: sub_1231C+55j mov edx, ecx call sub_11C24 jmp short loc_12401 ; --------------------------------------------------------------------------- loc_12386: ; CODE XREF: sub_1231C+22j cmp ecx, 1 mov eax, ebx jg short loc_12395 call ds:off_1B004 jmp short loc_12401 ; --------------------------------------------------------------------------- loc_12395: ; CODE XREF: sub_1231C+6Fj mov edx, ecx call ds:off_1B008 jmp short loc_12401 ; --------------------------------------------------------------------------- loc_1239F: ; CODE XREF: sub_1231C+27j ; sub_1231C+8Fj mov eax, ebx add ebx, 10h call ds:off_1B000 dec edi jg short loc_1239F jmp short loc_12401 ; --------------------------------------------------------------------------- loc_123AF: ; CODE XREF: sub_1231C+2Cj push ebp mov ebp, edx loc_123B2: ; CODE XREF: sub_1231C+ACj mov edx, [esi+ebp+0Ah] mov eax, ebx add ebx, [esi+ebp+2] mov ecx, [esi+ebp+6] mov edx, [edx] call sub_1231C dec edi jg short loc_123B2 pop ebp jmp short loc_12401 ; --------------------------------------------------------------------------- loc_123CD: ; CODE XREF: sub_1231C+31j push ebp mov ebp, edx loc_123D0: ; CODE XREF: sub_1231C+C2j mov eax, ebx add ebx, [esi+ebp+2] mov edx, esi call sub_122F0 dec edi jg short loc_123D0 pop ebp jmp short loc_12401 ; --------------------------------------------------------------------------- loc_123E3: ; CODE XREF: sub_1231C+36j ; sub_1231C+D2j mov eax, ebx add ebx, 4 call @System@@IntfClear$qqrr45System@_DelphiInterface$t17System@IInterface_ ; System::__linkproc__ IntfClear(System::DelphiInterface<System::IInterface> &) dec edi jg short loc_123E3 jmp short loc_12401 ; --------------------------------------------------------------------------- loc_123F2: ; CODE XREF: sub_1231C+3Fj ; sub_1231C+E3j mov eax, ebx mov edx, esi add ebx, 4 call sub_12418 dec edi jg short loc_123F2 loc_12401: ; CODE XREF: sub_1231C+5Cj ; sub_1231C+68j ... pop edi pop esi pop ebx pop eax locret_12405: ; CODE XREF: sub_1231C+3j retn sub_1231C endp ; --------------------------------------------------------------------------- align 4 ; [0000000A BYTES: COLLAPSED FUNCTION unknown_libname_12. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- align 4 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND] align 4 ; =============== S U B R O U T I N E ======================================= sub_12418 proc near ; CODE XREF: sub_1231C+DDp mov ecx, [eax] test ecx, ecx jz short locret_12450 mov dword ptr [eax], 0 dec dword ptr [ecx-8] jnz short locret_12450 push eax mov eax, ecx xor ecx, ecx mov cl, [edx+1] mov edx, [edx+ecx+6] test edx, edx jz short loc_12447 mov ecx, [eax-4] test ecx, ecx jz short loc_12447 mov edx, [edx] call sub_1231C loc_12447: ; CODE XREF: sub_12418+1Fj ; sub_12418+26j sub eax, 8 call sub_11164 pop eax locret_12450: ; CODE XREF: sub_12418+4j sub_12418+Fj retn sub_12418 endp ; --------------------------------------------------------------------------- align 4 ; [0000000E BYTES: COLLAPSED FUNCTION System::RegisterModule(System::TLibModule *). PRESS KEYPAD "+" TO EXPAND] align 4 ; =============== S U B R O U T I N E ======================================= sub_12464 proc near ; CODE XREF: sub_11B04+66p ; DATA XREF: DATA:off_1B02Co push ebx push esi mov esi, eax mov ebx, ds:dword_1B028 test ebx, ebx jz short loc_1247E loc_12472: ; CODE XREF: sub_12464+18j mov eax, [esi+4] call dword ptr [ebx+4] mov ebx, [ebx] test ebx, ebx jnz short loc_12472 loc_1247E: ; CODE XREF: sub_12464+Cj pop esi pop ebx retn sub_12464 endp ; --------------------------------------------------------------------------- align 4 ; [00000015 BYTES: COLLAPSED FUNCTION System::__linkproc__ IntfClear(System::DelphiInterface<System::IInterface> &). PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION GetCurrentThreadId. PRESS KEYPAD "+" TO EXPAND] align 4 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 ; --------------------------------------------------------------------------- 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_124EA proc near ; CODE XREF: CODE:0001258Ap arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebp push ebx push esi push edi xor edi, edi mov ebx, [esp+10h+arg_0] mov ecx, [esp+10h+arg_4] or ecx, ecx jnz short loc_12504 or edx, edx jz short loc_1255C or ebx, ebx jz short loc_1255C loc_12504: ; CODE XREF: sub_124EA+10j or edx, edx jns short loc_12512 neg edx neg eax sbb edx, 0 or edi, 1 loc_12512: ; CODE XREF: sub_124EA+1Cj or ecx, ecx jns short loc_12520 neg ecx neg ebx sbb ecx, 0 xor edi, 1 loc_12520: ; CODE XREF: sub_124EA+2Aj mov ebp, ecx mov ecx, 40h push edi xor edi, edi xor esi, esi loc_1252C: ; CODE XREF: sub_124EA:loc_12543j shl eax, 1 rcl edx, 1 rcl esi, 1 rcl edi, 1 cmp edi, ebp jb short loc_12543 ja short loc_1253E cmp esi, ebx jb short loc_12543 loc_1253E: ; CODE XREF: sub_124EA+4Ej sub esi, ebx sbb edi, ebp inc eax loc_12543: ; CODE XREF: sub_124EA+4Cj ; sub_124EA+52j loop loc_1252C pop ebx test ebx, 1 jz short loc_12555 neg edx neg eax sbb edx, 0 loc_12555: ; CODE XREF: sub_124EA+62j ; sub_124EA+76j pop edi pop esi pop ebx pop ebp retn 8 ; --------------------------------------------------------------------------- loc_1255C: ; CODE XREF: sub_124EA+14j ; sub_124EA+18j div ebx xor edx, edx jmp short loc_12555 sub_124EA endp ; --------------------------------------------------------------------------- push esi mov esi, [esp+0Ch] and esi, [esp+8] cmp esi, 0FFFFFFFFh jnz short loc_12581 mov esi, eax or esi, edx cmp esi, 80000000h jnz short loc_12581 mov eax, esi pop esi dec eax retn ; --------------------------------------------------------------------------- loc_12581: ; CODE XREF: CODE:0001256Ej ; CODE:0001257Aj pop esi push dword ptr [esp+8] push dword ptr [esp+8] call sub_124EA and eax, eax retn 8 ; --------------------------------------------------------------------------- push ebp push ebx push esi push edi mov ebx, [esp+14h] mov ecx, [esp+18h] or ecx, ecx jnz short loc_125AC or edx, edx jz short loc_125D7 or ebx, ebx jz short loc_125D7 loc_125AC: ; CODE XREF: CODE:000125A2j mov ebp, ecx mov ecx, 40h xor edi, edi xor esi, esi loc_125B7: ; CODE XREF: CODE:loc_125CEj shl eax, 1 rcl edx, 1 rcl esi, 1 rcl edi, 1 cmp edi, ebp jb short loc_125CE ja short loc_125C9 cmp esi, ebx jb short loc_125CE loc_125C9: ; CODE XREF: CODE:000125C3j sub esi, ebx sbb edi, ebp inc eax loc_125CE: ; CODE XREF: CODE:000125C1j ; CODE:000125C7j loop loc_125B7 loc_125D0: ; CODE XREF: CODE:000125DBj pop edi pop esi pop ebx pop ebp retn 8 ; --------------------------------------------------------------------------- loc_125D7: ; CODE XREF: CODE:000125A6j ; CODE:000125AAj div ebx xor edx, edx jmp short loc_125D0 ; =============== S U B R O U T I N E ======================================= sub_125DD proc near ; CODE XREF: CODE:0001267Fp ; sub_12EC8+16p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebp push ebx push esi push edi xor edi, edi mov ebx, [esp+10h+arg_0] mov ecx, [esp+10h+arg_4] or ecx, ecx jnz short loc_125F7 or edx, edx jz short loc_12650 or ebx, ebx jz short loc_12650 loc_125F7: ; CODE XREF: sub_125DD+10j or edx, edx jns short loc_12605 neg edx neg eax sbb edx, 0 or edi, 1 loc_12605: ; CODE XREF: sub_125DD+1Cj or ecx, ecx jns short loc_12610 neg ecx neg ebx sbb ecx, 0 loc_12610: ; CODE XREF: sub_125DD+2Aj mov ebp, ecx mov ecx, 40h push edi xor edi, edi xor esi, esi loc_1261C: ; CODE XREF: sub_125DD:loc_12633j shl eax, 1 rcl edx, 1 rcl esi, 1 rcl edi, 1 cmp edi, ebp jb short loc_12633 ja short loc_1262E cmp esi, ebx jb short loc_12633 loc_1262E: ; CODE XREF: sub_125DD+4Bj sub esi, ebx sbb edi, ebp inc eax loc_12633: ; CODE XREF: sub_125DD+49j ; sub_125DD+4Fj loop loc_1261C mov eax, esi mov edx, edi pop ebx test ebx, 1 jz short loc_12649 neg edx neg eax sbb edx, 0 loc_12649: ; CODE XREF: sub_125DD+63j ; sub_125DD+78j pop edi pop esi pop ebx pop ebp retn 8 ; --------------------------------------------------------------------------- loc_12650: ; CODE XREF: sub_125DD+14j ; sub_125DD+18j div ebx xchg eax, edx xor edx, edx jmp short loc_12649 sub_125DD endp ; --------------------------------------------------------------------------- push esi mov esi, [esp+0Ch] and esi, [esp+8] cmp esi, 0FFFFFFFFh jnz short loc_12676 mov esi, eax or esi, edx cmp esi, 80000000h jnz short loc_12676 mov eax, esi pop esi dec eax retn ; --------------------------------------------------------------------------- loc_12676: ; CODE XREF: CODE:00012663j ; CODE:0001266Fj pop esi push dword ptr [esp+8] push dword ptr [esp+8] call sub_125DD and eax, eax retn 8 ; --------------------------------------------------------------------------- push ebp push ebx push esi push edi mov ebx, [esp+14h] mov ecx, [esp+18h] or ecx, ecx jnz short loc_126A1 or edx, edx jz short loc_126D0 or ebx, ebx jz short loc_126D0 loc_126A1: ; CODE XREF: CODE:00012697j mov ebp, ecx mov ecx, 40h xor edi, edi xor esi, esi loc_126AC: ; CODE XREF: CODE:loc_126C3j shl eax, 1 rcl edx, 1 rcl esi, 1 rcl edi, 1 cmp edi, ebp jb short loc_126C3 ja short loc_126BE cmp esi, ebx jb short loc_126C3 loc_126BE: ; CODE XREF: CODE:000126B8j sub esi, ebx sbb edi, ebp inc eax loc_126C3: ; CODE XREF: CODE:000126B6j ; CODE:000126BCj loop loc_126AC mov eax, esi mov edx, edi loc_126C9: ; CODE XREF: CODE:000126D5j pop edi pop esi pop ebx pop ebp retn 8 ; --------------------------------------------------------------------------- loc_126D0: ; CODE XREF: CODE:0001269Bj ; CODE:0001269Fj div ebx xchg eax, edx xor edx, edx jmp short loc_126C9 ; --------------------------------------------------------------------------- cmp cl, 20h jl short loc_126ED cmp cl, 40h jl short loc_126E6 xor edx, edx xor eax, eax retn ; --------------------------------------------------------------------------- loc_126E6: ; CODE XREF: CODE:000126DFj mov edx, eax shl edx, cl xor eax, eax retn ; --------------------------------------------------------------------------- loc_126ED: ; CODE XREF: CODE:000126DAj shld edx, eax, cl shl eax, cl retn ; --------------------------------------------------------------------------- cmp cl, 20h jl short loc_12709 cmp cl, 40h jl short loc_12703 sar edx, 1Fh mov eax, edx retn ; --------------------------------------------------------------------------- loc_12703: ; CODE XREF: CODE:000126FBj mov eax, edx cdq sar eax, cl retn ; --------------------------------------------------------------------------- loc_12709: ; CODE XREF: CODE:000126F6j shrd eax, edx, cl sar edx, cl retn ; --------------------------------------------------------------------------- cmp cl, 20h jl short loc_12725 cmp cl, 40h jl short loc_1271E xor edx, edx xor eax, eax retn ; --------------------------------------------------------------------------- loc_1271E: ; CODE XREF: CODE:00012717j mov eax, edx xor edx, edx shr eax, cl retn ; --------------------------------------------------------------------------- loc_12725: ; CODE XREF: CODE:00012712j shrd eax, edx, cl shr edx, cl retn ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_1272C proc near ; DATA XREF: CODE:0001A074o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_12768 push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_1C028 jnz short loc_1275A cmp ds:dword_1C058, 0 jz short loc_12754 call ds:dword_1C058 loc_12754: ; CODE XREF: sub_1272C+20j call ds:off_1B030 loc_1275A: ; CODE XREF: sub_1272C+17j xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_1276F loc_12767: ; CODE XREF: sub_1272C+41j retn ; --------------------------------------------------------------------------- loc_12768: ; DATA XREF: sub_1272C+6o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_12767 ; --------------------------------------------------------------------------- loc_1276F: ; CODE XREF: sub_1272C:loc_12767j ; DATA XREF: sub_1272C+36o pop ebp retn sub_1272C endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_12774 proc near ; DATA XREF: CODE:0001A070o sub ds:dword_1C028, 1 jnb short locret_12787 call GetCurrentThreadId ; GetCurrentThreadId mov ds:dword_1C010, eax locret_12787: ; CODE XREF: sub_12774+7j retn sub_12774 endp ; =============== S U B R O U T I N E ======================================= sub_12788 proc near ; CODE XREF: sub_127D8:loc_127F9p ; sub_1284C:loc_12867p ; DATA XREF: ... push ebx mov eax, 8 test eax, eax jz short loc_127D5 cmp ds:dwTlsIndex, 0 jge short loc_127A5 mov eax, 0E2h call sub_11BF4 loc_127A5: ; CODE XREF: sub_12788+11j push 8 ; uBytes push 40h ; uFlags call LocalAlloc ; LocalAlloc mov ebx, eax test ebx, ebx jnz short loc_127C3 mov eax, 0E2h call sub_11BF4 jmp short loc_127CF ; --------------------------------------------------------------------------- loc_127C3: ; CODE XREF: sub_12788+2Dj push ebx ; lpTlsValue mov eax, ds:dwTlsIndex push eax ; dwTlsIndex call TlsSetValue ; TlsSetValue loc_127CF: ; CODE XREF: sub_12788+39j mov ds:dword_1C074, ebx loc_127D5: ; CODE XREF: sub_12788+8j pop ebx retn sub_12788 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_127D8 proc near ; DATA XREF: DATA:0001B064o mov eax, 8 test eax, eax jz short locret_127FE call TlsAlloc ; TlsAlloc mov ds:dwTlsIndex, eax test eax, eax jge short loc_127F9 mov eax, 0E2h call sub_11BF4 loc_127F9: ; CODE XREF: sub_127D8+15j call sub_12788 locret_127FE: ; CODE XREF: sub_127D8+7j retn sub_127D8 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_12800 proc near ; CODE XREF: sub_12828+9p ; DATA XREF: DATA:0001B06Co mov eax, 8 test eax, eax jz short locret_12827 cmp ds:dwTlsIndex, 0 jl short locret_12827 mov eax, ds:dwTlsIndex push eax ; dwTlsIndex call TlsGetValue ; TlsGetValue test eax, eax jz short locret_12827 push eax ; hMem call LocalFree ; LocalFree locret_12827: ; CODE XREF: sub_12800+7j ; sub_12800+10j ... retn sub_12800 endp ; =============== S U B R O U T I N E ======================================= sub_12828 proc near ; DATA XREF: DATA:off_1B060o mov eax, 8 test eax, eax jz short locret_1284A call sub_12800 cmp ds:dwTlsIndex, 0 jl short locret_1284A mov eax, ds:dwTlsIndex push eax ; dwTlsIndex call TlsFree ; TlsFree locret_1284A: ; CODE XREF: sub_12828+7j ; sub_12828+15j retn sub_12828 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_1284C proc near ; CODE XREF: System::__linkproc__ ReallocMem(void *&,int)+69p ; sub_14510-2E19p ... mov cl, ds:byte_1C05C mov eax, ds:dwTlsIndex test cl, cl jnz short loc_12884 mov edx, large fs:2Ch mov eax, [edx+eax*4] retn ; --------------------------------------------------------------------------- loc_12867: ; CODE XREF: sub_1284C+40j call sub_12788 mov eax, ds:dwTlsIndex push eax ; dwTlsIndex call TlsGetValue ; TlsGetValue test eax, eax jz short loc_1287D retn ; --------------------------------------------------------------------------- loc_1287D: ; CODE XREF: sub_1284C+2Ej mov eax, ds:dword_1C074 retn ; --------------------------------------------------------------------------- loc_12884: ; CODE XREF: sub_1284C+Ej push eax ; dwTlsIndex call TlsGetValue ; TlsGetValue test eax, eax jz short loc_12867 retn sub_1284C endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_12890 proc near ; CODE XREF: Sysinit::__linkproc__ InitLib(void)+2Ep mov eax, ds:dword_1B04C mov ds:dword_1B058, eax mov eax, offset dword_1B048 call @System@RegisterModule$qqrp17System@TLibModule ; System::RegisterModule(System::TLibModule *) retn sub_12890 endp ; --------------------------------------------------------------------------- align 4 ; [00000046 BYTES: COLLAPSED FUNCTION Sysinit::__linkproc__ InitLib(void). PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_128F0 proc near ; DATA XREF: CODE:0001A06Co push ebp mov ebp, esp xor eax, eax push ebp push offset loc_12915 push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_1C070 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_1291C loc_12914: ; CODE XREF: sub_128F0+2Aj retn ; --------------------------------------------------------------------------- loc_12915: ; DATA XREF: sub_128F0+6o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_12914 ; --------------------------------------------------------------------------- loc_1291C: ; CODE XREF: sub_128F0:loc_12914j ; DATA XREF: sub_128F0+1Fo pop ebp retn sub_128F0 endp ; --------------------------------------------------------------------------- align 10h loc_12920: ; DATA XREF: CODE:off_1A068o sub ds:dword_1C070, 1 retn ; [00000006 BYTES: COLLAPSED FUNCTION FreeLibrary_0. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000006 BYTES: COLLAPSED FUNCTION GetProcAddress. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000012 BYTES: COLLAPSED FUNCTION Windows::MakeWord(uchar,uchar). PRESS KEYPAD "+" TO EXPAND] align 4 ; =============== S U B R O U T I N E ======================================= sub_1294C proc near ; CODE XREF: sub_14694+39p ; sub_14694+56p shr eax, 10h retn sub_1294C endp ; [00000008 BYTES: COLLAPSED FUNCTION Windows::ZeroMemory(void *,uint). PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_12958 proc near ; DATA XREF: CODE:0001A07Co push ebp mov ebp, esp xor eax, eax push ebp push offset loc_1297D push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_1C078 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_12984 loc_1297C: ; CODE XREF: sub_12958+2Aj retn ; --------------------------------------------------------------------------- loc_1297D: ; DATA XREF: sub_12958+6o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_1297C ; --------------------------------------------------------------------------- loc_12984: ; CODE XREF: sub_12958:loc_1297Cj ; DATA XREF: sub_12958+1Fo pop ebp retn sub_12958 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_12988 proc near ; DATA XREF: CODE:0001A078o sub ds:dword_1C078, 1 retn sub_12988 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_12990 proc near ; DATA XREF: CODE:0001A084o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_129B5 push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_1C07C xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_129BC loc_129B4: ; CODE XREF: sub_12990+2Aj retn ; --------------------------------------------------------------------------- loc_129B5: ; DATA XREF: sub_12990+6o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_129B4 ; --------------------------------------------------------------------------- loc_129BC: ; CODE XREF: sub_12990:loc_129B4j ; DATA XREF: sub_12990+1Fo pop ebp retn sub_12990 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_129C0 proc near ; DATA XREF: CODE:0001A080o sub ds:dword_1C07C, 1 retn sub_129C0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_129C8 proc near ; DATA XREF: CODE:0001A08Co push ebp mov ebp, esp xor eax, eax push ebp push offset loc_129ED push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_1C080 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_129F4 loc_129EC: ; CODE XREF: sub_129C8+2Aj retn ; --------------------------------------------------------------------------- loc_129ED: ; DATA XREF: sub_129C8+6o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_129EC ; --------------------------------------------------------------------------- loc_129F4: ; CODE XREF: sub_129C8:loc_129ECj ; DATA XREF: sub_129C8+1Fo pop ebp retn sub_129C8 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_129F8 proc near ; DATA XREF: CODE:0001A088o sub ds:dword_1C080, 1 retn sub_129F8 endp ; --------------------------------------------------------------------------- off_12A00 dd offset off_12A0C ; DATA XREF: sub_12B14+4r dd 28h, 0 off_12A0C dd offset sub_12A60 ; DATA XREF: CODE:off_12A00o dd offset @System@@Dispose$qqrpvt1 ; System::__linkproc__ Dispose(void *,void *) off_12A14 dd offset off_12A20 ; DATA XREF: sub_1309C+4r dd 2Ah, 0 off_12A20 dd offset sub_130B8 ; DATA XREF: CODE:off_12A14o dd offset @System@@Dispose$qqrpvt1_0 ; System::__linkproc__ Dispose(void *,void *) ; [00000006 BYTES: COLLAPSED FUNCTION GetFileAttributesA. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000006 BYTES: COLLAPSED FUNCTION GetModuleFileNameA. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000006 BYTES: COLLAPSED FUNCTION LoadLibraryA. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000006 BYTES: COLLAPSED FUNCTION wvsprintfA. PRESS KEYPAD "+" TO EXPAND] align 4 ; =============== S U B R O U T I N E ======================================= sub_12A48 proc near ; CODE XREF: sub_13260p sub_13284+Bp ... test eax, eax jnz short locret_12A51 mov eax, offset dword_1B0A4 locret_12A51: ; CODE XREF: sub_12A48+2j retn sub_12A48 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_12A54 proc near ; CODE XREF: sub_1326C+1p ; sub_134B4:loc_134BFp test edx, edx jnz short locret_12A5D mov edx, offset dword_1B0A4 locret_12A5D: ; CODE XREF: sub_12A54+2j retn sub_12A54 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_12A60 proc near ; DATA XREF: CODE:off_12A0Co var_4 = dword ptr -4 push ebp mov ebp, esp push ecx mov [ebp+var_4], eax pop ecx pop ebp retn sub_12A60 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_12A6C proc near ; CODE XREF: sub_13110+1p var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFF0h push ebx mov [ebp+var_C], eax mov eax, [ebp+var_C] cmp word ptr [eax+0Ah], 0 jz short loc_12AE4 mov ebx, [ebp+var_C] mov edx, [ebp+var_C] mov eax, [ebx+0Ch] call dword ptr [ebx+8] mov eax, [ebp+var_C] xor edx, edx mov [eax+8], edx mov [eax+0Ch], edx jmp short loc_12AE4 ; --------------------------------------------------------------------------- loc_12A99: ; CODE XREF: sub_12A6C+8Bj mov eax, [ebp+var_C] mov eax, [eax+10h] mov eax, [eax+1Ch] sub eax, 2 mov [ebp+var_10], eax mov eax, [ebp+var_C] mov eax, [eax+10h] mov edx, [ebp+var_10] call sub_12B58 mov [ebp+var_8], eax mov edx, [ebp+var_10] inc edx mov eax, [ebp+var_C] mov eax, [eax+10h] call sub_12B58 mov [ebp+var_4], eax mov eax, [ebp+var_C] mov eax, [eax+10h] mov ecx, 2 mov edx, [ebp+var_10] call sub_13194 mov eax, [ebp+var_4] call [ebp+var_8] loc_12AE4: ; CODE XREF: sub_12A6C+12j ; sub_12A6C+2Bj mov eax, [ebp+var_C] loc_12AE7: ; DATA XREF: CODE:off_114EDo cmp dword ptr [eax+10h], 0 jz short loc_12AF9 mov eax, [ebp+var_C] mov eax, [eax+10h] cmp dword ptr [eax+1Ch], 0 jg short loc_12A99 loc_12AF9: ; CODE XREF: sub_12A6C+7Fj mov eax, [ebp+var_C] mov eax, [eax+10h] call sub_13100 mov eax, [ebp+var_C] xor edx, edx mov [eax+10h], edx pop ebx mov esp, ebp pop ebp retn sub_12A6C endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_12B14 proc near ; CODE XREF: sub_13474+Bp ; sub_134B4+79p var_4 = dword ptr -4 push ebp mov ebp, esp push ecx mov edx, off_12A00 xor eax, eax call sub_130F0 mov [ebp+var_4], eax mov eax, [ebp+var_4] mov dword ptr [eax+24h], 4 mov eax, [ebp+var_4] pop ecx pop ebp retn sub_12B14 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_12B38 proc near ; CODE XREF: sub_133DC+Dp var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFF8h mov [ebp+var_8], edx mov [ebp+var_4], eax mov eax, [ebp+var_4] mov ecx, 1 mov edx, [ebp+var_8] call sub_13194 pop ecx pop ecx pop ebp retn sub_12B38 endp ; =============== S U B R O U T I N E ======================================= sub_12B58 proc near ; CODE XREF: sub_12A6C+45p ; sub_12A6C+57p ... test edx, edx jl short loc_12B68 cmp edx, [eax+1Ch] jge short loc_12B68 mov eax, [eax+18h] mov eax, [eax+edx*4] retn ; --------------------------------------------------------------------------- loc_12B68: ; CODE XREF: sub_12B58+2j sub_12B58+7j xor eax, eax retn sub_12B58 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_12B6C proc near ; CODE XREF: sub_132E4+2Fp push edi xchg eax, edi xchg eax, edx repne scasb xchg eax, edi pop edi retn sub_12B6C endp ; [0000001F BYTES: COLLAPSED FUNCTION Sysutils::CompareMem(void *,void *,int). PRESS KEYPAD "+" TO EXPAND] align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_12B94 proc near ; CODE XREF: sub_198F0+4Dp var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_D = byte ptr -0Dh var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch ; FUNCTION CHUNK AT 00011748 SIZE 00000036 BYTES push ebp mov ebp, esp add esp, 0FFFFFFE4h push ebx xor ebx, ebx mov [ebp+var_18], ebx mov [ebp+var_1C], ebx mov [ebp+var_C], ecx mov [ebp+var_8], edx mov [ebp+var_4], eax xor eax, eax push ebp push offset loc_12C3C push dword ptr fs:[eax] mov fs:[eax], esp mov edx, [ebp+var_4] mov edx, [edx] mov eax, [ebp+var_8] call unknown_libname_10 ; BDS 2005-2006 and Delphi6-7 Visual Component Library mov [ebp+var_14], eax cmp [ebp+var_14], 0 jle short loc_12C1D lea eax, [ebp+var_18] push eax mov ecx, [ebp+var_14] dec ecx mov eax, [ebp+var_4] mov eax, [eax] mov edx, 1 call @System@@LStrCopy$qqrv ; System::__linkproc__ LStrCopy(void) push [ebp+var_18] push [ebp+var_C] mov eax, [ebp+var_8] call sub_11DF4 mov edx, eax add edx, [ebp+var_14] lea ecx, [ebp+var_1C] mov eax, [ebp+var_4] mov eax, [eax] call sub_132BC push [ebp+var_1C] mov eax, [ebp+var_4] mov edx, 3 call sub_11EB4 mov [ebp+var_D], 1 jmp short loc_12C21 ; --------------------------------------------------------------------------- loc_12C1D: ; CODE XREF: sub_12B94+3Aj mov [ebp+var_D], 0 loc_12C21: ; CODE XREF: sub_12B94+87j xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_12C43 loc_12C2E: ; CODE XREF: sub_12B94+ADj lea eax, [ebp+var_1C] mov edx, 2 call sub_11C24 retn ; --------------------------------------------------------------------------- loc_12C3C: ; DATA XREF: sub_12B94+1Bo jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_12C2E ; --------------------------------------------------------------------------- loc_12C43: ; CODE XREF: sub_12B94+A7j ; DATA XREF: sub_12B94+95o mov al, [ebp+var_D] pop ebx mov esp, ebp pop ebp retn sub_12B94 endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_12C4C proc near ; CODE XREF: sub_13420+18p ; sub_13420+38p xchg eax, edi xchg eax, edx or ecx, 0FFFFFFFFh xor eax, eax cmp eax, edi jz short loc_12C5D repne scasb dec eax dec eax sub eax, ecx loc_12C5D: ; CODE XREF: sub_12C4C+9j mov edi, edx retn sub_12C4C endp ; [0000001C BYTES: COLLAPSED FUNCTION unknown_libname_13. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __stdcall sub_12C7C(int, double) sub_12C7C proc near ; CODE XREF: sub_12CC8+22p var_1C = word ptr -1Ch var_1A = word ptr -1Ah var_18 = word ptr -18h var_16 = word ptr -16h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = qword ptr 0Ch push ebp mov ebp, esp add esp, 0FFFFFFE4h mov [ebp+var_C], ecx mov [ebp+var_8], edx mov [ebp+var_4], eax push dword ptr [ebp+arg_4+4] push dword ptr [ebp+arg_4] ; double lea eax, [ebp+var_1C] call sub_12EF0 mov eax, [ebp+var_4] mov dx, [ebp+var_1C] mov [eax], dx mov eax, [ebp+var_8] mov dx, [ebp+var_1A] mov [eax], dx mov eax, [ebp+var_C] mov dx, [ebp+var_16] mov [eax], dx mov eax, [ebp+arg_0] mov dx, [ebp+var_18] mov [eax], dx mov esp, ebp pop ebp retn 0Ch sub_12C7C endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __stdcall sub_12CC8(double) sub_12CC8 proc near ; CODE XREF: Dateutils::DayOf(System::TDateTime)+15p var_E = dword ptr -0Eh var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = qword ptr 8 push ebp mov ebp, esp add esp, 0FFFFFFF0h mov [ebp+var_E+2], ecx mov [ebp+var_8], edx mov [ebp+var_4], eax push dword ptr [ebp+arg_0+4] push dword ptr [ebp+arg_0] ; double lea eax, [ebp+var_E] push eax ; int mov ecx, [ebp+var_E+2] mov edx, [ebp+var_8] mov eax, [ebp+var_4] call sub_12C7C mov esp, ebp pop ebp retn 8 sub_12CC8 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_12CF8 proc near ; CODE XREF: sub_12D44+21p ; sub_12EF0+DBp var_5 = byte ptr -5 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFF8h mov [ebp+var_4], eax mov eax, [ebp+var_4] and eax, 80000003h jns short loc_12D10 dec eax or eax, 0FFFFFFFCh inc eax loc_12D10: ; CODE XREF: sub_12CF8+11j test eax, eax jnz short loc_12D32 mov eax, [ebp+var_4] mov ecx, 64h cdq idiv ecx test edx, edx jnz short loc_12D36 mov eax, [ebp+var_4] mov ecx, 190h cdq idiv ecx test edx, edx jz short loc_12D36 loc_12D32: ; CODE XREF: sub_12CF8+1Aj xor eax, eax jmp short loc_12D38 ; --------------------------------------------------------------------------- loc_12D36: ; CODE XREF: sub_12CF8+29j ; sub_12CF8+38j mov al, 1 loc_12D38: ; CODE XREF: sub_12CF8+3Cj mov [ebp+var_5], al mov al, [ebp+var_5] pop ecx pop ecx pop ebp retn sub_12CF8 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_12D44 proc near ; CODE XREF: sub_15788+19p var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_9 = byte ptr -9 var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFDCh push ebx mov [ebp+var_8], edx mov [ebp+var_4], eax mov [ebp+var_9], 0 mov eax, [ebp+var_8] xor edx, edx mov [eax], edx mov [eax+4], edx mov eax, [ebp+var_4] movzx eax, word ptr [eax] call sub_12CF8 and eax, 7Fh lea eax, [eax+eax*2] lea eax, dword_1B074[eax*8] mov [ebp+var_18], eax mov eax, [ebp+var_4] cmp word ptr [eax], 270Fh ja loc_12EBB mov eax, [ebp+var_4] cmp word ptr [eax+2], 0Ch ja loc_12EBB mov eax, [ebp+var_4] movzx eax, word ptr [eax+2] mov edx, [ebp+var_18] mov ax, [edx+eax*2-2] mov edx, [ebp+var_4] cmp ax, [edx+6] jb loc_12EBB mov eax, [ebp+var_4] cmp word ptr [eax+8], 18h jnb loc_12EBB mov eax, [ebp+var_4] cmp word ptr [eax+0Ah], 3Ch jnb loc_12EBB mov eax, [ebp+var_4] cmp word ptr [eax+0Ch], 3Ch jnb loc_12EBB mov eax, [ebp+var_4] cmp word ptr [eax+0Eh], 3E8h jnb loc_12EBB mov eax, [ebp+var_4] movzx eax, word ptr [eax+6] mov [ebp+var_14], eax mov eax, [ebp+var_4] movzx eax, word ptr [eax+2] dec eax test eax, eax jle short loc_12E21 mov [ebp+var_1C], eax mov [ebp+var_10], 1 loc_12E0B: ; CODE XREF: sub_12D44+DBj mov eax, [ebp+var_18] mov edx, [ebp+var_10] movzx eax, word ptr [eax+edx*2-2] add [ebp+var_14], eax inc [ebp+var_10] dec [ebp+var_1C] jnz short loc_12E0B loc_12E21: ; CODE XREF: sub_12D44+BBj mov eax, [ebp+var_4] movzx eax, word ptr [eax] dec eax mov [ebp+var_10], eax cmp [ebp+var_10], 0 jge short loc_12E36 xor eax, eax mov [ebp+var_10], eax loc_12E36: ; CODE XREF: sub_12D44+EBj mov eax, [ebp+var_10] mov ecx, 64h cdq idiv ecx imul ecx, [ebp+var_10], 16Dh mov edx, [ebp+var_10] test edx, edx jns short loc_12E52 add edx, 3 loc_12E52: ; CODE XREF: sub_12D44+109j sar edx, 2 add ecx, edx sub ecx, eax mov eax, [ebp+var_10] mov ebx, 190h cdq idiv ebx add ecx, eax add ecx, [ebp+var_14] mov [ebp+var_20], ecx fild [ebp+var_20] mov eax, [ebp+var_4] movzx eax, word ptr [eax+8] imul eax, 36EE80h mov edx, [ebp+var_4] movzx edx, word ptr [edx+0Ah] imul edx, 0EA60h add eax, edx mov edx, [ebp+var_4] movzx edx, word ptr [edx+0Ch] imul edx, 3E8h add eax, edx mov edx, [ebp+var_4] movzx edx, word ptr [edx+0Eh] add eax, edx mov [ebp+var_24], eax fild [ebp+var_24] fdiv flt_12EC4 faddp st(1), st mov eax, [ebp+var_8] fstp qword ptr [eax] wait mov [ebp+var_9], 1 loc_12EBB: ; CODE XREF: sub_12D44+3Ej ; sub_12D44+4Cj ... mov al, [ebp+var_9] pop ebx mov esp, ebp pop ebp retn sub_12D44 endp ; --------------------------------------------------------------------------- align 4 flt_12EC4 dd 8.64e7 ; DATA XREF: sub_12D44+165r ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __stdcall sub_12EC8(double) sub_12EC8 proc near ; CODE XREF: sub_12EF0+145p var_4 = dword ptr -4 arg_0 = qword ptr 8 push ebp mov ebp, esp push ecx push 0 push 7 fld [ebp+arg_0] call sub_1127C add eax, 6 adc edx, 0 call sub_125DD inc eax mov [ebp+var_4], eax mov eax, [ebp+var_4] pop ecx pop ebp retn 8 sub_12EC8 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __stdcall sub_12EF0(double) sub_12EF0 proc near ; CODE XREF: sub_12C7C+18p var_20 = word ptr -20h var_1E = word ptr -1Eh var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = word ptr -14h var_12 = word ptr -12h var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch var_5 = byte ptr -5 var_4 = dword ptr -4 arg_0 = qword ptr 8 push ebp mov ebp, esp add esp, 0FFFFFFE0h mov [ebp+var_4], eax fld [ebp+arg_0] call sub_1127C mov [ebp+var_C], eax fild [ebp+var_C] fsubr [ebp+arg_0] fmul flt_13098 call @System@@ROUND$qqrv ; System::__linkproc__ ROUND(void) mov [ebp+var_18], eax mov [ebp+var_5], 0 cmp [ebp+var_C], 0 jle loc_1308C dec [ebp+var_C] mov [ebp+var_E], 1 cmp [ebp+var_C], 23AB1h jl short loc_12F4E loc_12F38: ; CODE XREF: sub_12EF0+5Cj sub [ebp+var_C], 23AB1h add [ebp+var_E], 190h cmp [ebp+var_C], 23AB1h jge short loc_12F38 loc_12F4E: ; CODE XREF: sub_12EF0+46j lea eax, [ebp+var_12] push eax lea ecx, [ebp+var_14] mov dx, 8EACh mov eax, [ebp+var_C] call unknown_libname_13 ; BDS 2005-2006 and Delphi6-7 Visual Component Library cmp [ebp+var_14], 4 jnz short loc_12F72 dec [ebp+var_14] add [ebp+var_12], 8EACh loc_12F72: ; CODE XREF: sub_12EF0+76j imul ax, [ebp+var_14], 64h add [ebp+var_E], ax lea eax, [ebp+var_12] push eax lea ecx, [ebp+var_14] movzx eax, [ebp+var_12] mov dx, 5B5h call unknown_libname_13 ; BDS 2005-2006 and Delphi6-7 Visual Component Library mov ax, [ebp+var_14] shl eax, 2 add [ebp+var_E], ax lea eax, [ebp+var_12] push eax lea ecx, [ebp+var_14] movzx eax, [ebp+var_12] mov dx, 16Dh call unknown_libname_13 ; BDS 2005-2006 and Delphi6-7 Visual Component Library cmp [ebp+var_14], 4 jnz short loc_12FBF dec [ebp+var_14] add [ebp+var_12], 16Dh loc_12FBF: ; CODE XREF: sub_12EF0+C3j mov ax, [ebp+var_14] add [ebp+var_E], ax movzx eax, [ebp+var_E] call sub_12CF8 and eax, 7Fh lea eax, [eax+eax*2] lea eax, dword_1B074[eax*8] mov [ebp+var_1C], eax mov [ebp+var_10], 1 loc_12FE6: ; CODE XREF: sub_12EF0+11Cj movzx eax, [ebp+var_10] mov edx, [ebp+var_1C] mov ax, [edx+eax*2-2] mov [ebp+var_14], ax mov ax, [ebp+var_12] cmp ax, [ebp+var_14] jb short loc_1300E mov ax, [ebp+var_14] sub [ebp+var_12], ax inc [ebp+var_10] jmp short loc_12FE6 ; --------------------------------------------------------------------------- loc_1300E: ; CODE XREF: sub_12EF0+10Ej mov eax, [ebp+var_4] mov dx, [ebp+var_E] mov [eax], dx mov eax, [ebp+var_4] mov dx, [ebp+var_10] mov [eax+2], dx mov ax, [ebp+var_12] inc eax mov edx, [ebp+var_4] mov [edx+6], ax push dword ptr [ebp+arg_0+4] push dword ptr [ebp+arg_0] ; double call sub_12EC8 mov edx, [ebp+var_4] mov [edx+4], ax lea eax, [ebp+var_20] push eax lea ecx, [ebp+var_1E] mov dx, 0EA60h mov eax, [ebp+var_18] call unknown_libname_13 ; BDS 2005-2006 and Delphi6-7 Visual Component Library mov eax, [ebp+var_4] add eax, 0Ah push eax mov ecx, [ebp+var_4] add ecx, 8 movzx eax, [ebp+var_1E] mov dx, 3Ch call unknown_libname_13 ; BDS 2005-2006 and Delphi6-7 Visual Component Library mov eax, [ebp+var_4] add eax, 0Eh push eax mov ecx, [ebp+var_4] add ecx, 0Ch movzx eax, [ebp+var_20] mov dx, 3E8h call unknown_libname_13 ; BDS 2005-2006 and Delphi6-7 Visual Component Library mov [ebp+var_5], 1 loc_1308C: ; CODE XREF: sub_12EF0+30j mov al, [ebp+var_5] mov esp, ebp pop ebp retn 8 sub_12EF0 endp ; --------------------------------------------------------------------------- align 4 flt_13098 dd 8.64e7 ; DATA XREF: sub_12EF0+1Ar ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_1309C proc near ; CODE XREF: sub_13A50+1Ap ; sub_13A50+24p ... var_4 = dword ptr -4 push ebp mov ebp, esp push ecx mov edx, off_12A14 xor eax, eax call sub_130F0 mov [ebp+var_4], eax mov eax, [ebp+var_4] pop ecx pop ebp retn sub_1309C endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_130B8 proc near ; DATA XREF: CODE:off_12A20o var_4 = dword ptr -4 push ebp mov ebp, esp push ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] mov dl, ds:byte_1B070 mov [eax+29h], dl pop ecx pop ebp retn sub_130B8 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_130D0 proc near ; CODE XREF: sub_16024+50p ; sub_165C4+1D4p var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFF8h mov [ebp+var_8], edx mov [ebp+var_4], eax mov eax, [ebp+var_4] xor ecx, ecx mov edx, [ebp+var_8] call sub_134B4 pop ecx pop ecx pop ebp retn sub_130D0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_130F0 proc near ; CODE XREF: sub_12B14+Cp sub_1309C+Cp call sub_1131C jz short locret_130FD push eax mov edx, [eax] call dword ptr [edx] pop eax locret_130FD: ; CODE XREF: sub_130F0+5j retn sub_130F0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_13100 proc near ; CODE XREF: sub_12A6C+93p ; sub_133AC+29p ... test eax, eax jz short locret_1310F sub dword ptr [eax+4], 2 jge short locret_1310F mov edx, [eax] push dword ptr [edx+4] locret_1310F: ; CODE XREF: sub_13100+2j sub_13100+8j retn sub_13100 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_13110 proc near ; CODE XREF: System::__linkproc__ Dispose(void *,void *)+7p ; System::__linkproc__ Dispose(void *,void *)+7p push eax call sub_12A6C pop eax xor edx, edx call sub_11164 retn sub_13110 endp ; --------------------------------------------------------------------------- align 10h ; [0000000D BYTES: COLLAPSED FUNCTION System::__linkproc__ Dispose(void *,void *). PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= sub_13130 proc near ; CODE XREF: sub_13164+1Ep ; sub_134B4+A8p cmp edx, [eax+1Ch] jge short loc_13138 mov edx, [eax+1Ch] loc_13138: ; CODE XREF: sub_13130+3j cmp edx, [eax+20h] jz short locret_1314B mov [eax+20h], edx shl edx, 2 lea eax, [eax+18h] call @System@@ReallocMem$qqrrpvi ; System::__linkproc__ ReallocMem(void *&,int) locret_1314B: ; CODE XREF: sub_13130+Bj retn sub_13130 endp ; =============== S U B R O U T I N E ======================================= sub_1314C proc near ; CODE XREF: System::__linkproc__ Dispose(void *,void *)+1p push dword ptr [eax+18h] xor edx, edx mov [eax+18h], edx mov [eax+1Ch], edx mov [eax+20h], edx pop eax call sub_11164 retn sub_1314C endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_13164 proc near ; CODE XREF: sub_131CC+6p push edx lea ecx, [eax+1Ch] mov edx, [ecx] inc dword ptr [ecx] push edx cmp edx, [eax+20h] push eax jl short loc_13187 mov ecx, [eax+24h] test ecx, ecx jnz short loc_13180 mov ecx, edx shr ecx, 2 inc ecx loc_13180: ; CODE XREF: sub_13164+14j add edx, ecx call sub_13130 loc_13187: ; CODE XREF: sub_13164+Dj pop ecx pop eax pop edx mov ecx, [ecx+18h] mov [ecx+eax*4], edx retn sub_13164 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_13194 proc near ; CODE XREF: sub_12A6C+6Dp ; sub_12B38+17p test ecx, ecx jle short locret_131CB cmp edx, [eax+1Ch] jge short locret_131CB push ebx xchg eax, ebx lea eax, [edx+ecx] cmp eax, [ebx+1Ch] jbe short loc_131AC mov ecx, [ebx+1Ch] sub ecx, edx loc_131AC: ; CODE XREF: sub_13194+11j mov eax, [ebx+18h] push dword ptr [ebx+1Ch] sub [ebx+1Ch], ecx mov ebx, edx lea edx, [eax+edx*4] lea eax, [edx+ecx*4] add ebx, ecx pop ecx sub ecx, ebx shl ecx, 2 call sub_11210 pop ebx locret_131CB: ; CODE XREF: sub_13194+2j sub_13194+7j retn sub_13194 endp ; =============== S U B R O U T I N E ======================================= sub_131CC proc near ; CODE XREF: sub_13474+36p push ecx push eax push dword ptr [eax+1Ch] push edx call sub_13164 pop edx pop eax sub eax, edx shl eax, 2 mov ecx, eax pop eax mov eax, [eax+18h] lea eax, [eax+edx*4] jl short loc_131F3 push eax lea edx, [eax+4] call sub_11210 pop eax loc_131F3: ; CODE XREF: sub_131CC+1Bj pop ecx mov [eax], ecx retn sub_131CC endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_131F8 proc near ; CODE XREF: sub_161F4+8Dp ; sub_161F4+B7p ... var_2 = byte ptr -2 xor ecx, ecx push ecx add esp, 0FFFFFFF4h push ebx lea ebx, [esp+13h] push edx cmp eax, ecx pushf jge short loc_1320B neg eax loc_1320B: ; CODE XREF: sub_131F8+Fj mov cl, 0Ah loc_1320D: ; CODE XREF: sub_131F8+21j dec ebx xor edx, edx div ecx add dl, 30h mov [ebx], dl test eax, eax jnz short loc_1320D popf jge short loc_13222 dec ebx mov byte ptr [ebx], 2Dh loc_13222: ; CODE XREF: sub_131F8+24j pop eax mov edx, ebx call unknown_libname_8 ; BDS 2005-2006 and Delphi6-7 Visual Component Library pop ebx add esp, 10h retn sub_131F8 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_13230 proc near ; CODE XREF: sub_13260+5p xchg eax, edx xor eax, eax test edx, edx jz short locret_1325F xor ecx, ecx mov cl, [edx] inc edx cmp cl, 2Dh pushf jz short loc_13247 cmp cl, 2Bh jnz short loc_1324A loc_13247: ; CODE XREF: sub_13230+10j ; sub_13230+28j mov cl, [edx] inc edx loc_1324A: ; CODE XREF: sub_13230+15j sub cl, 30h cmp cl, 9 ja short loc_1325A lea eax, [eax+eax*4] lea eax, [ecx+eax*2] jmp short loc_13247 ; --------------------------------------------------------------------------- loc_1325A: ; CODE XREF: sub_13230+20j popf jnz short locret_1325F neg eax locret_1325F: ; CODE XREF: sub_13230+5j ; sub_13230+2Bj retn sub_13230 endp ; =============== S U B R O U T I N E ======================================= sub_13260 proc near ; CODE XREF: sub_17300+3Fp ; sub_17300+64p call sub_12A48 call sub_13230 retn sub_13260 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_1326C proc near ; CODE XREF: sub_132AC+9p xchg eax, edx call sub_12A54 dec edx loc_13273: ; CODE XREF: sub_1326C+10j inc edx movzx ecx, byte ptr [edx] jecxz short loc_1327E cmp cl, 20h jbe short loc_13273 loc_1327E: ; CODE XREF: sub_1326C+Bj call unknown_libname_8 ; BDS 2005-2006 and Delphi6-7 Visual Component Library retn sub_1326C endp ; =============== S U B R O U T I N E ======================================= sub_13284 proc near ; CODE XREF: sub_132AC+1p var_C = dword ptr -0Ch push edx push eax push eax call sub_11DF4 xchg eax, [esp+0Ch+var_C] call sub_12A48 pop ecx inc ecx loc_13296: ; CODE XREF: sub_13284+1Bj dec ecx mov dl, [eax+ecx] jl short loc_132A1 cmp dl, 20h jbe short loc_13296 loc_132A1: ; CODE XREF: sub_13284+16j inc ecx pop eax xor edx, edx inc edx call @System@@LStrCopy$qqrv ; System::__linkproc__ LStrCopy(void) retn sub_13284 endp ; =============== S U B R O U T I N E ======================================= sub_132AC proc near ; CODE XREF: sub_16E1C+14Cp push edx call sub_13284 pop edx mov eax, [edx] call sub_1326C retn sub_132AC endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_132BC proc near ; CODE XREF: sub_12B94+6Ep push ecx push eax push edx call sub_11DF4 pop edx test edx, edx jg short loc_132CC xor edx, edx inc edx loc_132CC: ; CODE XREF: sub_132BC+Bj sub eax, edx mov ecx, eax pop eax jge short loc_132DA pop eax jl sub_11C00 loc_132DA: ; CODE XREF: sub_132BC+15j inc ecx call @System@@LStrCopy$qqrv ; System::__linkproc__ LStrCopy(void) retn sub_132BC endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_132E4 proc near ; CODE XREF: sub_198F0+37p r+6Cp var_10 = dword ptr -10h push ebx push esi push edi push eax mov eax, edx push edx call sub_11DF4 mov edi, eax pop eax call sub_12A48 mov bl, [eax] xchg eax, [esp+10h+var_10] call sub_12A48 mov esi, eax dec eax loc_13305: ; CODE XREF: sub_132E4+46j inc eax mov dl, bl mov ecx, [esi-4] sub ecx, eax add ecx, esi cmp ecx, edi jl short loc_13331 call sub_12B6C test eax, eax jz short loc_13333 dec eax pop edx push edx mov ecx, edi push eax call @Sysutils@CompareMem$qqrpvt1i ; Sysutils::CompareMem(void *,void *,int) test al, al pop eax jz short loc_13305 sub eax, esi inc eax jmp short loc_13334 ; --------------------------------------------------------------------------- loc_13331: ; CODE XREF: sub_132E4+2Dj xor eax, eax loc_13333: ; CODE XREF: sub_132E4+36j dec eax loc_13334: ; CODE XREF: sub_132E4+4Bj pop edx pop edi pop esi pop ebx retn sub_132E4 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __fastcall sub_1333C(LPCSTR, int, int) sub_1333C proc near ; CODE XREF: sub_14694+20Ep r+257p arg_0 = dword ptr 8 push ebp mov ebp, esp push esi push edi push ebx mov ebx, esp add esp, 0FFFFF800h mov esi, esp inc ecx jz short loc_13356 loc_1334F: ; CODE XREF: sub_1333C+18j mov edi, [edx+ecx*8-8] push edi loop loc_1334F loc_13356: ; CODE XREF: sub_1333C+11j push esp ; arglist push eax ; LPCSTR push esi ; LPSTR call wvsprintfA ; wvsprintfA mov edx, esi mov eax, [ebp+arg_0] call unknown_libname_8 ; BDS 2005-2006 and Delphi6-7 Visual Component Library mov esp, ebx pop ebx pop edi pop esi mov esp, ebp pop ebp retn 4 sub_1333C endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_13374 proc near ; CODE XREF: sub_161F4+168p ; sub_161F4+218p ... call sub_12A48 push eax ; lpFileName call GetFileAttributesA ; GetFileAttributesA inc eax jz short locret_13388 dec eax and al, 10h setz al locret_13388: ; CODE XREF: sub_13374+Cj retn sub_13374 endp ; --------------------------------------------------------------------------- align 4 ; [0000000D BYTES: COLLAPSED FUNCTION System::__linkproc__ Dispose(void *,void *). PRESS KEYPAD "+" TO EXPAND] align 4 ; =============== S U B R O U T I N E ======================================= sub_1339C proc near ; CODE XREF: sub_15B40+F0p ; sub_15B40+10Dp mov ecx, edx mov edx, [eax+1Ch] push edx call sub_13474 pop eax retn sub_1339C endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_133AC proc near ; CODE XREF: System::__linkproc__ Dispose(void *,void *)+1p ; sub_134B4+5p ... push ebx xchg eax, ebx mov edx, [ebx+1Ch] loc_133B1: ; CODE XREF: sub_133AC+11j dec edx jl short loc_133BF push edx mov eax, ebx call sub_133DC pop edx jmp short loc_133B1 ; --------------------------------------------------------------------------- loc_133BF: ; CODE XREF: sub_133AC+6j xor eax, eax mov [ebx+25h], eax xchg eax, [ebx+21h] test eax, eax jz short loc_133D2 call sub_11164 xor eax, eax loc_133D2: ; CODE XREF: sub_133AC+1Dj xchg eax, [ebx+18h] call sub_13100 pop ebx retn sub_133AC endp ; =============== S U B R O U T I N E ======================================= sub_133DC proc near ; CODE XREF: sub_133AC+Bp dec dword ptr [eax+1Ch] push eax mov eax, [eax+18h] mov ecx, [eax+18h] push dword ptr [ecx+edx*4] call sub_12B38 pop eax pop edx mov ecx, [edx+25h] jecxz short loc_13401 cmp eax, [edx+21h] jb short loc_13401 add ecx, [edx+21h] cmp eax, ecx jb short locret_13406 loc_13401: ; CODE XREF: sub_133DC+17j ; sub_133DC+1Cj call sub_11164 locret_13406: ; CODE XREF: sub_133DC+23j retn sub_133DC endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_13408 proc near ; CODE XREF: sub_154D4+45p ; sub_16024+74p ... push ecx mov eax, [eax+18h] test eax, eax jz short loc_13415 call sub_12B58 loc_13415: ; CODE XREF: sub_13408+6j xchg eax, edx pop eax jmp unknown_libname_8 ; BDS 2005-2006 and Delphi6-7 Visual Component Library sub_13408 endp ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_13420 proc near ; CODE XREF: sub_165C4+1E6p push esi push edi mov ecx, [eax+1Ch] mov eax, [eax+18h] push ecx jecxz short loc_1342E mov esi, [eax+18h] loc_1342E: ; CODE XREF: sub_13420+9j push esi xchg eax, edx xor edx, edx jecxz short loc_1344A push eax loc_13435: ; CODE XREF: sub_13420+23j push ecx push edx lodsd call sub_12C4C pop edx lea edx, [edx+eax+2] pop ecx loop loc_13435 pop eax pop esi xchg edx, ecx push eax loc_1344A: ; CODE XREF: sub_13420+12j call @System@@LStrFromPCharLen$qqrr17System@AnsiStringpci ; System::__linkproc__ LStrFromPCharLen(System::AnsiString &,char *,int) pop edi pop ecx jecxz short loc_1346E mov edi, [edi] loc_13455: ; CODE XREF: sub_13420+4Aj push ecx lodsd push eax call sub_12C4C xchg eax, ecx pop eax xchg eax, esi rep movsb xchg eax, esi mov ax, 0A0Dh stosw pop ecx loop loc_13455 xchg eax, ecx stosb loc_1346E: ; CODE XREF: sub_13420+31j pop edi pop esi retn sub_13420 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_13474 proc near ; CODE XREF: sub_1339C+6p push ebx push edx push ecx xchg eax, ebx mov eax, [ebx+18h] test eax, eax jnz short loc_13487 call sub_12B14 mov [ebx+18h], eax loc_13487: ; CODE XREF: sub_13474+9j pop eax push eax call sub_11DF4 inc eax push eax call sub_1114C mov byte ptr [eax], 0 xchg eax, edx pop ecx pop eax push edx test eax, eax jz short loc_134A5 call sub_11210 loc_134A5: ; CODE XREF: sub_13474+2Aj pop ecx pop edx mov eax, [ebx+18h] call sub_131CC inc dword ptr [ebx+1Ch] pop ebx retn sub_13474 endp ; =============== S U B R O U T I N E ======================================= sub_134B4 proc near ; CODE XREF: sub_130D0+14p dec cl jz short loc_134BF pusha call sub_133AC popa loc_134BF: ; CODE XREF: sub_134B4+2j call sub_12A54 jz locret_1358D push ebx push edi mov ebx, eax mov edi, [ebx+25h] mov eax, [edx-4] inc eax push eax push edx push dword ptr [ebx+21h] add eax, [ebx+25h] call sub_1114C mov [ebx+21h], eax mov ecx, edi xchg eax, edx pop eax jecxz short loc_13514 push eax call sub_11210 pop edx push edx push esi mov esi, [ebx+18h] mov esi, [esi+18h] mov ecx, [ebx+1Ch] loc_134FD: ; CODE XREF: sub_134B4:loc_1350Bj lodsd sub eax, edx cmp eax, [ebx+25h] jnb short loc_1350B add eax, [ebx+21h] mov [esi-4], eax loc_1350B: ; CODE XREF: sub_134B4+4Fj loop loc_134FD pop esi pop eax call sub_11164 loc_13514: ; CODE XREF: sub_134B4+35j pop eax mov edx, edi add edx, [ebx+21h] pop ecx push ecx add [ebx+25h], ecx call sub_11210 add edi, [ebx+21h] mov ecx, [ebx+18h] inc ecx loop loc_13535 call sub_12B14 mov [ebx+18h], eax loc_13535: ; CODE XREF: sub_134B4+77j pop ecx mov edx, [ebx+1Ch] push edi push ecx mov al, 0Dh loc_1353D: ; CODE XREF: sub_134B4+96j ; sub_134B4+99j cmp byte ptr [edi], 0 jz short loc_1354F inc edx repne scasb jnz short loc_1354F cmp byte ptr [edi], 0Ah jnz short loc_1353D inc edi loop loc_1353D loc_1354F: ; CODE XREF: sub_134B4+8Cj ; sub_134B4+91j mov [ebx+1Ch], edx mov eax, [ebx+18h] push edx push eax cmp edx, [eax+20h] jle short loc_13561 call sub_13130 loc_13561: ; CODE XREF: sub_134B4+A6j pop eax pop ecx xchg ecx, [eax+1Ch] mov edx, [eax+18h] lea edx, [edx+ecx*4] pop ecx pop edi mov eax, 0Dh loc_13573: ; CODE XREF: sub_134B4+D2j ; sub_134B4+D5j cmp [edi], ah jz short loc_1358B mov [edx], edi add edx, 4 repne scasb jnz short loc_1358B mov [edi-1], ah cmp byte ptr [edi], 0Ah jnz short loc_13573 inc edi loop loc_13573 loc_1358B: ; CODE XREF: sub_134B4+C1j ; sub_134B4+CAj pop edi pop ebx locret_1358D: ; CODE XREF: sub_134B4+10j retn sub_134B4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_13590 proc near ; DATA XREF: CODE:0001A094o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_135DF push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_1C088 jnz short loc_135D1 cmp ds:hLibModule, 0 jz short loc_135BD mov eax, ds:hLibModule push eax ; hLibModule call FreeLibrary_0 loc_135BD: ; CODE XREF: sub_13590+20j mov eax, offset dword_1C08C call sub_11C00 mov eax, offset dword_1B0A4 call sub_11C00 loc_135D1: ; CODE XREF: sub_13590+17j xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_135E6 loc_135DE: ; CODE XREF: sub_13590+54j retn ; --------------------------------------------------------------------------- loc_135DF: ; DATA XREF: sub_13590+6o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_135DE ; --------------------------------------------------------------------------- loc_135E6: ; CODE XREF: sub_13590:loc_135DEj ; DATA XREF: sub_13590+49o pop ebp retn sub_13590 endp ; [0000002F BYTES: COLLAPSED FUNCTION unknown_libname_14. PRESS KEYPAD "+" TO EXPAND] align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_13618 proc near ; DATA XREF: CODE:0001A09Co push ebp mov ebp, esp xor eax, eax push ebp push offset loc_1363D push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_1C090 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_13644 loc_1363C: ; CODE XREF: sub_13618+2Aj retn ; --------------------------------------------------------------------------- loc_1363D: ; DATA XREF: sub_13618+6o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_1363C ; --------------------------------------------------------------------------- loc_13644: ; CODE XREF: sub_13618:loc_1363Cj ; DATA XREF: sub_13618+1Fo pop ebp retn sub_13618 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_13648 proc near ; DATA XREF: CODE:0001A098o sub ds:dword_1C090, 1 retn sub_13648 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_13650 proc near ; DATA XREF: CODE:0001A0A4o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_13A45 push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_1C224 jnz loc_13A37 mov eax, ds:dword_1C1B4 call sub_13100 mov eax, ds:dword_1C16C call sub_13100 mov eax, offset dword_1C220 call sub_11C00 mov eax, offset dword_1C21C call sub_11C00 mov eax, offset dword_1C218 call sub_11C00 mov eax, offset dword_1C214 call sub_11C00 mov eax, offset dword_1C210 call sub_11C00 mov eax, offset dword_1C20C call sub_11C00 mov eax, offset dword_1C208 call sub_11C00 mov eax, offset dword_1C204 call sub_11C00 mov eax, offset dword_1C200 call sub_11C00 mov eax, offset dword_1C1FC call sub_11C00 mov eax, offset dword_1C1F8 call sub_11C00 mov eax, offset dword_1C1F4 call sub_11C00 mov eax, offset dword_1C1F0 call sub_11C00 mov eax, offset dword_1C1EC call sub_11C00 mov eax, offset dword_1C1E8 call sub_11C00 mov eax, offset dword_1C1E4 call sub_11C00 mov eax, offset dword_1C1E0 call sub_11C00 mov eax, offset dword_1C1DC call sub_11C00 mov eax, offset dword_1C1D8 call sub_11C00 mov eax, offset dword_1C1D4 call sub_11C00 mov eax, offset dword_1C1D0 call sub_11C00 mov eax, offset dword_1C1CC call sub_11C00 mov eax, offset dword_1C1C8 call sub_11C00 mov eax, offset dword_1C1C4 call sub_11C00 mov eax, offset dword_1C1C0 call sub_11C00 mov eax, offset dword_1C1BC call sub_11C00 mov eax, offset dword_1C1B8 call sub_11C00 mov eax, offset dword_1C1B0 call sub_11C00 mov eax, offset dword_1C1AC call sub_11C00 mov eax, offset dword_1C1A8 call sub_11C00 mov eax, offset dword_1C1A4 call sub_11C00 mov eax, offset dword_1C1A0 call sub_11C00 mov eax, offset dword_1C19C call sub_11C00 mov eax, offset dword_1C198 call sub_11C00 mov eax, offset dword_1C194 call sub_11C00 mov eax, offset dword_1C190 call sub_11C00 mov eax, offset dword_1C18C call sub_11C00 mov eax, offset dword_1C188 call sub_11C00 mov eax, offset dword_1C184 call sub_11C00 mov eax, offset dword_1C180 call sub_11C00 mov eax, offset dword_1C17C call sub_11C00 mov eax, offset dword_1C178 call sub_11C00 mov eax, offset dword_1C170 call sub_11C00 mov eax, offset dword_1C168 call sub_11C00 mov eax, offset dword_1C164 call sub_11C00 mov eax, offset dword_1C160 call sub_11C00 mov eax, offset dword_1C15C call sub_11C00 mov eax, offset dword_1C158 call sub_11C00 mov eax, offset dword_1C154 call sub_11C00 mov eax, offset dword_1C150 call sub_11C00 mov eax, offset dword_1C14C call sub_11C00 mov eax, offset dword_1C148 call sub_11C00 mov eax, offset dword_1C144 call sub_11C00 mov eax, offset dword_1C140 call sub_11C00 mov eax, offset dword_1C13C call sub_11C00 mov eax, offset dword_1C138 call sub_11C00 mov eax, offset dword_1C134 call sub_11C00 mov eax, offset dword_1C130 call sub_11C00 mov eax, offset dword_1C12C call sub_11C00 mov eax, offset dword_1C128 call sub_11C00 mov eax, offset dword_1C124 call sub_11C00 mov eax, offset dword_1C120 call sub_11C00 mov eax, offset dword_1C11C call sub_11C00 mov eax, offset dword_1C118 call sub_11C00 mov eax, offset dword_1C114 call sub_11C00 mov eax, offset dword_1C110 call sub_11C00 mov eax, offset dword_1C10C call sub_11C00 mov eax, offset dword_1C108 call sub_11C00 mov eax, offset dword_1C104 call sub_11C00 mov eax, offset dword_1C100 call sub_11C00 mov eax, offset dword_1C0FC call sub_11C00 mov eax, offset dword_1C0F8 call sub_11C00 mov eax, offset dword_1C0F4 call sub_11C00 mov eax, offset dword_1C0F0 call sub_11C00 mov eax, offset dword_1C0EC call sub_11C00 mov eax, offset dword_1C0E8 call sub_11C00 mov eax, offset dword_1C0E4 call sub_11C00 mov eax, offset dword_1C0E0 call sub_11C00 mov eax, offset dword_1C0D4 call sub_11C00 mov eax, offset dword_1C0D0 call sub_11C00 mov eax, offset dword_1C0CC call sub_11C00 mov eax, offset dword_1C0C8 call sub_11C00 mov eax, offset dword_1C0C4 call sub_11C00 mov eax, offset dword_1C0C0 call sub_11C00 mov eax, offset dword_1C0BC call sub_11C00 mov eax, offset dword_1C0B8 call sub_11C00 mov eax, offset dword_1C0B4 call sub_11C00 mov eax, offset dword_1C0B0 call sub_11C00 mov eax, offset dword_1C0AC call sub_11C00 mov eax, offset dword_1C0A8 call sub_11C00 mov eax, offset dword_1C0A4 call sub_11C00 mov eax, offset dword_1C0A0 call sub_11C00 mov eax, offset dword_1C09C call sub_11C00 mov eax, offset dword_1C098 call sub_11C00 mov eax, offset dword_1C094 call sub_11C00 loc_13A37: ; CODE XREF: sub_13650+17j xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_13A4C loc_13A44: ; CODE XREF: sub_13650+3FAj retn ; --------------------------------------------------------------------------- loc_13A45: ; DATA XREF: sub_13650+6o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_13A44 ; --------------------------------------------------------------------------- loc_13A4C: ; CODE XREF: sub_13650:loc_13A44j ; DATA XREF: sub_13650+3EFo pop ebp retn sub_13650 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_13A50 proc near ; DATA XREF: CODE:0001A0A0o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_13A8C push dword ptr fs:[eax] mov fs:[eax], esp sub ds:dword_1C224, 1 jnb short loc_13A7E call sub_1309C mov ds:dword_1C1B4, eax call sub_1309C mov ds:dword_1C16C, eax loc_13A7E: ; CODE XREF: sub_13A50+18j xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_13A93 loc_13A8B: ; CODE XREF: sub_13A50+41j retn ; --------------------------------------------------------------------------- loc_13A8C: ; DATA XREF: sub_13A50+6o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_13A8B ; --------------------------------------------------------------------------- loc_13A93: ; CODE XREF: sub_13A50:loc_13A8Bj ; DATA XREF: sub_13A50+36o pop ebp retn sub_13A50 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_13A98 proc near ; CODE XREF: sub_13C28+3Cp var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp xor ecx, ecx push ecx push ecx push ecx push ecx push ecx mov [ebp+var_8], edx mov [ebp+var_4], eax xor eax, eax push ebp push offset loc_13B2D push dword ptr fs:[eax] mov fs:[eax], esp lea eax, [ebp+var_C] mov edx, [ebp+var_4] call sub_11C98 mov eax, [ebp+var_8] call sub_11C00 jmp short loc_13B0C ; --------------------------------------------------------------------------- loc_13ACB: ; CODE XREF: sub_13A98+78j lea eax, [ebp+var_14] push eax mov ecx, 4 mov edx, 1 mov eax, [ebp+var_C] call @System@@LStrCopy$qqrv ; System::__linkproc__ LStrCopy(void) mov eax, [ebp+var_14] lea edx, [ebp+var_10] call sub_14130 mov edx, [ebp+var_10] mov eax, [ebp+var_8] call @System@@LStrCat$qqrv ; System::__linkproc__ LStrCat(void) mov eax, [ebp+var_8] lea eax, [ebp+var_C] mov ecx, 4 mov edx, 1 call sub_12038 loc_13B0C: ; CODE XREF: sub_13A98+31j cmp [ebp+var_C], 0 jnz short loc_13ACB xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_13B34 loc_13B1F: ; CODE XREF: sub_13A98+9Aj lea eax, [ebp+var_14] mov edx, 3 call sub_11C24 retn ; --------------------------------------------------------------------------- loc_13B2D: ; DATA XREF: sub_13A98+13o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_13B1F ; --------------------------------------------------------------------------- loc_13B34: ; CODE XREF: sub_13A98+94j ; DATA XREF: sub_13A98+82o mov esp, ebp pop ebp retn sub_13A98 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_13B38 proc near ; CODE XREF: sub_13C28+57p var_1E = word ptr -1Eh var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFE0h mov [ebp+var_C], ecx mov [ebp+var_8], edx mov [ebp+var_4], eax mov [ebp+var_14], 45h mov eax, [ebp+var_C] mov edx, [ebp+var_4] call sub_11C54 mov [ebp+var_14], 29Ah mov ax, word ptr [ebp+var_8] mov [ebp+var_10], ax dec [ebp+var_14] mov eax, [ebp+var_C] mov eax, [eax] call sub_11DF4 test ax, ax jbe loc_13C1B mov [ebp+var_1E], ax mov [ebp+var_E], 1 loc_13B88: ; CODE XREF: sub_13B38+DDj mov [ebp+var_14], 234h movzx eax, [ebp+var_E] mov edx, [ebp+var_C] mov edx, [edx] movzx eax, byte ptr [edx+eax-1] mov [ebp+var_18], eax inc [ebp+var_14] movzx eax, [ebp+var_10] shr eax, 8 mov [ebp+var_1C], eax dec [ebp+var_14] mov eax, [ebp+var_C] call sub_11FC4 movzx edx, [ebp+var_E] mov cl, byte ptr [ebp+var_18] xor cl, byte ptr [ebp+var_1C] mov [eax+edx-1], cl inc [ebp+var_14] dec [ebp+var_14] movzx eax, [ebp+var_E] mov edx, [ebp+var_4] movzx eax, byte ptr [edx+eax-1] movzx edx, [ebp+var_10] add eax, edx mov [ebp+var_18], eax mov [ebp+var_14], 258h imul eax, [ebp+var_18], 0CE6Dh mov [ebp+var_1C], eax dec [ebp+var_14] mov ax, word ptr [ebp+var_1C] mov [ebp+var_10], ax mov [ebp+var_14], 135h add [ebp+var_10], 58BFh dec [ebp+var_14] inc [ebp+var_E] dec [ebp+var_1E] jnz loc_13B88 loc_13C1B: ; CODE XREF: sub_13B38+40j mov [ebp+var_14], 355h mov esp, ebp pop ebp retn sub_13B38 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_13C28 proc near ; CODE XREF: sub_1432C+3Fp var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFE8h push ebx xor ebx, ebx mov [ebp+var_14], ebx mov [ebp+var_18], ebx mov [ebp+var_10], ebx mov [ebp+var_C], ecx mov [ebp+var_8], edx mov [ebp+var_4], eax xor eax, eax push ebp push offset loc_13C9F push dword ptr fs:[eax] mov fs:[eax], esp lea eax, [ebp+var_18] xor ecx, ecx mov edx, [ebp+var_4] call @System@@LStrCat3$qqrv ; System::__linkproc__ LStrCat3(void) mov eax, [ebp+var_18] lea edx, [ebp+var_14] call sub_13A98 mov edx, [ebp+var_14] lea eax, [ebp+var_10] xor ecx, ecx call @System@@LStrCat3$qqrv ; System::__linkproc__ LStrCat3(void) mov ecx, [ebp+var_C] mov edx, [ebp+var_8] mov eax, [ebp+var_10] call sub_13B38 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_13CA6 loc_13C91: ; CODE XREF: sub_13C28+7Cj lea eax, [ebp+var_18] mov edx, 3 call sub_11C24 retn ; --------------------------------------------------------------------------- loc_13C9F: ; DATA XREF: sub_13C28+1Eo jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_13C91 ; --------------------------------------------------------------------------- loc_13CA6: ; CODE XREF: sub_13C28+76j ; DATA XREF: sub_13C28+64o pop ebx mov esp, ebp pop ebp retn sub_13C28 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_13CAC proc near ; CODE XREF: sub_13F40+56p var_6C = byte ptr -6Ch var_64 = byte ptr -64h var_60 = byte ptr -60h var_5C = byte ptr -5Ch var_58 = byte ptr -58h var_54 = byte ptr -54h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFF94h mov [ebp+var_8], edx mov [ebp+var_4], eax xor eax, eax mov [ebp+var_10], eax mov [ebp+var_C], 41h loc_13CC4: ; CODE XREF: sub_13CAC+2Cj mov eax, [ebp+var_C] mov edx, [ebp+var_10] mov [ebp+edx+var_54], al inc [ebp+var_10] inc [ebp+var_C] cmp [ebp+var_C], 5Bh jnz short loc_13CC4 mov [ebp+var_C], 61h loc_13CE1: ; CODE XREF: sub_13CAC+49j mov eax, [ebp+var_C] mov edx, [ebp+var_10] mov [ebp+edx+var_54], al inc [ebp+var_10] inc [ebp+var_C] cmp [ebp+var_C], 7Bh jnz short loc_13CE1 mov [ebp+var_C], 30h loc_13CFE: ; CODE XREF: sub_13CAC+66j mov eax, [ebp+var_C] mov edx, [ebp+var_10] mov [ebp+edx+var_54], al inc [ebp+var_10] inc [ebp+var_C] cmp [ebp+var_C], 3Ah jnz short loc_13CFE mov eax, [ebp+var_10] mov [ebp+eax+var_54], 2Bh inc [ebp+var_10] mov eax, [ebp+var_10] mov [ebp+eax+var_54], 2Fh xor eax, eax mov [ebp+var_C], eax sub [ebp+var_14], 2Dh mov eax, [ebp+var_4] call sub_11DF4 push eax mov eax, [ebp+var_4] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) lea edx, [ebp+var_C] pop ecx call sub_11210 mov eax, [ebp+var_4] call sub_11DF4 dec eax jz short loc_13D64 dec eax jz short loc_13DC9 dec eax jz loc_13E66 jmp loc_13F36 ; --------------------------------------------------------------------------- loc_13D64: ; CODE XREF: sub_13CAC+A7j lea eax, [ebp+var_58] mov edx, [ebp+var_C] and edx, 8000003Fh jns short loc_13D77 dec edx or edx, 0FFFFFFC0h inc edx loc_13D77: ; CODE XREF: sub_13CAC+C4j mov dl, [ebp+edx+var_54] mov [eax+1], dl mov byte ptr [eax], 1 lea edx, [ebp+var_58] lea eax, [ebp+var_5C] call sub_112C8 lea eax, [ebp+var_60] mov edx, [ebp+var_C] shr edx, 6 and edx, 8000003Fh jns short loc_13DA2 dec edx or edx, 0FFFFFFC0h inc edx loc_13DA2: ; CODE XREF: sub_13CAC+EFj mov dl, [ebp+edx+var_54] mov [eax+1], dl mov byte ptr [eax], 1 lea edx, [ebp+var_60] lea eax, [ebp+var_5C] mov cl, 2 call @System@@PStrNCat$qqrv ; System::__linkproc__ PStrNCat(void) lea edx, [ebp+var_5C] mov eax, [ebp+var_8] call unknown_libname_9 ; BDS 2005-2006 and Delphi6-7 Visual Component Library jmp loc_13F36 ; --------------------------------------------------------------------------- loc_13DC9: ; CODE XREF: sub_13CAC+AAj lea eax, [ebp+var_58] mov edx, [ebp+var_C] and edx, 8000003Fh jns short loc_13DDC dec edx or edx, 0FFFFFFC0h inc edx loc_13DDC: ; CODE XREF: sub_13CAC+129j mov dl, [ebp+edx+var_54] mov [eax+1], dl mov byte ptr [eax], 1 lea edx, [ebp+var_58] lea eax, [ebp+var_5C] call sub_112C8 lea eax, [ebp+var_60] mov edx, [ebp+var_C] shr edx, 6 and edx, 8000003Fh jns short loc_13E07 dec edx or edx, 0FFFFFFC0h inc edx loc_13E07: ; CODE XREF: sub_13CAC+154j mov dl, [ebp+edx+var_54] mov [eax+1], dl mov byte ptr [eax], 1 lea edx, [ebp+var_60] lea eax, [ebp+var_5C] mov cl, 2 call @System@@PStrNCat$qqrv ; System::__linkproc__ PStrNCat(void) lea edx, [ebp+var_5C] lea eax, [ebp+var_64] call sub_112C8 lea eax, [ebp+var_60] mov edx, [ebp+var_C] shr edx, 0Ch and edx, 8000003Fh jns short loc_13E3F dec edx or edx, 0FFFFFFC0h inc edx loc_13E3F: ; CODE XREF: sub_13CAC+18Cj mov dl, [ebp+edx+var_54] mov [eax+1], dl mov byte ptr [eax], 1 lea edx, [ebp+var_60] lea eax, [ebp+var_64] mov cl, 3 call @System@@PStrNCat$qqrv ; System::__linkproc__ PStrNCat(void) lea edx, [ebp+var_64] mov eax, [ebp+var_8] call unknown_libname_9 ; BDS 2005-2006 and Delphi6-7 Visual Component Library jmp loc_13F36 ; --------------------------------------------------------------------------- loc_13E66: ; CODE XREF: sub_13CAC+ADj lea eax, [ebp+var_58] mov edx, [ebp+var_C] and edx, 8000003Fh jns short loc_13E79 dec edx or edx, 0FFFFFFC0h inc edx loc_13E79: ; CODE XREF: sub_13CAC+1C6j mov dl, [ebp+edx+var_54] mov [eax+1], dl mov byte ptr [eax], 1 lea edx, [ebp+var_58] lea eax, [ebp+var_5C] call sub_112C8 lea eax, [ebp+var_60] mov edx, [ebp+var_C] shr edx, 6 and edx, 8000003Fh jns short loc_13EA4 dec edx or edx, 0FFFFFFC0h inc edx loc_13EA4: ; CODE XREF: sub_13CAC+1F1j mov dl, [ebp+edx+var_54] mov [eax+1], dl mov byte ptr [eax], 1 lea edx, [ebp+var_60] lea eax, [ebp+var_5C] mov cl, 2 call @System@@PStrNCat$qqrv ; System::__linkproc__ PStrNCat(void) lea edx, [ebp+var_5C] lea eax, [ebp+var_64] call sub_112C8 lea eax, [ebp+var_60] mov edx, [ebp+var_C] shr edx, 0Ch and edx, 8000003Fh jns short loc_13EDC dec edx or edx, 0FFFFFFC0h inc edx loc_13EDC: ; CODE XREF: sub_13CAC+229j mov dl, [ebp+edx+var_54] mov [eax+1], dl mov byte ptr [eax], 1 lea edx, [ebp+var_60] lea eax, [ebp+var_64] mov cl, 3 call @System@@PStrNCat$qqrv ; System::__linkproc__ PStrNCat(void) lea edx, [ebp+var_64] lea eax, [ebp+var_6C] call sub_112C8 lea eax, [ebp+var_60] mov edx, [ebp+var_C] shr edx, 12h and edx, 8000003Fh jns short loc_13F14 dec edx or edx, 0FFFFFFC0h inc edx loc_13F14: ; CODE XREF: sub_13CAC+261j mov dl, [ebp+edx+var_54] mov [eax+1], dl mov byte ptr [eax], 1 lea edx, [ebp+var_60] lea eax, [ebp+var_6C] mov cl, 4 call @System@@PStrNCat$qqrv ; System::__linkproc__ PStrNCat(void) lea edx, [ebp+var_6C] mov eax, [ebp+var_8] call unknown_libname_9 ; BDS 2005-2006 and Delphi6-7 Visual Component Library loc_13F36: ; CODE XREF: sub_13CAC+B3j ; sub_13CAC+118j ... add [ebp+var_14], 1Fh mov esp, ebp pop ebp retn sub_13CAC endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_13F40 proc near ; CODE XREF: sub_140D0+39p var_18 = dword ptr -18h var_14 = dword ptr -14h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFE8h xor ecx, ecx mov [ebp+var_14], ecx mov [ebp+var_18], ecx mov [ebp+var_C], ecx mov [ebp+var_8], edx mov [ebp+var_4], eax xor eax, eax push ebp push offset loc_13FE4 push dword ptr fs:[eax] mov fs:[eax], esp lea eax, [ebp+var_C] mov edx, [ebp+var_4] call sub_11C98 mov eax, [ebp+var_8] call sub_11C00 jmp short loc_13FBB ; --------------------------------------------------------------------------- loc_13F7A: ; CODE XREF: sub_13F40+7Fj lea eax, [ebp+var_18] push eax mov ecx, 3 mov edx, 1 mov eax, [ebp+var_C] call @System@@LStrCopy$qqrv ; System::__linkproc__ LStrCopy(void) mov eax, [ebp+var_18] lea edx, [ebp+var_14] call sub_13CAC mov edx, [ebp+var_14] mov eax, [ebp+var_8] call @System@@LStrCat$qqrv ; System::__linkproc__ LStrCat(void) mov eax, [ebp+var_8] lea eax, [ebp+var_C] mov ecx, 3 mov edx, 1 call sub_12038 loc_13FBB: ; CODE XREF: sub_13F40+38j cmp [ebp+var_C], 0 jnz short loc_13F7A xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_13FEB loc_13FCE: ; CODE XREF: sub_13F40+A9j lea eax, [ebp+var_18] mov edx, 2 call sub_11C24 lea eax, [ebp+var_C] call sub_11C00 retn ; --------------------------------------------------------------------------- loc_13FE4: ; DATA XREF: sub_13F40+1Ao jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_13FCE ; --------------------------------------------------------------------------- loc_13FEB: ; CODE XREF: sub_13F40+A3j ; DATA XREF: sub_13F40+89o mov esp, ebp pop ebp retn sub_13F40 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_13FF0 proc near ; CODE XREF: sub_140D0+2Ep var_1E = word ptr -1Eh var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = word ptr -14h var_12 = word ptr -12h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_6 = word ptr -6 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFE0h mov [ebp+var_C], ecx mov [ebp+var_6], dx mov [ebp+var_4], eax inc [ebp+var_10] mov eax, [ebp+var_C] mov edx, [ebp+var_4] call sub_11C54 add [ebp+var_10], 47h mov ax, [ebp+var_6] mov [ebp+var_14], ax mov [ebp+var_10], 1D5h mov eax, [ebp+var_C] mov eax, [eax] call sub_11DF4 test ax, ax jbe loc_140C7 mov [ebp+var_1E], ax mov [ebp+var_12], 1 loc_1403E: ; CODE XREF: sub_13FF0+D1j inc [ebp+var_10] movzx eax, [ebp+var_12] mov edx, [ebp+var_C] mov edx, [edx] movzx eax, byte ptr [edx+eax-1] mov [ebp+var_18], eax dec [ebp+var_10] movzx eax, [ebp+var_14] shr eax, 8 mov [ebp+var_1C], eax add [ebp+var_10], 0 mov eax, [ebp+var_C] call sub_11FC4 movzx edx, [ebp+var_12] mov cl, byte ptr [ebp+var_18] xor cl, byte ptr [ebp+var_1C] mov [eax+edx-1], cl sub [ebp+var_10], 0Bh movzx eax, [ebp+var_12] mov edx, [ebp+var_C] mov edx, [edx] movzx eax, byte ptr [edx+eax-1] movzx edx, [ebp+var_14] add eax, edx mov [ebp+var_18], eax inc [ebp+var_10] mov [ebp+var_1C], 0CE6Dh mov [ebp+var_10], 111h mov ax, word ptr [ebp+var_18] imul word ptr [ebp+var_1C] add ax, 58BFh mov [ebp+var_14], ax add [ebp+var_10], 0Eh inc [ebp+var_12] dec [ebp+var_1E] jnz loc_1403E loc_140C7: ; CODE XREF: sub_13FF0+3Ej sub [ebp+var_10], 0Fh mov esp, ebp pop ebp retn sub_13FF0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_140D0 proc near ; CODE XREF: sub_165C4+ACp ; sub_165C4+37Fp ... var_10 = dword ptr -10h var_C = dword ptr -0Ch var_6 = word ptr -6 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFF0h push ebx xor ebx, ebx mov [ebp+var_10], ebx mov [ebp+var_C], ecx mov [ebp+var_6], dx mov [ebp+var_4], eax xor eax, eax push ebp push offset loc_14124 push dword ptr fs:[eax] mov fs:[eax], esp lea ecx, [ebp+var_10] mov dx, [ebp+var_6] mov eax, [ebp+var_4] call sub_13FF0 mov eax, [ebp+var_10] mov edx, [ebp+var_C] call sub_13F40 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_1412B loc_1411B: ; CODE XREF: sub_140D0+59j lea eax, [ebp+var_10] call sub_11C00 retn ; --------------------------------------------------------------------------- loc_14124: ; DATA XREF: sub_140D0+19o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_1411B ; --------------------------------------------------------------------------- loc_1412B: ; CODE XREF: sub_140D0+53j ; DATA XREF: sub_140D0+46o pop ebx mov esp, ebp pop ebp retn sub_140D0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_14130 proc near ; CODE XREF: sub_13A98+4Fp var_111 = byte ptr -111h var_E6 = byte ptr -0E6h var_E2 = byte ptr -0E2h var_11 = byte ptr -11h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFEECh mov [ebp+var_8], edx mov [ebp+var_4], eax mov [ebp+var_11], 0 loc_14143: ; CODE XREF: sub_14130+27j xor eax, eax mov al, [ebp+var_11] mov [ebp+eax+var_111], 0 inc [ebp+var_11] cmp [ebp+var_11], 0 jnz short loc_14143 mov [ebp+var_E6], 3Eh mov [ebp+var_E2], 3Fh mov [ebp+var_10], 30h loc_1416E: ; CODE XREF: sub_14130+5Aj mov al, byte ptr [ebp+var_10] add al, 4 mov edx, [ebp+var_10] and edx, 0FFh mov [ebp+edx+var_111], al inc [ebp+var_10] cmp [ebp+var_10], 3Ah jnz short loc_1416E mov [ebp+var_10], 42h loc_14193: ; CODE XREF: sub_14130+7Fj mov al, byte ptr [ebp+var_10] sub al, 41h mov edx, [ebp+var_10] and edx, 0FFh mov [ebp+edx+var_111], al inc [ebp+var_10] cmp [ebp+var_10], 5Bh jnz short loc_14193 mov [ebp+var_10], 61h loc_141B8: ; CODE XREF: sub_14130+A4j mov al, byte ptr [ebp+var_10] sub al, 47h mov edx, [ebp+var_10] and edx, 0FFh mov [ebp+edx+var_111], al inc [ebp+var_10] cmp [ebp+var_10], 7Bh jnz short loc_141B8 mov eax, [ebp+var_4] call sub_11DF4 sub eax, 2 jz short loc_141F2 dec eax jz short loc_14247 dec eax jz loc_142AD jmp loc_14325 ; --------------------------------------------------------------------------- loc_141F2: ; CODE XREF: sub_14130+B1j mov eax, [ebp+var_4] movzx eax, byte ptr [eax] movzx eax, [ebp+eax+var_111] mov edx, [ebp+var_4] movzx edx, byte ptr [edx+1] movzx edx, [ebp+edx+var_111] shl edx, 6 add eax, edx mov [ebp+var_C], eax mov eax, [ebp+var_8] mov edx, 1 call sub_120C8 mov eax, [ebp+var_8] mov eax, [eax] call sub_11DF4 push eax mov eax, [ebp+var_8] call sub_11FC4 mov edx, eax lea eax, [ebp+var_C] pop ecx call sub_11210 jmp loc_14325 ; --------------------------------------------------------------------------- loc_14247: ; CODE XREF: sub_14130+B4j mov eax, [ebp+var_4] movzx eax, byte ptr [eax] movzx eax, [ebp+eax+var_111] mov edx, [ebp+var_4] movzx edx, byte ptr [edx+1] movzx edx, [ebp+edx+var_111] shl edx, 6 add eax, edx mov edx, [ebp+var_4] movzx edx, byte ptr [edx+2] movzx edx, [ebp+edx+var_111] shl edx, 0Ch add eax, edx mov [ebp+var_C], eax mov eax, [ebp+var_8] mov edx, 2 call sub_120C8 mov eax, [ebp+var_8] mov eax, [eax] call sub_11DF4 push eax mov eax, [ebp+var_8] call sub_11FC4 mov edx, eax lea eax, [ebp+var_C] pop ecx call sub_11210 jmp short loc_14325 ; --------------------------------------------------------------------------- loc_142AD: ; CODE XREF: sub_14130+B7j mov eax, [ebp+var_4] movzx eax, byte ptr [eax] movzx eax, [ebp+eax+var_111] mov edx, [ebp+var_4] movzx edx, byte ptr [edx+1] movzx edx, [ebp+edx+var_111] shl edx, 6 add eax, edx mov edx, [ebp+var_4] movzx edx, byte ptr [edx+2] movzx edx, [ebp+edx+var_111] shl edx, 0Ch add eax, edx mov edx, [ebp+var_4] movzx edx, byte ptr [edx+3] movzx edx, [ebp+edx+var_111] shl edx, 12h add eax, edx mov [ebp+var_C], eax mov eax, [ebp+var_8] mov edx, 3 call sub_120C8 mov eax, [ebp+var_8] mov eax, [eax] call sub_11DF4 push eax mov eax, [ebp+var_8] call sub_11FC4 mov edx, eax lea eax, [ebp+var_C] pop ecx call sub_11210 loc_14325: ; CODE XREF: sub_14130+BDj ; sub_14130+112j ... mov esp, ebp pop ebp retn sub_14130 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_1432C proc near ; CODE XREF: sub_15DC4+8Bp ; sub_17300+37p ... var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp add esp, 0FFFFFFF0h push ebx xor ebx, ebx mov [ebp+var_10], ebx mov [ebp+var_C], ecx mov [ebp+var_8], edx mov [ebp+var_4], eax lea eax, [ebp+var_C] call @System@@WStrAddRef$qqrr17System@WideString ; System::__linkproc__ WStrAddRef(System::WideString &) xor eax, eax push ebp push offset loc_1438E push dword ptr fs:[eax] mov fs:[eax], esp lea eax, [ebp+var_10] mov edx, [ebp+var_4] call @System@@LStrFromWStr$qqrr17System@AnsiStringx17System@WideString ; System::__linkproc__ LStrFromWStr(System::AnsiString &,System::WideString) mov eax, [ebp+var_10] mov ecx, [ebp+arg_0] mov edx, [ebp+var_8] call sub_13C28 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_14395 loc_1437D: ; CODE XREF: sub_1432C+67j lea eax, [ebp+var_10] call sub_11C00 lea eax, [ebp+var_C] call @System@@WStrClr$qqrpv ; System::__linkproc__ WStrClr(void *) retn ; --------------------------------------------------------------------------- loc_1438E: ; DATA XREF: sub_1432C+20o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_1437D ; --------------------------------------------------------------------------- loc_14395: ; CODE XREF: sub_1432C+61j ; DATA XREF: sub_1432C+4Co pop ebx mov esp, ebp pop ebp retn 4 sub_1432C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_1439C proc near ; DATA XREF: CODE:0001A0ACo push ebp mov ebp, esp xor eax, eax push ebp push offset loc_143C1 push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_1C228 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_143C8 loc_143C0: ; CODE XREF: sub_1439C+2Aj retn ; --------------------------------------------------------------------------- loc_143C1: ; DATA XREF: sub_1439C+6o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_143C0 ; --------------------------------------------------------------------------- loc_143C8: ; CODE XREF: sub_1439C:loc_143C0j ; DATA XREF: sub_1439C+1Fo pop ebp retn sub_1439C endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_143CC proc near ; DATA XREF: CODE:0001A0A8o sub ds:dword_1C228, 1 retn sub_143CC endp ; --------------------------------------------------------------------------- off_143D4 dd offset dword_14420 ; DATA XREF: sub_16B44+6Er align 10h dd offset dword_14420 dd 4 dup(0) dd offset aMqjefgpyaj ; "mqjefgpyaj" dd 20h dd offset off_1100C dd offset @System@TObject@SafeCallException$qqrp14System@TObjectpv ; System::TObject::SafeCallException(System::TObject *,void *) dd offset nullsub_2 dd offset nullsub_3 dd offset sub_1149C dd offset nullsub_4 dd offset sub_11388 dd offset sub_1139C dd offset sub_144E0 dword_14420 dd 0Eh, 20000h ; CODE:000143E0o db 2 dup(0) dd offset off_11000 unknown_libname_15 dw 0Ch db 2 dup(0) dd offset off_11000 dw 1Ch db 2 dup(0) aMqjefgpyaj db 10,'mqjefgpyaj' ; DATA XREF: CODE:000143F4o align 4 ; [00000096 BYTES: COLLAPSED FUNCTION sub_14448. PRESS KEYPAD "+" TO EXPAND] align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_144E0 proc near ; DATA XREF: CODE:0001441Co var_5 = byte ptr -5 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFF8h call @System@@BeforeDestruction$qqrp14System@TObjectzc ; System::__linkproc__ BeforeDestruction(System::TObject *,signed char) mov [ebp+var_5], dl mov [ebp+var_4], eax mov eax, [ebp+var_4] mov eax, [eax+18h] call sub_13100 cmp [ebp+var_5], 0 jle short loc_1450A mov eax, [ebp+var_4] call @System@@ClassDestroy$qqrp14System@TObject ; System::__linkproc__ ClassDestroy(System::TObject *) loc_1450A: ; CODE XREF: sub_144E0+20j pop ecx pop ecx pop ebp retn sub_144E0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_14510(struct _EXCEPTION_POINTERS ExceptionInfo, int) sub_14510 proc near ; CODE XREF: sub_14448+4Dp var_8 = byte ptr -8 var_4 = dword ptr -4 ExceptionInfo = _EXCEPTION_POINTERS ptr 8 arg_8 = dword ptr 10h ; FUNCTION CHUNK AT 0001161C SIZE 00000103 BYTES ; FUNCTION CHUNK AT 0001173F SIZE 00000006 BYTES push ebp mov ebp, esp add esp, 0FFFFFFF8h push ebx push esi push edi mov [ebp+var_4], eax xor eax, eax push ebp push offset loc_145F5 push dword ptr fs:[eax] mov fs:[eax], esp mov eax, [ebp+var_4] add eax, 4 push eax mov eax, [ebp+var_4] mov eax, [eax+1Ch] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax mov eax, ds:off_1B2F0 mov eax, [eax] call eax mov edx, [ebp+var_4] mov [edx+8], eax mov eax, [ebp+var_4] cmp dword ptr [eax+8], 0 jg short loc_14562 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx jmp loc_145FF ; --------------------------------------------------------------------------- loc_14562: ; CODE XREF: sub_14510+43j mov eax, [ebp+var_4] mov edx, [eax+8] mov eax, [ebp+var_4] add eax, 0Ch call sub_120C8 mov eax, [ebp+var_4] mov eax, [eax+0Ch] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax mov eax, [ebp+var_4] mov eax, [eax+8] push eax mov eax, [ebp+var_4] mov eax, [eax+4] push eax mov eax, [ebp+var_4] mov eax, [eax+1Ch] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax mov eax, ds:off_1B0CC mov eax, [eax] call eax test eax, eax jnz short loc_145B0 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx jmp short loc_145FF ; --------------------------------------------------------------------------- loc_145B0: ; CODE XREF: sub_14510+94j lea eax, [ebp+var_8] push eax mov eax, [ebp+var_4] add eax, 10h push eax mov eax, ds:off_1B27C mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax mov eax, [ebp+var_4] mov eax, [eax+0Ch] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax mov eax, ds:off_1B240 mov eax, [eax] call eax test eax, eax jnz short loc_145EB xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx jmp short loc_145FF ; --------------------------------------------------------------------------- loc_145EB: ; CODE XREF: sub_14510+CFj xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx jmp short loc_145FF ; --------------------------------------------------------------------------- loc_145F5: ; DATA XREF: sub_14510+Fo jmp loc_1161C ; --------------------------------------------------------------------------- call @System@@DoneExcept$qqrv ; System::__linkproc__ DoneExcept(void) loc_145FF: ; CODE XREF: sub_14510+4Dj ; sub_14510+9Ej ... pop edi pop esi pop ebx pop ecx pop ecx pop ebp retn sub_14510 endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_14608 proc near ; CODE XREF: sub_14448+55p var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFF8h push ebx push esi push edi mov [ebp+var_4], eax xor eax, eax push ebp push offset loc_1467E push dword ptr fs:[eax] mov fs:[eax], esp mov eax, [ebp+var_4] mov eax, [eax+0Ch] call sub_11DF4 test eax, eax jnz short loc_1463B xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx jmp short loc_14688 ; --------------------------------------------------------------------------- loc_1463B: ; CODE XREF: sub_14608+27j lea eax, [ebp+var_8] push eax mov eax, [ebp+var_4] add eax, 14h push eax push offset dword_14690 mov eax, [ebp+var_4] mov eax, [eax+0Ch] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax mov eax, ds:off_1B240 mov eax, [eax] call eax test eax, eax jz short loc_14674 cmp [ebp+var_8], 34h jnb short loc_14674 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx jmp short loc_14688 ; --------------------------------------------------------------------------- loc_14674: ; CODE XREF: sub_14608+5Aj ; sub_14608+60j xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx jmp short loc_14688 ; --------------------------------------------------------------------------- loc_1467E: ; DATA XREF: sub_14608+Fo jmp loc_1161C ; --------------------------------------------------------------------------- call @System@@DoneExcept$qqrv ; System::__linkproc__ DoneExcept(void) loc_14688: ; CODE XREF: sub_14608+31j ; sub_14608+6Aj ... pop edi pop esi pop ebx pop ecx pop ecx pop ebp retn sub_14608 endp ; --------------------------------------------------------------------------- align 10h dword_14690 dd 5Ch ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_14694 proc near ; CODE XREF: sub_148CC+2Dp var_94 = byte ptr -94h var_88 = byte ptr -88h var_7C = byte ptr -7Ch var_70 = byte ptr -70h var_64 = byte ptr -64h var_5C = byte ptr -5Ch var_54 = byte ptr -54h var_4C = byte ptr -4Ch var_44 = byte ptr -44h var_40 = byte ptr -40h var_3C = byte ptr -3Ch var_38 = byte ptr -38h var_34 = dword ptr -34h var_30 = byte ptr -30h var_2C = byte ptr -2Ch var_28 = dword ptr -28h var_24 = byte ptr -24h var_20 = dword ptr -20h var_1C = byte ptr -1Ch var_18 = dword ptr -18h var_14 = byte ptr -14h var_F = byte ptr -0Fh var_E = byte ptr -0Eh var_D = byte ptr -0Dh var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFF6Ch push ebx xor ebx, ebx mov [ebp+var_34], ebx mov [ebp+var_C], ecx mov [ebp+var_8], edx mov [ebp+var_4], eax xor eax, eax push ebp push offset loc_148BD push dword ptr fs:[eax] mov fs:[eax], esp mov [ebp+var_D], 25h mov [ebp+var_E], 64h mov [ebp+var_F], 2Eh mov eax, [ebp+var_C] push eax ; int mov eax, [ebp+var_4] call sub_1294C movzx eax, ax mov dword ptr [ebp+var_30], eax mov [ebp+var_2C], 0 movzx eax, word ptr [ebp+var_4] mov [ebp+var_28], eax mov [ebp+var_24], 0 mov eax, [ebp+var_8] call sub_1294C movzx eax, ax mov [ebp+var_20], eax mov [ebp+var_1C], 0 movzx eax, word ptr [ebp+var_8] mov [ebp+var_18], eax mov [ebp+var_14], 0 lea eax, [ebp+var_30] ; LPCSTR push eax lea eax, [ebp+var_38] mov dl, [ebp+var_D] mov [eax+1], dl mov byte ptr [eax], 1 lea edx, [ebp+var_38] lea eax, [ebp+var_3C] call sub_112C8 lea eax, [ebp+var_40] mov dl, [ebp+var_E] mov [eax+1], dl mov byte ptr [eax], 1 lea edx, [ebp+var_40] lea eax, [ebp+var_3C] mov cl, 2 call @System@@PStrNCat$qqrv ; System::__linkproc__ PStrNCat(void) lea edx, [ebp+var_3C] lea eax, [ebp+var_44] call sub_112C8 lea eax, [ebp+var_40] mov dl, [ebp+var_F] mov [eax+1], dl mov byte ptr [eax], 1 lea edx, [ebp+var_40] lea eax, [ebp+var_44] mov cl, 3 call @System@@PStrNCat$qqrv ; System::__linkproc__ PStrNCat(void) lea edx, [ebp+var_44] lea eax, [ebp+var_4C] call sub_112C8 lea eax, [ebp+var_40] mov dl, [ebp+var_D] mov [eax+1], dl mov byte ptr [eax], 1 lea edx, [ebp+var_40] lea eax, [ebp+var_4C] mov cl, 4 call @System@@PStrNCat$qqrv ; System::__linkproc__ PStrNCat(void) lea edx, [ebp+var_4C] lea eax, [ebp+var_54] call sub_112C8 lea eax, [ebp+var_40] mov dl, [ebp+var_E] mov [eax+1], dl mov byte ptr [eax], 1 lea edx, [ebp+var_40] lea eax, [ebp+var_54] mov cl, 5 call @System@@PStrNCat$qqrv ; System::__linkproc__ PStrNCat(void) lea edx, [ebp+var_54] lea eax, [ebp+var_5C] call sub_112C8 lea eax, [ebp+var_40] mov dl, [ebp+var_F] mov [eax+1], dl mov byte ptr [eax], 1 lea edx, [ebp+var_40] lea eax, [ebp+var_5C] mov cl, 6 call @System@@PStrNCat$qqrv ; System::__linkproc__ PStrNCat(void) lea edx, [ebp+var_5C] lea eax, [ebp+var_64] call sub_112C8 lea eax, [ebp+var_40] mov dl, [ebp+var_D] mov [eax+1], dl mov byte ptr [eax], 1 lea edx, [ebp+var_40] lea eax, [ebp+var_64] mov cl, 7 call @System@@PStrNCat$qqrv ; System::__linkproc__ PStrNCat(void) lea edx, [ebp+var_64] lea eax, [ebp+var_70] call sub_112C8 lea eax, [ebp+var_40] mov dl, [ebp+var_E] mov [eax+1], dl mov byte ptr [eax], 1 lea edx, [ebp+var_40] lea eax, [ebp+var_70] mov cl, 8 call @System@@PStrNCat$qqrv ; System::__linkproc__ PStrNCat(void) lea edx, [ebp+var_70] lea eax, [ebp+var_7C] call sub_112C8 lea eax, [ebp+var_40] mov dl, [ebp+var_F] mov [eax+1], dl mov byte ptr [eax], 1 lea edx, [ebp+var_40] lea eax, [ebp+var_7C] mov cl, 9 call @System@@PStrNCat$qqrv ; System::__linkproc__ PStrNCat(void) lea edx, [ebp+var_7C] lea eax, [ebp+var_88] call sub_112C8 lea eax, [ebp+var_40] mov dl, [ebp+var_D] mov [eax+1], dl mov byte ptr [eax], 1 lea edx, [ebp+var_40] lea eax, [ebp+var_88] mov cl, 0Ah call @System@@PStrNCat$qqrv ; System::__linkproc__ PStrNCat(void) lea edx, [ebp+var_88] lea eax, [ebp+var_94] call sub_112C8 lea eax, [ebp+var_40] mov dl, [ebp+var_E] mov [eax+1], dl mov byte ptr [eax], 1 lea edx, [ebp+var_40] lea eax, [ebp+var_94] mov cl, 0Bh call @System@@PStrNCat$qqrv ; System::__linkproc__ PStrNCat(void) lea edx, [ebp+var_94] lea eax, [ebp+var_34] call unknown_libname_9 ; BDS 2005-2006 and Delphi6-7 Visual Component Library mov eax, [ebp+var_34] mov ecx, 3 pop edx call sub_1333C xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_148C4 loc_148B4: ; CODE XREF: sub_14694+22Ej lea eax, [ebp+var_34] call sub_11C00 retn ; --------------------------------------------------------------------------- loc_148BD: ; DATA XREF: sub_14694+1Bo jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_148B4 ; --------------------------------------------------------------------------- loc_148C4: ; CODE XREF: sub_14694+228j ; DATA XREF: sub_14694+21Bo pop ebx mov esp, ebp pop ebp retn sub_14694 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_148CC proc near ; CODE XREF: sub_16B44+81p var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFF4h mov [ebp+var_8], edx mov [ebp+var_4], eax mov eax, [ebp+var_4] cmp dword ptr [eax+14h], 0 jz short loc_148FE mov eax, [ebp+var_4] mov eax, [eax+14h] mov [ebp+var_C], eax mov ecx, [ebp+var_8] mov eax, [ebp+var_C] mov edx, [eax+0Ch] mov eax, [ebp+var_C] mov eax, [eax+8] call sub_14694 loc_148FE: ; CODE XREF: sub_148CC+13j mov esp, ebp pop ebp retn sub_148CC endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_14904 proc near ; DATA XREF: CODE:0001A0B4o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_14929 push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_1C22C xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_14930 loc_14928: ; CODE XREF: sub_14904+2Aj retn ; --------------------------------------------------------------------------- loc_14929: ; DATA XREF: sub_14904+6o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_14928 ; --------------------------------------------------------------------------- loc_14930: ; CODE XREF: sub_14904:loc_14928j ; DATA XREF: sub_14904+1Fo pop ebp retn sub_14904 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_14934 proc near ; DATA XREF: CODE:0001A0B0o sub ds:dword_1C22C, 1 retn sub_14934 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_1493C proc near ; DATA XREF: CODE:0001A0BCo push ebp mov ebp, esp xor eax, eax push ebp push offset loc_14961 push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_1C230 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_14968 loc_14960: ; CODE XREF: sub_1493C+2Aj retn ; --------------------------------------------------------------------------- loc_14961: ; DATA XREF: sub_1493C+6o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_14960 ; --------------------------------------------------------------------------- loc_14968: ; CODE XREF: sub_1493C:loc_14960j ; DATA XREF: sub_1493C+1Fo pop ebp retn sub_1493C endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_1496C proc near ; DATA XREF: CODE:0001A0B8o sub ds:dword_1C230, 1 retn sub_1496C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_14974 proc near ; DATA XREF: CODE:0001A0C4o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_14999 push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_1C234 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_149A0 loc_14998: ; CODE XREF: sub_14974+2Aj retn ; --------------------------------------------------------------------------- loc_14999: ; DATA XREF: sub_14974+6o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_14998 ; --------------------------------------------------------------------------- loc_149A0: ; CODE XREF: sub_14974:loc_14998j ; DATA XREF: sub_14974+1Fo pop ebp retn sub_14974 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_149A4 proc near ; DATA XREF: CODE:0001A0C0o sub ds:dword_1C234, 1 retn sub_149A4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_149AC proc near ; DATA XREF: CODE:0001A0CCo push ebp mov ebp, esp xor eax, eax push ebp push offset loc_149D1 push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_1C238 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_149D8 loc_149D0: ; CODE XREF: sub_149AC+2Aj retn ; --------------------------------------------------------------------------- loc_149D1: ; DATA XREF: sub_149AC+6o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_149D0 ; --------------------------------------------------------------------------- loc_149D8: ; CODE XREF: sub_149AC:loc_149D0j ; DATA XREF: sub_149AC+1Fo pop ebp retn sub_149AC endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_149DC proc near ; DATA XREF: CODE:0001A0C8o sub ds:dword_1C238, 1 retn sub_149DC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_149E4 proc near ; CODE XREF: sub_14A20+2Cp ; sub_14B48+2Cp var_C = dword ptr -0Ch var_8 = dword ptr -8 var_1 = byte ptr -1 push ebp mov ebp, esp add esp, 0FFFFFFF4h mov [ebp+var_8], edx mov [ebp+var_1], al mov eax, [ebp+var_8] call sub_11DF4 cmp eax, 1 jl short loc_14A18 mov [ebp+var_C], eax loc_14A00: ; CODE XREF: sub_149E4+32j mov eax, [ebp+var_C] mov edx, [ebp+var_8] mov al, [edx+eax-1] cmp al, [ebp+var_1] jz short loc_14A18 dec [ebp+var_C] cmp [ebp+var_C], 0 jnz short loc_14A00 loc_14A18: ; CODE XREF: sub_149E4+17j ; sub_149E4+29j mov eax, [ebp+var_C] mov esp, ebp pop ebp retn sub_149E4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_14A20 proc near ; CODE XREF: sub_14CAC+51p ; sub_14D38+53p ... var_20 = dword ptr -20h var_1C = byte ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_D = byte ptr -0Dh var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp add esp, 0FFFFFFE0h push ebx xor ebx, ebx mov [ebp+var_14], ebx mov [ebp+var_C], ecx mov [ebp+var_8], edx mov [ebp+var_4], eax xor eax, eax push ebp push offset loc_14B37 push dword ptr fs:[eax] mov fs:[eax], esp mov [ebp+var_D], 0 mov edx, [ebp+var_8] mov al, 5Ch call sub_149E4 mov [ebp+var_18], eax cmp [ebp+var_18], 0 jle loc_14B21 lea eax, [ebp+var_14] push eax mov ecx, [ebp+var_18] dec ecx mov edx, 1 mov eax, [ebp+var_8] call @System@@LStrCopy$qqrv ; System::__linkproc__ LStrCopy(void) lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_20] push eax push 0 push 20006h push 0 push 0 push 0 mov eax, [ebp+var_14] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax mov eax, [ebp+var_4] push eax mov eax, ds:off_1B2A8 mov eax, [eax] call eax test eax, eax jnz short loc_14B21 lea eax, [ebp+var_14] push eax mov eax, [ebp+var_8] call sub_11DF4 mov ecx, eax sub ecx, [ebp+var_18] mov edx, [ebp+var_18] inc edx mov eax, [ebp+var_8] call @System@@LStrCopy$qqrv ; System::__linkproc__ LStrCopy(void) cmp [ebp+var_14], 0 jnz short loc_14AEA mov eax, [ebp+arg_0] push eax mov eax, [ebp+arg_4] push eax mov eax, [ebp+var_C] push eax push 0 push 0 mov eax, [ebp+var_20] push eax mov eax, ds:off_1B198 mov eax, [eax] call eax test eax, eax setz [ebp+var_D] jmp short loc_14B14 ; --------------------------------------------------------------------------- loc_14AEA: ; CODE XREF: sub_14A20+A3j mov eax, [ebp+arg_0] push eax mov eax, [ebp+arg_4] push eax mov eax, [ebp+var_C] push eax push 0 mov eax, [ebp+var_14] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax mov eax, [ebp+var_20] push eax mov eax, ds:off_1B198 mov eax, [eax] call eax test eax, eax setz [ebp+var_D] loc_14B14: ; CODE XREF: sub_14A20+C8j mov eax, [ebp+var_20] push eax mov eax, ds:off_1B2C8 mov eax, [eax] call eax loc_14B21: ; CODE XREF: sub_14A20+38j ; sub_14A20+80j xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_14B3E loc_14B2E: ; CODE XREF: sub_14A20+11Cj lea eax, [ebp+var_14] call sub_11C00 retn ; --------------------------------------------------------------------------- loc_14B37: ; DATA XREF: sub_14A20+18o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_14B2E ; --------------------------------------------------------------------------- loc_14B3E: ; CODE XREF: sub_14A20+116j ; DATA XREF: sub_14A20+109o mov al, [ebp+var_D] pop ebx mov esp, ebp pop ebp retn 8 sub_14A20 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_14B48 proc near ; CODE XREF: sub_14E84+2Ep ; sub_14EF8+2Ep ... var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_D = byte ptr -0Dh var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp add esp, 0FFFFFFD4h push ebx xor ebx, ebx mov [ebp+var_14], ebx mov [ebp+var_C], ecx mov [ebp+var_8], edx mov [ebp+var_4], eax xor eax, eax push ebp push offset loc_14C9B push dword ptr fs:[eax] mov fs:[eax], esp mov [ebp+var_D], 0 mov edx, [ebp+var_8] mov al, 5Ch call sub_149E4 mov [ebp+var_18], eax cmp [ebp+var_18], 0 jle loc_14C85 lea eax, [ebp+var_14] push eax mov ecx, [ebp+var_18] dec ecx mov edx, 1 mov eax, [ebp+var_8] call @System@@LStrCopy$qqrv ; System::__linkproc__ LStrCopy(void) lea eax, [ebp+var_20] push eax push 20019h push 0 mov eax, [ebp+var_14] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax mov eax, [ebp+var_4] push eax mov eax, ds:off_1B2C4 mov eax, [eax] call eax test eax, eax jnz loc_14C85 lea eax, [ebp+var_14] push eax mov eax, [ebp+var_8] call sub_11DF4 mov ecx, eax sub ecx, [ebp+var_18] mov edx, [ebp+var_18] inc edx mov eax, [ebp+var_8] call @System@@LStrCopy$qqrv ; System::__linkproc__ LStrCopy(void) cmp [ebp+var_14], 0 jnz short loc_14BEE xor eax, eax mov [ebp+var_2C], eax jmp short loc_14BF9 ; --------------------------------------------------------------------------- loc_14BEE: ; CODE XREF: sub_14B48+9Dj mov eax, [ebp+var_14] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) mov [ebp+var_2C], eax loc_14BF9: ; CODE XREF: sub_14B48+A4j lea eax, [ebp+var_28] push eax push 0 lea eax, [ebp+var_1C] push eax push 0 mov eax, [ebp+var_2C] push eax mov eax, [ebp+var_20] push eax mov eax, ds:off_1B170 mov eax, [eax] call eax test eax, eax jnz short loc_14C78 mov eax, [ebp+var_28] call sub_1114C mov [ebp+var_24], eax lea eax, [ebp+var_28] push eax mov eax, [ebp+var_24] push eax lea eax, [ebp+var_1C] push eax push 0 mov eax, [ebp+var_2C] push eax mov eax, [ebp+var_20] push eax mov eax, ds:off_1B170 mov eax, [eax] call eax test eax, eax jnz short loc_14C70 mov eax, [ebp+var_C] cmp eax, [ebp+var_1C] jnz short loc_14C66 mov eax, [ebp+arg_4] mov edx, [ebp+var_24] mov [eax], edx mov eax, [ebp+arg_0] mov edx, [ebp+var_28] mov [eax], edx mov [ebp+var_D], 1 jmp short loc_14C78 ; --------------------------------------------------------------------------- loc_14C66: ; CODE XREF: sub_14B48+106j mov eax, [ebp+var_24] call sub_11164 jmp short loc_14C78 ; --------------------------------------------------------------------------- loc_14C70: ; CODE XREF: sub_14B48+FEj mov eax, [ebp+var_24] call sub_11164 loc_14C78: ; CODE XREF: sub_14B48+D0j ; sub_14B48+11Cj ... mov eax, [ebp+var_20] push eax mov eax, ds:off_1B2C8 mov eax, [eax] call eax loc_14C85: ; CODE XREF: sub_14B48+38j ; sub_14B48+76j xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_14CA2 loc_14C92: ; CODE XREF: sub_14B48+158j lea eax, [ebp+var_14] call sub_11C00 retn ; --------------------------------------------------------------------------- loc_14C9B: ; DATA XREF: sub_14B48+18o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_14C92 ; --------------------------------------------------------------------------- loc_14CA2: ; CODE XREF: sub_14B48+152j ; DATA XREF: sub_14B48+145o mov al, [ebp+var_D] pop ebx mov esp, ebp pop ebp retn 8 sub_14B48 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_14CAC proc near ; CODE XREF: sub_157D4+62p ; sub_159C0+B8p ... var_14 = dword ptr -14h var_D = byte ptr -0Dh var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFECh push ebx xor ebx, ebx mov [ebp+var_14], ebx mov [ebp+var_C], ecx mov [ebp+var_8], edx mov [ebp+var_4], eax xor eax, eax push ebp push offset loc_14D1B push dword ptr fs:[eax] mov fs:[eax], esp lea eax, [ebp+var_14] mov ecx, offset dword_14D34 mov edx, [ebp+var_C] call @System@@LStrCat3$qqrv ; System::__linkproc__ LStrCat3(void) mov eax, [ebp+var_14] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax mov eax, [ebp+var_C] call sub_11DF4 inc eax push eax mov ecx, 1 mov edx, [ebp+var_8] mov eax, [ebp+var_4] call sub_14A20 mov [ebp+var_D], al xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_14D22 loc_14D12: ; CODE XREF: sub_14CAC+74j lea eax, [ebp+var_14] call sub_11C00 retn ; --------------------------------------------------------------------------- loc_14D1B: ; DATA XREF: sub_14CAC+18o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_14D12 ; --------------------------------------------------------------------------- loc_14D22: ; CODE XREF: sub_14CAC+6Ej ; DATA XREF: sub_14CAC+61o mov al, [ebp+var_D] pop ebx mov esp, ebp pop ebp retn sub_14CAC endp ; --------------------------------------------------------------------------- align 4 dd 0FFFFFFFFh, 1 dword_14D34 dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_14D38 proc near ; CODE XREF: sub_198F0+66p r+9Dp var_14 = dword ptr -14h var_D = byte ptr -0Dh var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFECh push ebx xor ebx, ebx mov [ebp+var_14], ebx mov [ebp+var_C], ecx mov [ebp+var_8], edx mov [ebp+var_4], eax xor eax, eax push ebp push offset loc_14DA9 push dword ptr fs:[eax] mov fs:[eax], esp lea eax, [ebp+var_14] mov ecx, offset dword_14DC0 mov edx, [ebp+var_C] call @System@@LStrCat3$qqrv ; System::__linkproc__ LStrCat3(void) mov eax, [ebp+var_14] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax mov eax, [ebp+var_C] call sub_11DF4 add eax, 2 push eax mov ecx, 7 mov edx, [ebp+var_8] mov eax, [ebp+var_4] call sub_14A20 mov [ebp+var_D], al xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_14DB0 loc_14DA0: ; CODE XREF: sub_14D38+76j lea eax, [ebp+var_14] call sub_11C00 retn ; --------------------------------------------------------------------------- loc_14DA9: ; DATA XREF: sub_14D38+18o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_14DA0 ; --------------------------------------------------------------------------- loc_14DB0: ; CODE XREF: sub_14D38+70j ; DATA XREF: sub_14D38+63o mov al, [ebp+var_D] pop ebx mov esp, ebp pop ebp retn sub_14D38 endp ; --------------------------------------------------------------------------- dd 0FFFFFFFFh, 2 dword_14DC0 dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_14DC4 proc near ; CODE XREF: r+267p var_14 = dword ptr -14h var_D = byte ptr -0Dh var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFECh push ebx xor ebx, ebx mov [ebp+var_14], ebx mov [ebp+var_C], ecx mov [ebp+var_8], edx mov [ebp+var_4], eax xor eax, eax push ebp push offset loc_14E33 push dword ptr fs:[eax] mov fs:[eax], esp lea eax, [ebp+var_14] mov ecx, offset dword_14E4C mov edx, [ebp+var_C] call @System@@LStrCat3$qqrv ; System::__linkproc__ LStrCat3(void) mov eax, [ebp+var_14] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax mov eax, [ebp+var_C] call sub_11DF4 inc eax push eax mov ecx, 2 mov edx, [ebp+var_8] mov eax, [ebp+var_4] call sub_14A20 mov [ebp+var_D], al xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_14E3A loc_14E2A: ; CODE XREF: sub_14DC4+74j lea eax, [ebp+var_14] call sub_11C00 retn ; --------------------------------------------------------------------------- loc_14E33: ; DATA XREF: sub_14DC4+18o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_14E2A ; --------------------------------------------------------------------------- loc_14E3A: ; CODE XREF: sub_14DC4+6Ej ; DATA XREF: sub_14DC4+61o mov al, [ebp+var_D] pop ebx mov esp, ebp pop ebp retn sub_14DC4 endp ; --------------------------------------------------------------------------- align 4 dd 0FFFFFFFFh, 1 dword_14E4C dd 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_14E50 proc near ; CODE XREF: sub_159C0+6Ep var_D = byte ptr -0Dh var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp add esp, 0FFFFFFF0h mov [ebp+var_C], ecx mov [ebp+var_8], edx mov [ebp+var_4], eax mov eax, [ebp+var_C] push eax mov eax, [ebp+arg_0] inc eax push eax mov ecx, 3 mov edx, [ebp+var_8] mov eax, [ebp+var_4] call sub_14A20 mov [ebp+var_D], al mov al, [ebp+var_D] mov esp, ebp pop ebp retn 4 sub_14E50 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_14E84 proc near ; CODE XREF: sub_15864+5Ap var_18 = dword ptr -18h var_14 = dword ptr -14h var_D = byte ptr -0Dh var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFE8h mov [ebp+var_C], ecx mov [ebp+var_8], edx mov [ebp+var_4], eax mov [ebp+var_D], 0 mov eax, [ebp+var_C] call sub_11C00 lea eax, [ebp+var_14] push eax lea eax, [ebp+var_18] push eax mov ecx, 1 mov edx, [ebp+var_8] mov eax, [ebp+var_4] call sub_14B48 test al, al jz short loc_14EF0 dec [ebp+var_18] mov eax, [ebp+var_C] mov edx, [ebp+var_18] call sub_120C8 cmp [ebp+var_18], 0 jbe short loc_14EE4 mov eax, [ebp+var_C] call sub_11FC4 mov edx, eax mov eax, [ebp+var_14] mov ecx, [ebp+var_18] call sub_11210 loc_14EE4: ; CODE XREF: sub_14E84+49j mov eax, [ebp+var_14] call sub_11164 mov [ebp+var_D], 1 loc_14EF0: ; CODE XREF: sub_14E84+35j mov al, [ebp+var_D] mov esp, ebp pop ebp retn sub_14E84 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_14EF8 proc near ; CODE XREF: sub_198F0+23p r+59p var_18 = dword ptr -18h var_14 = dword ptr -14h var_D = byte ptr -0Dh var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFE8h mov [ebp+var_C], ecx mov [ebp+var_8], edx mov [ebp+var_4], eax mov [ebp+var_D], 0 mov eax, [ebp+var_C] call sub_11C00 lea eax, [ebp+var_14] push eax lea eax, [ebp+var_18] push eax mov ecx, 7 mov edx, [ebp+var_8] mov eax, [ebp+var_4] call sub_14B48 test al, al jz short loc_14F64 dec [ebp+var_18] mov eax, [ebp+var_C] mov edx, [ebp+var_18] call sub_120C8 cmp [ebp+var_18], 0 jbe short loc_14F58 mov eax, [ebp+var_C] call sub_11FC4 mov edx, eax mov eax, [ebp+var_14] mov ecx, [ebp+var_18] call sub_11210 loc_14F58: ; CODE XREF: sub_14EF8+49j mov eax, [ebp+var_14] call sub_11164 mov [ebp+var_D], 1 loc_14F64: ; CODE XREF: sub_14EF8+35j mov al, [ebp+var_D] mov esp, ebp pop ebp retn sub_14EF8 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_14F6C proc near ; CODE XREF: sub_158F4+52p var_18 = dword ptr -18h var_14 = dword ptr -14h var_D = byte ptr -0Dh var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFE8h mov [ebp+var_C], ecx mov [ebp+var_8], edx mov [ebp+var_4], eax mov [ebp+var_D], 0 mov eax, [ebp+var_C] call sub_11C00 lea eax, [ebp+var_14] push eax lea eax, [ebp+var_18] push eax mov ecx, 3 mov edx, [ebp+var_8] mov eax, [ebp+var_4] call sub_14B48 test al, al jz short loc_14FCF mov eax, [ebp+var_C] mov edx, [ebp+var_18] call sub_120C8 mov eax, [ebp+var_C] call sub_11FC4 mov edx, eax mov eax, [ebp+var_14] mov ecx, [ebp+var_18] call sub_11210 mov eax, [ebp+var_14] call sub_11164 mov [ebp+var_D], 1 loc_14FCF: ; CODE XREF: sub_14F6C+35j mov al, [ebp+var_D] mov esp, ebp pop ebp retn sub_14F6C endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_14FD8 proc near ; DATA XREF: CODE:0001A0D4o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_14FFD push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_1C23C xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_15004 loc_14FFC: ; CODE XREF: sub_14FD8+2Aj retn ; --------------------------------------------------------------------------- loc_14FFD: ; DATA XREF: sub_14FD8+6o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_14FFC ; --------------------------------------------------------------------------- loc_15004: ; CODE XREF: sub_14FD8:loc_14FFCj ; DATA XREF: sub_14FD8+1Fo pop ebp retn sub_14FD8 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_15008 proc near ; DATA XREF: CODE:0001A0D0o sub ds:dword_1C23C, 1 retn sub_15008 endp ; --------------------------------------------------------------------------- off_15010 dd offset dword_1505C ; DATA XREF: sub_15394+3Er ; sub_15524+33r dd 2 dup(0) dd offset dword_1505C dd 4 dup(0) dd offset aSpcqwigwwhlr ; "spcqwigwwhlr" dd 10h dd offset off_1100C dd offset @System@TObject@SafeCallException$qqrp14System@TObjectpv ; System::TObject::SafeCallException(System::TObject *,void *) dd offset nullsub_2 dd offset nullsub_3 dd offset sub_1149C dd offset nullsub_4 dd offset sub_11388 dd offset sub_1139C dd offset @System@TObject@$bdtr$qqrv ; System::TObject::~TObject(void) dword_1505C dd 0Eh, 10000h ; CODE:0001501Co db 2 dup(0) dd offset off_11000 db 8 ; Method db 0 db 0 ; Procedure db 0 aSpcqwigwwhlr db 12,'spcqwigwwhlr' ; DATA XREF: CODE:00015030o align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_1507C proc near ; CODE XREF: sub_15394+6Ep ; sub_15524+6Bp var_24 = word ptr -24h var_22 = word ptr -22h var_20 = dword ptr -20h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_5 = byte ptr -5 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFDCh push ebx push esi push edi mov [ebp+var_14], edx mov [ebp+var_4], eax mov [ebp+var_5], 0 xor eax, eax push ebp push offset loc_151D0 push dword ptr fs:[eax] mov fs:[eax], esp push 0 push 1 push 2 mov eax, ds:off_1B284 mov eax, [eax] call eax mov edx, [ebp+var_4] mov [edx+4], eax mov eax, [ebp+var_4] cmp dword ptr [eax+4], 0FFFFFFFFh jnz short loc_150C8 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx jmp loc_151DA ; --------------------------------------------------------------------------- loc_150C8: ; CODE XREF: sub_1507C+3Dj lea eax, [ebp+var_24] mov edx, 10h call @Windows@ZeroMemory$qqrpvui ; Windows::ZeroMemory(void *,uint) mov [ebp+var_24], 2 mov eax, [ebp+var_4] mov ax, [eax+0Ch] push eax mov eax, ds:off_1B2E0 mov eax, [eax] call eax mov [ebp+var_22], ax mov eax, [ebp+var_4] mov eax, [eax+8] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax mov eax, ds:off_1B30C mov eax, [eax] call eax mov [ebp+var_10], eax cmp [ebp+var_10], 0 jnz short loc_1511B xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx jmp loc_151DA ; --------------------------------------------------------------------------- loc_1511B: ; CODE XREF: sub_1507C+90j mov eax, [ebp+var_10] mov eax, [eax+0Ch] mov eax, [eax] push dword ptr [eax] mov eax, ds:off_1B2B4 mov eax, [eax] call eax push eax mov eax, ds:off_1B14C mov eax, [eax] call eax mov [ebp+var_20], eax push 10h lea eax, [ebp+var_24] push eax mov eax, [ebp+var_4] mov eax, [eax+4] push eax mov eax, ds:off_1B204 mov eax, [eax] call eax test eax, eax jz short loc_1515F xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx jmp short loc_151DA ; --------------------------------------------------------------------------- loc_1515F: ; CODE XREF: sub_1507C+D7j mov [ebp+var_C], 7530h push 4 lea eax, [ebp+var_C] push eax push 1005h push 0FFFFh mov eax, [ebp+var_4] mov eax, [eax+4] push eax mov eax, ds:off_1B290 mov eax, [eax] call eax test eax, eax jz short loc_15194 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx jmp short loc_151DA ; --------------------------------------------------------------------------- loc_15194: ; CODE XREF: sub_1507C+10Cj push 4 lea eax, [ebp+var_C] push eax push 1006h push 0FFFFh mov eax, [ebp+var_4] mov eax, [eax+4] push eax mov eax, ds:off_1B290 mov eax, [eax] call eax test eax, eax jz short loc_151C2 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx jmp short loc_151DA ; --------------------------------------------------------------------------- loc_151C2: ; CODE XREF: sub_1507C+13Aj mov [ebp+var_5], 1 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx jmp short loc_151DA ; --------------------------------------------------------------------------- loc_151D0: ; DATA XREF: sub_1507C+16o jmp loc_1161C ; --------------------------------------------------------------------------- call @System@@DoneExcept$qqrv ; System::__linkproc__ DoneExcept(void) loc_151DA: ; CODE XREF: sub_1507C+47j ; sub_1507C+9Aj ... mov al, [ebp+var_5] pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_1507C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_151E4 proc near ; CODE XREF: sub_15394+F8p ; sub_15524+F5p ... var_4 = dword ptr -4 push ebp mov ebp, esp push ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] mov eax, [eax+4] push eax mov eax, ds:off_1B1B0 mov eax, [eax] call eax pop ecx pop ebp retn sub_151E4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_15200 proc near ; CODE XREF: sub_156F4+15p var_11 = byte ptr -11h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFECh mov [ebp+var_11], dl mov [ebp+var_4], eax push 0 push 4 lea eax, [ebp+var_C] push eax mov eax, [ebp+var_4] mov eax, [eax+4] push eax mov eax, ds:off_1B300 mov eax, [eax] call eax mov [ebp+var_10], eax cmp [ebp+var_10], 4 jz short loc_15234 xor eax, eax mov [ebp+var_8], eax jmp short loc_15244 ; --------------------------------------------------------------------------- loc_15234: ; CODE XREF: sub_15200+2Bj mov eax, [ebp+var_C] push eax mov eax, ds:off_1B1C0 mov eax, [eax] call eax mov [ebp+var_8], eax loc_15244: ; CODE XREF: sub_15200+32j mov eax, [ebp+var_8] mov esp, ebp pop ebp retn sub_15200 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_1524C proc near ; CODE XREF: sub_156F4+39p var_14 = dword ptr -14h var_D = byte ptr -0Dh var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFECh mov [ebp+var_C], ecx mov [ebp+var_8], edx mov [ebp+var_4], eax xor eax, eax mov [ebp+var_14], eax mov [ebp+var_D], 0 mov eax, [ebp+var_C] mov edx, [ebp+var_8] call sub_120C8 cmp [ebp+var_8], 0 jle short loc_152AE loc_15275: ; CODE XREF: sub_1524C+60j push 0 mov eax, [ebp+var_8] push eax mov eax, [ebp+var_C] call sub_11FC4 mov edx, [ebp+var_14] add eax, edx push eax mov eax, [ebp+var_4] mov eax, [eax+4] push eax mov eax, ds:off_1B300 mov eax, [eax] call eax mov [ebp+var_14], eax cmp [ebp+var_14], 0FFFFFFFFh jz short loc_152AE mov eax, [ebp+var_14] sub [ebp+var_8], eax cmp [ebp+var_8], 0 jg short loc_15275 loc_152AE: ; CODE XREF: sub_1524C+27j ; sub_1524C+54j cmp [ebp+var_8], 0 jnz short loc_152B8 mov [ebp+var_D], 1 loc_152B8: ; CODE XREF: sub_1524C+66j mov al, [ebp+var_D] mov esp, ebp pop ebp retn sub_1524C endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_152C0 proc near ; CODE XREF: sub_1568C+40p var_10 = dword ptr -10h var_9 = byte ptr -9 var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFF0h mov [ebp+var_8], edx mov [ebp+var_4], eax mov eax, [ebp+var_8] call sub_11FA8 xor eax, eax push ebp push offset loc_15334 push dword ptr fs:[eax] mov fs:[eax], esp mov [ebp+var_9], 0 push 0 mov eax, [ebp+var_8] call sub_11DF4 push eax lea eax, [ebp+var_8] call sub_11FC4 push eax mov eax, [ebp+var_4] mov eax, [eax+4] push eax mov eax, ds:off_1B2D4 mov eax, [eax] call eax mov [ebp+var_10], eax mov eax, [ebp+var_8] call sub_11DF4 cmp eax, [ebp+var_10] jnz short loc_1531E mov [ebp+var_9], 1 loc_1531E: ; CODE XREF: sub_152C0+58j xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_1533B loc_1532B: ; CODE XREF: sub_152C0+79j lea eax, [ebp+var_8] call sub_11C00 retn ; --------------------------------------------------------------------------- loc_15334: ; DATA XREF: sub_152C0+17o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_1532B ; --------------------------------------------------------------------------- loc_1533B: ; CODE XREF: sub_152C0+73j ; DATA XREF: sub_152C0+66o mov al, [ebp+var_9] mov esp, ebp pop ebp retn sub_152C0 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_15344 proc near ; CODE XREF: sub_15660+16p ; sub_15660+23p ... var_11 = byte ptr -11h var_10 = dword ptr -10h var_9 = byte ptr -9 var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFECh mov [ebp+var_11], cl mov [ebp+var_8], edx mov [ebp+var_4], eax mov [ebp+var_9], 0 mov eax, [ebp+var_8] push eax mov eax, ds:off_1B1BC mov eax, [eax] call eax mov [ebp+var_8], eax push 0 push 4 lea eax, [ebp+var_8] push eax mov eax, [ebp+var_4] mov eax, [eax+4] push eax mov eax, ds:off_1B2D4 mov eax, [eax] call eax mov [ebp+var_10], eax cmp [ebp+var_10], 4 jnz short loc_1538C mov [ebp+var_9], 1 loc_1538C: ; CODE XREF: sub_15344+42j mov al, [ebp+var_9] mov esp, ebp pop ebp retn sub_15344 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_15394 proc near ; CODE XREF: sub_15B40+DFp var_15 = byte ptr -15h var_14 = dword ptr -14h var_D = byte ptr -0Dh var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp add esp, 0FFFFFFE8h push ebx push esi push edi mov [ebp+var_C], ecx mov [ebp+var_8], edx mov [ebp+var_4], eax mov eax, [ebp+var_4] call sub_11FA8 mov eax, [ebp+var_C] call sub_11FA8 xor eax, eax push ebp push offset loc_154BF push dword ptr fs:[eax] mov fs:[eax], esp mov [ebp+var_D], 0 mov eax, [ebp+arg_0] call sub_11C00 mov dl, 1 mov eax, off_15010 call unknown_libname_3 ; BDS 2005-2006 and Delphi6-7 Visual Component Library mov [ebp+var_14], eax mov eax, [ebp+var_14] add eax, 8 mov edx, [ebp+var_4] call sub_11C54 mov eax, ds:off_1B230 mov eax, [eax] mov edx, [ebp+var_14] mov [edx+0Ch], eax mov edx, 1D4C0h mov eax, [ebp+var_14] call sub_1507C mov [ebp+var_15], al cmp [ebp+var_15], 0 jz loc_154A1 xor eax, eax push ebp push offset loc_1549A push dword ptr fs:[eax] mov fs:[eax], esp xor eax, eax push ebp push offset loc_15472 push dword ptr fs:[eax] mov fs:[eax], esp mov edx, [ebp+var_8] mov eax, [ebp+var_14] call sub_15660 mov edx, [ebp+var_C] mov eax, [ebp+var_14] call sub_1568C mov eax, 12Ch call sub_16B30 mov edx, [ebp+arg_0] mov eax, [ebp+var_14] call sub_156F4 mov [ebp+var_15], al cmp [ebp+var_15], 0 jz short loc_15468 mov [ebp+var_D], 1 loc_15468: ; CODE XREF: sub_15394+CEj xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx jmp short loc_1547C ; --------------------------------------------------------------------------- loc_15472: ; DATA XREF: sub_15394+91o jmp loc_1161C ; --------------------------------------------------------------------------- call @System@@DoneExcept$qqrv ; System::__linkproc__ DoneExcept(void) loc_1547C: ; CODE XREF: sub_15394+DCj xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_154A1 loc_15489: ; CODE XREF: sub_15394+10Bj mov eax, [ebp+var_14] call sub_151E4 mov eax, [ebp+var_14] call sub_113F4 retn ; --------------------------------------------------------------------------- loc_1549A: ; DATA XREF: sub_15394+83o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_15489 ; --------------------------------------------------------------------------- loc_154A1: ; CODE XREF: sub_15394+7Aj ; sub_15394+105j ; DATA XREF: ... xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_154C6 loc_154AE: ; CODE XREF: sub_15394+130j lea eax, [ebp+var_C] call sub_11C00 lea eax, [ebp+var_4] call sub_11C00 retn ; --------------------------------------------------------------------------- loc_154BF: ; DATA XREF: sub_15394+25o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_154AE ; --------------------------------------------------------------------------- loc_154C6: ; CODE XREF: sub_15394+12Aj ; DATA XREF: sub_15394+115o mov al, [ebp+var_D] pop edi pop esi pop ebx mov esp, ebp pop ebp retn 4 sub_15394 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_154D4 proc near ; CODE XREF: sub_15524+43p var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFF8h mov [ebp+var_4], eax mov eax, [ebp+var_4] call sub_11C00 mov eax, ds:off_1B1F8 mov eax, [eax] mov eax, [eax+1Ch] call sub_11304 mov [ebp+var_8], eax cmp [ebp+var_8], 0 jl short loc_1551E mov eax, ds:off_1B1F8 mov eax, [eax] mov eax, [eax+1Ch] cmp eax, [ebp+var_8] jle short loc_1551E mov ecx, [ebp+var_4] mov eax, ds:off_1B1F8 mov eax, [eax] mov edx, [ebp+var_8] call sub_13408 loc_1551E: ; CODE XREF: sub_154D4+27j ; sub_154D4+36j pop ecx pop ecx pop ebp retn sub_154D4 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_15524 proc near ; CODE XREF: sub_15CA4+63p ; sub_15DC4+61p var_1C = dword ptr -1Ch var_15 = byte ptr -15h var_14 = dword ptr -14h var_D = byte ptr -0Dh var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFE4h push ebx push esi push edi xor ebx, ebx mov [ebp+var_1C], ebx mov [ebp+var_C], ecx mov [ebp+var_8], edx mov [ebp+var_4], eax mov eax, [ebp+var_8] call sub_11FA8 xor eax, eax push ebp push offset loc_1564C push dword ptr fs:[eax] mov fs:[eax], esp mov [ebp+var_D], 0 mov dl, 1 mov eax, off_15010 call unknown_libname_3 ; BDS 2005-2006 and Delphi6-7 Visual Component Library mov [ebp+var_14], eax lea eax, [ebp+var_1C] call sub_154D4 mov edx, [ebp+var_1C] mov eax, [ebp+var_14] add eax, 8 call sub_11C54 mov eax, ds:off_1B230 mov eax, [eax] mov edx, [ebp+var_14] mov [edx+0Ch], eax mov edx, 1D4C0h mov eax, [ebp+var_14] call sub_1507C mov [ebp+var_15], al cmp [ebp+var_15], 0 jz loc_1562E xor eax, eax push ebp push offset loc_15627 push dword ptr fs:[eax] mov fs:[eax], esp xor eax, eax push ebp push offset loc_155FF push dword ptr fs:[eax] mov fs:[eax], esp mov edx, [ebp+var_4] mov eax, [ebp+var_14] call sub_15660 mov edx, [ebp+var_8] mov eax, [ebp+var_14] call sub_1568C mov eax, 64h call sub_16B30 mov edx, [ebp+var_C] mov eax, [ebp+var_14] call sub_156F4 mov [ebp+var_15], al cmp [ebp+var_15], 0 jz short loc_155F5 mov [ebp+var_D], 1 loc_155F5: ; CODE XREF: sub_15524+CBj xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx jmp short loc_15609 ; --------------------------------------------------------------------------- loc_155FF: ; DATA XREF: sub_15524+8Eo jmp loc_1161C ; --------------------------------------------------------------------------- call @System@@DoneExcept$qqrv ; System::__linkproc__ DoneExcept(void) loc_15609: ; CODE XREF: sub_15524+D9j xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_1562E loc_15616: ; CODE XREF: sub_15524+108j mov eax, [ebp+var_14] call sub_151E4 mov eax, [ebp+var_14] call sub_113F4 retn ; --------------------------------------------------------------------------- loc_15627: ; DATA XREF: sub_15524+80o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_15616 ; --------------------------------------------------------------------------- loc_1562E: ; CODE XREF: sub_15524+77j ; sub_15524+102j ; DATA XREF: ... xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_15653 loc_1563B: ; CODE XREF: sub_15524+12Dj lea eax, [ebp+var_1C] call sub_11C00 lea eax, [ebp+var_8] call sub_11C00 retn ; --------------------------------------------------------------------------- loc_1564C: ; DATA XREF: sub_15524+22o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_1563B ; --------------------------------------------------------------------------- loc_15653: ; CODE XREF: sub_15524+127j ; DATA XREF: sub_15524+112o mov al, [ebp+var_D] pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_15524 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_15660 proc near ; CODE XREF: sub_15394+A2p ; sub_15524+9Fp var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFF8h mov [ebp+var_8], edx mov [ebp+var_4], eax mov cl, 1 mov edx, 78E3h mov eax, [ebp+var_4] call sub_15344 mov cl, 1 mov edx, [ebp+var_8] mov eax, [ebp+var_4] call sub_15344 pop ecx pop ecx pop ebp retn sub_15660 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_1568C proc near ; CODE XREF: sub_15394+ADp ; sub_15524+AAp var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFF4h mov [ebp+var_8], edx mov [ebp+var_4], eax mov eax, [ebp+var_8] call sub_11FA8 xor eax, eax push ebp push offset loc_156E7 push dword ptr fs:[eax] mov fs:[eax], esp mov eax, [ebp+var_8] call sub_11DF4 mov [ebp+var_C], eax mov cl, 1 mov edx, [ebp+var_C] mov eax, [ebp+var_4] call sub_15344 mov edx, [ebp+var_8] mov eax, [ebp+var_4] call sub_152C0 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_156EE loc_156DE: ; CODE XREF: sub_1568C+60j lea eax, [ebp+var_8] call sub_11C00 retn ; --------------------------------------------------------------------------- loc_156E7: ; DATA XREF: sub_1568C+17o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_156DE ; --------------------------------------------------------------------------- loc_156EE: ; CODE XREF: sub_1568C+5Aj ; DATA XREF: sub_1568C+4Do mov esp, ebp pop ebp retn sub_1568C endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_156F4 proc near ; CODE XREF: sub_15394+C2p ; sub_15524+BFp var_10 = dword ptr -10h var_9 = byte ptr -9 var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFF0h mov [ebp+var_8], edx mov [ebp+var_4], eax mov [ebp+var_9], 0 mov dl, 1 mov eax, [ebp+var_4] call sub_15200 mov [ebp+var_10], eax cmp [ebp+var_10], 5B8D80h jle short loc_15724 mov eax, [ebp+var_4] call sub_151E4 jmp short loc_15735 ; --------------------------------------------------------------------------- loc_15724: ; CODE XREF: sub_156F4+24j mov ecx, [ebp+var_8] mov edx, [ebp+var_10] mov eax, [ebp+var_4] call sub_1524C mov [ebp+var_9], al loc_15735: ; CODE XREF: sub_156F4+2Ej mov al, [ebp+var_9] mov esp, ebp pop ebp retn sub_156F4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_1573C proc near ; DATA XREF: CODE:0001A0DCo push ebp mov ebp, esp xor eax, eax push ebp push offset loc_15761 push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_1C240 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_15768 loc_15760: ; CODE XREF: sub_1573C+2Aj retn ; --------------------------------------------------------------------------- loc_15761: ; DATA XREF: sub_1573C+6o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_15760 ; --------------------------------------------------------------------------- loc_15768: ; CODE XREF: sub_1573C:loc_15760j ; DATA XREF: sub_1573C+1Fo pop ebp retn sub_1573C endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_1576C proc near ; DATA XREF: CODE:0001A0D8o sub ds:dword_1C240, 1 retn sub_1576C endp ; =============== S U B R O U T I N E ======================================= sub_15774 proc near ; CODE XREF: sub_165C4+3Fp r+2Ap ... mov eax, ds:off_1B294 mov eax, [eax] call eax mov edx, ds:off_1B308 mov [edx], eax retn sub_15774 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_15788 proc near ; CODE XREF: sub_157B0+6p ; sub_158F4+5Bp ... var_18 = byte ptr -18h var_8 = qword ptr -8 push ebp mov ebp, esp add esp, 0FFFFFFE8h lea eax, [ebp+var_18] push eax mov eax, ds:off_1B304 mov eax, [eax] call eax lea edx, [ebp+var_8] lea eax, [ebp+var_18] call sub_12D44 fld [ebp+var_8] mov esp, ebp pop ebp retn sub_15788 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_157B0 proc near ; CODE XREF: sub_165C4:loc_166DCp ; sub_165C4+3D8p var_10 = qword ptr -10h var_8 = qword ptr -8 push ebp mov ebp, esp add esp, 0FFFFFFF0h call sub_15788 call sub_1127C mov dword ptr [ebp+var_10], eax mov dword ptr [ebp+var_10+4], edx fild [ebp+var_10] fstp [ebp+var_8] wait fld [ebp+var_8] mov esp, ebp pop ebp retn sub_157B0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_157D4 proc near ; CODE XREF: sub_165C4+BAp ; sub_165C4+38Dp ... var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFF0h xor ecx, ecx mov [ebp+var_C], ecx mov [ebp+var_10], ecx mov [ebp+var_8], edx mov [ebp+var_4], eax mov eax, [ebp+var_4] call sub_11FA8 mov eax, [ebp+var_8] call sub_11FA8 xor eax, eax push ebp push offset loc_15856 push dword ptr fs:[eax] mov fs:[eax], esp mov edx, ds:off_1B1D0 mov edx, [edx] lea eax, [ebp+var_10] mov ecx, [ebp+var_4] call @System@@LStrCat3$qqrv ; System::__linkproc__ LStrCat3(void) mov eax, [ebp+var_10] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) mov edx, eax lea eax, [ebp+var_C] call unknown_libname_8 ; BDS 2005-2006 and Delphi6-7 Visual Component Library mov edx, [ebp+var_C] mov ecx, [ebp+var_8] mov eax, 80000002h call sub_14CAC xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_1585D loc_15848: ; CODE XREF: sub_157D4+87j lea eax, [ebp+var_10] mov edx, 4 call sub_11C24 retn ; --------------------------------------------------------------------------- loc_15856: ; DATA XREF: sub_157D4+27o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_15848 ; --------------------------------------------------------------------------- loc_1585D: ; CODE XREF: sub_157D4+81j ; DATA XREF: sub_157D4+6Fo mov esp, ebp pop ebp retn sub_157D4 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_15864 proc near ; CODE XREF: sub_17118+26p var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFF0h xor ecx, ecx mov [ebp+var_C], ecx mov [ebp+var_10], ecx mov [ebp+var_8], edx mov [ebp+var_4], eax mov eax, [ebp+var_4] call sub_11FA8 xor eax, eax push ebp push offset loc_158E6 push dword ptr fs:[eax] mov fs:[eax], esp mov edx, ds:off_1B1D0 mov edx, [edx] lea eax, [ebp+var_10] mov ecx, [ebp+var_4] call @System@@LStrCat3$qqrv ; System::__linkproc__ LStrCat3(void) mov eax, [ebp+var_10] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) mov edx, eax lea eax, [ebp+var_C] call unknown_libname_8 ; BDS 2005-2006 and Delphi6-7 Visual Component Library mov edx, [ebp+var_C] mov ecx, [ebp+var_8] mov eax, 80000002h call sub_14E84 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_158ED loc_158D0: ; CODE XREF: sub_15864+87j lea eax, [ebp+var_10] mov edx, 2 call sub_11C24 lea eax, [ebp+var_4] call sub_11C00 retn ; --------------------------------------------------------------------------- loc_158E6: ; DATA XREF: sub_15864+1Fo jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_158D0 ; --------------------------------------------------------------------------- loc_158ED: ; CODE XREF: sub_15864+81j ; DATA XREF: sub_15864+67o mov esp, ebp pop ebp retn sub_15864 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_158F4 proc near ; CODE XREF: sub_159A0+Dp var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = qword ptr -10h var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFE4h xor edx, edx mov [ebp+var_18], edx mov [ebp+var_1C], edx mov [ebp+var_14], edx mov [ebp+var_4], eax xor eax, eax push ebp push offset loc_1598E push dword ptr fs:[eax] mov fs:[eax], esp mov edx, ds:off_1B1D0 mov edx, [edx] lea eax, [ebp+var_1C] mov ecx, [ebp+var_4] call @System@@LStrCat3$qqrv ; System::__linkproc__ LStrCat3(void) mov eax, [ebp+var_1C] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) mov edx, eax lea eax, [ebp+var_18] call unknown_libname_8 ; BDS 2005-2006 and Delphi6-7 Visual Component Library mov edx, [ebp+var_18] lea ecx, [ebp+var_14] mov eax, 80000002h call sub_14F6C test al, al jnz short loc_15960 call sub_15788 fsub flt_1599C fstp [ebp+var_10] wait jmp short loc_15973 ; --------------------------------------------------------------------------- loc_15960: ; CODE XREF: sub_158F4+59j mov eax, [ebp+var_14] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) mov edx, [eax] mov dword ptr [ebp+var_10], edx mov edx, [eax+4] mov dword ptr [ebp+var_10+4], edx loc_15973: ; CODE XREF: sub_158F4+6Aj xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_15995 loc_15980: ; CODE XREF: sub_158F4+9Fj lea eax, [ebp+var_1C] mov edx, 3 call sub_11C24 retn ; --------------------------------------------------------------------------- loc_1598E: ; DATA XREF: sub_158F4+17o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_15980 ; --------------------------------------------------------------------------- loc_15995: ; CODE XREF: sub_158F4+99j ; DATA XREF: sub_158F4+87o fld [ebp+var_10] mov esp, ebp pop ebp retn sub_158F4 endp ; --------------------------------------------------------------------------- flt_1599C dd 1.0e1 ; DATA XREF: sub_158F4+60r ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_159A0 proc near ; CODE XREF: sub_15AA4+1Bp var_8 = qword ptr -8 push ebp mov ebp, esp add esp, 0FFFFFFF8h mov eax, ds:off_1B320 mov eax, [eax] call sub_158F4 fstp [ebp+var_8] wait fld [ebp+var_8] pop ecx pop ecx pop ebp retn sub_159A0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_159C0 proc near ; CODE XREF: sub_165C4+191p var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = byte ptr -10h var_8 = qword ptr -8 push ebp mov ebp, esp mov ecx, 4 loc_159C8: ; CODE XREF: sub_159C0+Dj push 0 push 0 dec ecx jnz short loc_159C8 push ecx xor eax, eax push ebp push offset loc_15A98 push dword ptr fs:[eax] mov fs:[eax], esp call sub_15788 fstp [ebp+var_8] wait lea edx, [ebp+var_10] lea eax, [ebp+var_8] mov ecx, 8 call sub_11210 push 7 mov ecx, ds:off_1B320 mov ecx, [ecx] mov edx, ds:off_1B1D0 mov edx, [edx] lea eax, [ebp+var_1C] call @System@@LStrCat3$qqrv ; System::__linkproc__ LStrCat3(void) mov eax, [ebp+var_1C] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) mov edx, eax lea eax, [ebp+var_18] call unknown_libname_8 ; BDS 2005-2006 and Delphi6-7 Visual Component Library mov edx, [ebp+var_18] lea ecx, [ebp+var_10] mov eax, 80000002h call sub_14E50 lea eax, [ebp+var_14] mov edx, ds:off_1B0D8 mov edx, [edx] call sub_11C98 mov ecx, ds:off_1B150 mov ecx, [ecx] mov edx, ds:off_1B1D0 mov edx, [edx] lea eax, [ebp+var_24] call @System@@LStrCat3$qqrv ; System::__linkproc__ LStrCat3(void) mov eax, [ebp+var_24] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) mov edx, eax lea eax, [ebp+var_20] call unknown_libname_8 ; BDS 2005-2006 and Delphi6-7 Visual Component Library mov edx, [ebp+var_20] mov ecx, [ebp+var_14] mov eax, 80000002h call sub_14CAC xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_15A9F loc_15A8A: ; CODE XREF: sub_159C0+DDj lea eax, [ebp+var_24] mov edx, 5 call sub_11C24 retn ; --------------------------------------------------------------------------- loc_15A98: ; DATA XREF: sub_159C0+13o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_15A8A ; --------------------------------------------------------------------------- loc_15A9F: ; CODE XREF: sub_159C0+D7j ; DATA XREF: sub_159C0+C5o mov esp, ebp pop ebp retn sub_159C0 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_15AA4 proc near ; CODE XREF: sub_165C4:loc_16731p var_38 = qword ptr -38h var_18 = qword ptr -18h var_10 = qword ptr -10h var_1 = byte ptr -1 push ebp mov ebp, esp add esp, 0FFFFFFE8h push ebx push esi push edi mov [ebp+var_1], 0 xor eax, eax push ebp push offset loc_15B27 push dword ptr fs:[eax] mov fs:[eax], esp call sub_159A0 fstp [ebp+var_10] wait call sub_15788 add esp, 0FFFFFFF8h fstp [esp+38h+var_38] wait push dword ptr [ebp+var_10+4] push dword ptr [ebp+var_10] ; double call sub_16B08 fstp [ebp+var_18] wait fld [ebp+var_18] fcomp flt_15B3C fnstsw ax sahf jnb short loc_15B14 call sub_15788 add esp, 0FFFFFFF8h fstp [esp+38h+var_38] wait call @Dateutils@DayOf$qqrx16System@TDateTime ; Dateutils::DayOf(System::TDateTime) mov ebx, eax push dword ptr [ebp+var_10+4] push dword ptr [ebp+var_10] ; double call @Dateutils@DayOf$qqrx16System@TDateTime ; Dateutils::DayOf(System::TDateTime) cmp bx, ax jz short loc_15B18 loc_15B14: ; CODE XREF: sub_15AA4+4Bj xor eax, eax jmp short loc_15B1A ; --------------------------------------------------------------------------- loc_15B18: ; CODE XREF: sub_15AA4+6Ej mov al, 1 loc_15B1A: ; CODE XREF: sub_15AA4+72j mov [ebp+var_1], al xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx jmp short loc_15B31 ; --------------------------------------------------------------------------- loc_15B27: ; DATA XREF: sub_15AA4+10o jmp loc_1161C ; --------------------------------------------------------------------------- call @System@@DoneExcept$qqrv ; System::__linkproc__ DoneExcept(void) loc_15B31: ; CODE XREF: sub_15AA4+81j mov al, [ebp+var_1] pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_15AA4 endp ; --------------------------------------------------------------------------- align 4 flt_15B3C dd 1.2e1 ; DATA XREF: sub_15AA4+42r ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_15B40 proc near ; CODE XREF: sub_165C4+CEp var_44 = dword ptr -44h var_40 = byte ptr -40h var_3C = byte ptr -3Ch var_38 = byte ptr -38h var_34 = byte ptr -34h var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFBCh push ebx push esi push edi xor ecx, ecx mov [ebp+var_C], ecx mov [ebp+var_10], ecx mov [ebp+var_14], ecx mov [ebp+var_18], edx mov [ebp+var_4], eax mov ecx, 0Bh lea eax, [ebp+var_44] mov edx, off_11000 call sub_12250 xor eax, eax push ebp push offset loc_15C94 push dword ptr fs:[eax] mov fs:[eax], esp lea eax, [ebp+var_14] mov edx, ds:off_1B1A0 mov edx, [edx] call sub_11C98 xor eax, eax push ebp push offset loc_15C5C push dword ptr fs:[eax] mov fs:[eax], esp lea eax, [ebp+var_44] mov edx, ds:off_1B1A0 mov edx, [edx] call sub_11C98 lea eax, [ebp+var_40] mov edx, ds:off_1B1AC mov edx, [edx] call sub_11C98 lea eax, [ebp+var_3C] mov edx, ds:off_1B0E8 mov edx, [edx] call sub_11C98 lea eax, [ebp+var_38] mov edx, ds:off_1B2DC mov edx, [edx] call sub_11C98 lea eax, [ebp+var_34] mov edx, ds:off_1B148 mov edx, [edx] call sub_11C98 mov eax, [ebp+var_4] call sub_133AC xor eax, eax mov [ebp+var_8], eax loc_15BF6: ; CODE XREF: sub_15B40+FCj lea eax, [ebp+var_C] mov edx, [ebp+var_8] mov edx, [ebp+edx*4+var_44] call sub_11C98 cmp [ebp+var_C], 0 jz short loc_15C35 lea eax, [ebp+var_10] push eax mov ecx, ds:off_1B25C mov ecx, [ecx] mov edx, 4F95h mov eax, [ebp+var_C] call sub_15394 cmp [ebp+var_10], 0 jz short loc_15C35 mov eax, [ebp+var_4] mov edx, [ebp+var_C] call sub_1339C loc_15C35: ; CODE XREF: sub_15B40+C9j ; sub_15B40+E8j inc [ebp+var_8] cmp [ebp+var_8], 6 jnz short loc_15BF6 mov eax, [ebp+var_4] cmp dword ptr [eax+1Ch], 0 jnz short loc_15C52 mov eax, [ebp+var_4] mov edx, [ebp+var_14] call sub_1339C loc_15C52: ; CODE XREF: sub_15B40+105j xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx jmp short loc_15C66 ; --------------------------------------------------------------------------- loc_15C5C: ; DATA XREF: sub_15B40+4Eo jmp loc_1161C ; --------------------------------------------------------------------------- call @System@@DoneExcept$qqrv ; System::__linkproc__ DoneExcept(void) loc_15C66: ; CODE XREF: sub_15B40+11Aj xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_15C9B loc_15C73: ; CODE XREF: sub_15B40+159j lea eax, [ebp+var_44] mov ecx, 0Bh mov edx, off_11000 call sub_1231C lea eax, [ebp+var_14] mov edx, 3 call sub_11C24 retn ; --------------------------------------------------------------------------- loc_15C94: ; DATA XREF: sub_15B40+30o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_15C73 ; --------------------------------------------------------------------------- loc_15C9B: ; CODE XREF: sub_15B40+153j ; DATA XREF: sub_15B40+12Eo pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_15B40 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_15CA4 proc near ; CODE XREF: sub_165C4+1C2p var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_5 = byte ptr -5 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFECh xor edx, edx mov [ebp+var_14], edx mov [ebp+var_10], edx mov [ebp+var_4], eax xor eax, eax push ebp push offset loc_15D6B push dword ptr fs:[eax] mov fs:[eax], esp mov eax, [ebp+var_4] call sub_11C00 loc_15CCB: ; CODE XREF: sub_15CA4+A7j mov eax, ds:off_1B2D0 cmp byte ptr [eax], 0 jnz short loc_15D50 mov eax, ds:off_1B100 push dword ptr [eax] mov eax, ds:off_1B224 push dword ptr [eax] push offset _str__.Text mov eax, ds:off_1B1C4 push dword ptr [eax] lea eax, [ebp+var_14] mov edx, 4 call sub_11EB4 mov edx, [ebp+var_14] lea ecx, [ebp+var_10] mov eax, 27B3h call sub_15524 mov [ebp+var_5], al cmp [ebp+var_5], 0 jz short loc_15D2F mov eax, [ebp+var_4] mov edx, [ebp+var_10] call sub_11C54 mov eax, [ebp+var_4] mov eax, [eax] call sub_11DF4 cmp eax, 9 jge short loc_15D50 loc_15D2F: ; CODE XREF: sub_15CA4+6Fj mov eax, 1Eh call sub_11304 add eax, 28h mov [ebp+var_C], eax imul eax, [ebp+var_C], 3E8h call sub_16B30 jmp loc_15CCB ; --------------------------------------------------------------------------- loc_15D50: ; CODE XREF: sub_15CA4+2Fj ; sub_15CA4+89j xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_15D72 loc_15D5D: ; CODE XREF: sub_15CA4+CCj lea eax, [ebp+var_14] mov edx, 2 call sub_11C24 retn ; --------------------------------------------------------------------------- loc_15D6B: ; DATA XREF: sub_15CA4+14o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_15D5D ; --------------------------------------------------------------------------- loc_15D72: ; CODE XREF: sub_15CA4+C6j ; DATA XREF: sub_15CA4+B4o mov esp, ebp pop ebp retn sub_15CA4 endp ; --------------------------------------------------------------------------- align 4 _str__ dd 0FFFFFFFFh ; _top ; DATA XREF: sub_15CA4+3Fo dd 1 ; Len db '_',0 ; Text align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_15D84 proc near ; CODE XREF: sub_165C4+FCp ; sub_165C4+13Dp ... var_4 = dword ptr -4 push ebp mov ebp, esp push ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] call sub_11FA8 xor eax, eax push ebp push offset loc_15DB7 push dword ptr fs:[eax] mov fs:[eax], esp xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_15DBE loc_15DAE: ; CODE XREF: sub_15D84+38j lea eax, [ebp+var_4] call sub_11C00 retn ; --------------------------------------------------------------------------- loc_15DB7: ; DATA XREF: sub_15D84+12o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_15DAE ; --------------------------------------------------------------------------- loc_15DBE: ; CODE XREF: sub_15D84+32j ; DATA XREF: sub_15D84+25o pop ecx pop ebp retn sub_15D84 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_15DC4 proc near ; CODE XREF: sub_16134+41p var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_9 = byte ptr -9 var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFE4h xor edx, edx mov [ebp+var_1C], edx mov [ebp+var_18], edx mov [ebp+var_8], edx mov [ebp+var_4], eax xor eax, eax push ebp push offset loc_15EA5 push dword ptr fs:[eax] mov fs:[eax], esp mov eax, [ebp+var_4] call sub_11C00 xor eax, eax mov [ebp+var_14], eax loc_15DF3: ; CODE XREF: sub_15DC4+B5j mov eax, ds:off_1B100 push dword ptr [eax] mov eax, ds:off_1B224 push dword ptr [eax] push offset _str___0.Text mov eax, ds:off_1B1C4 push dword ptr [eax] lea eax, [ebp+var_18] mov edx, 4 call sub_11EB4 mov edx, [ebp+var_18] lea ecx, [ebp+var_8] mov eax, 2ABAh call sub_15524 mov [ebp+var_9], al cmp [ebp+var_9], 0 jz short loc_15E56 mov eax, [ebp+var_4] push eax lea eax, [ebp+var_1C] mov edx, [ebp+var_8] call @System@@WStrFromLStr$qqrr17System@WideStringx17System@AnsiString ; System::__linkproc__ WStrFromLStr(System::WideString &,System::AnsiString) mov eax, [ebp+var_1C] mov edx, ds:off_1B154 mov edx, [edx] xor ecx, ecx call sub_1432C jmp short loc_15E7F ; --------------------------------------------------------------------------- loc_15E56: ; CODE XREF: sub_15DC4+6Dj mov eax, 1Eh call sub_11304 add eax, 28h mov [ebp+var_10], eax imul eax, [ebp+var_10], 3E8h call sub_16B30 inc [ebp+var_14] cmp [ebp+var_14], 15h jnz loc_15DF3 loc_15E7F: ; CODE XREF: sub_15DC4+90j xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_15EAC loc_15E8C: ; CODE XREF: sub_15DC4+E6j lea eax, [ebp+var_1C] call @System@@WStrClr$qqrpv ; System::__linkproc__ WStrClr(void *) lea eax, [ebp+var_18] call sub_11C00 lea eax, [ebp+var_8] call sub_11C00 retn ; --------------------------------------------------------------------------- loc_15EA5: ; DATA XREF: sub_15DC4+17o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_15E8C ; --------------------------------------------------------------------------- loc_15EAC: ; CODE XREF: sub_15DC4+E0j ; DATA XREF: sub_15DC4+C3o mov esp, ebp pop ebp retn sub_15DC4 endp ; --------------------------------------------------------------------------- _str___0 dd 0FFFFFFFFh ; _top ; DATA XREF: sub_15DC4+3Do dd 1 ; Len db '_',0 ; Text align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_15EBC proc near ; CODE XREF: sub_16024+98p var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFF0h mov [ebp+var_8], edx mov [ebp+var_4], eax mov eax, [ebp+var_4] call sub_11FA8 xor eax, eax push ebp push offset loc_15F47 push dword ptr fs:[eax] mov fs:[eax], esp mov eax, [ebp+var_8] call sub_11C00 mov eax, [ebp+var_4] call sub_11DF4 dec eax test eax, eax jle short loc_15F31 mov [ebp+var_10], eax mov [ebp+var_C], 1 loc_15EFD: ; CODE XREF: sub_15EBC+73j mov eax, [ebp+var_4] mov edx, [ebp+var_C] cmp byte ptr [eax+edx-1], 3Dh jnz short loc_15F29 mov eax, [ebp+var_8] push eax mov eax, [ebp+var_4] call sub_11DF4 mov ecx, eax sub ecx, [ebp+var_C] mov edx, [ebp+var_C] inc edx mov eax, [ebp+var_4] call @System@@LStrCopy$qqrv ; System::__linkproc__ LStrCopy(void) jmp short loc_15F31 ; --------------------------------------------------------------------------- loc_15F29: ; CODE XREF: sub_15EBC+4Cj inc [ebp+var_C] dec [ebp+var_10] jnz short loc_15EFD loc_15F31: ; CODE XREF: sub_15EBC+35j ; sub_15EBC+6Bj xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_15F4E loc_15F3E: ; CODE XREF: sub_15EBC+90j lea eax, [ebp+var_4] call sub_11C00 retn ; --------------------------------------------------------------------------- loc_15F47: ; DATA XREF: sub_15EBC+17o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_15F3E ; --------------------------------------------------------------------------- loc_15F4E: ; CODE XREF: sub_15EBC+8Aj ; DATA XREF: sub_15EBC+7Do mov esp, ebp pop ebp retn sub_15EBC endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_15F54 proc near ; CODE XREF: sub_16024+7Fp var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFF0h mov [ebp+var_8], edx mov [ebp+var_4], eax mov eax, [ebp+var_4] call sub_11FA8 xor eax, eax push ebp push offset loc_15FD7 push dword ptr fs:[eax] mov fs:[eax], esp mov eax, [ebp+var_8] call sub_11C00 mov eax, [ebp+var_4] call sub_11DF4 dec eax test eax, eax jle short loc_15FC1 mov [ebp+var_10], eax mov [ebp+var_C], 1 loc_15F95: ; CODE XREF: sub_15F54+6Bj mov eax, [ebp+var_4] mov edx, [ebp+var_C] cmp byte ptr [eax+edx-1], 3Dh jnz short loc_15FB9 mov eax, [ebp+var_8] push eax mov ecx, [ebp+var_C] dec ecx mov edx, 1 mov eax, [ebp+var_4] call @System@@LStrCopy$qqrv ; System::__linkproc__ LStrCopy(void) jmp short loc_15FC1 ; --------------------------------------------------------------------------- loc_15FB9: ; CODE XREF: sub_15F54+4Cj inc [ebp+var_C] dec [ebp+var_10] jnz short loc_15F95 loc_15FC1: ; CODE XREF: sub_15F54+35j ; sub_15F54+63j xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_15FDE loc_15FCE: ; CODE XREF: sub_15F54+88j lea eax, [ebp+var_4] call sub_11C00 retn ; --------------------------------------------------------------------------- loc_15FD7: ; DATA XREF: sub_15F54+17o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_15FCE ; --------------------------------------------------------------------------- loc_15FDE: ; CODE XREF: sub_15F54+82j ; DATA XREF: sub_15F54+75o mov esp, ebp pop ebp retn sub_15F54 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_15FE4 proc near ; CODE XREF: sub_16024+A3p var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFF4h mov [ebp+var_8], edx mov [ebp+var_4], eax push 0FFFFFFFFh mov eax, [ebp+var_8] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax push 0FFFFFFFFh mov eax, [ebp+var_4] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax push 0 push 400h mov eax, ds:off_1B0F0 mov eax, [eax] call eax sub eax, 2 mov [ebp+var_C], eax mov eax, [ebp+var_C] mov esp, ebp pop ebp retn sub_15FE4 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_16024 proc near ; CODE XREF: sub_16134+54p var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFD8h push ebx xor ebx, ebx mov [ebp+var_28], ebx mov [ebp+var_24], ebx mov [ebp+var_18], ebx mov [ebp+var_1C], ebx mov [ebp+var_C], ecx mov [ebp+var_8], edx mov [ebp+var_4], eax xor eax, eax push ebp push offset loc_16128 push dword ptr fs:[eax] mov fs:[eax], esp mov eax, [ebp+var_C] call sub_11C00 call sub_1309C mov [ebp+var_10], eax xor eax, eax push ebp push offset loc_160F9 push dword ptr fs:[eax] mov fs:[eax], esp mov eax, [ebp+var_10] mov edx, [ebp+var_4] call sub_130D0 mov eax, [ebp+var_10] mov eax, [eax+1Ch] dec eax test eax, eax jl short loc_160E3 inc eax mov [ebp+var_20], eax mov [ebp+var_14], 0 loc_1608F: ; CODE XREF: sub_16024+BDj lea ecx, [ebp+var_24] mov eax, [ebp+var_10] mov edx, [ebp+var_14] call sub_13408 mov eax, [ebp+var_24] lea edx, [ebp+var_18] call sub_15F54 lea ecx, [ebp+var_28] mov eax, [ebp+var_10] mov edx, [ebp+var_14] call sub_13408 mov eax, [ebp+var_28] lea edx, [ebp+var_1C] call sub_15EBC mov edx, [ebp+var_8] mov eax, [ebp+var_18] call sub_15FE4 test eax, eax jnz short loc_160DB mov eax, [ebp+var_C] mov edx, [ebp+var_1C] call sub_11C54 loc_160DB: ; CODE XREF: sub_16024+AAj inc [ebp+var_14] dec [ebp+var_20] jnz short loc_1608F loc_160E3: ; CODE XREF: sub_16024+5Ej xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_16100 loc_160F0: ; CODE XREF: sub_16024+DAj mov eax, [ebp+var_10] call sub_13100 retn ; --------------------------------------------------------------------------- loc_160F9: ; DATA XREF: sub_16024+3Fo jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_160F0 ; --------------------------------------------------------------------------- loc_16100: ; CODE XREF: sub_16024+D4j ; DATA XREF: sub_16024+C7o xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_1612F loc_1610D: ; CODE XREF: sub_16024+109j lea eax, [ebp+var_28] mov edx, 2 call sub_11C24 lea eax, [ebp+var_1C] mov edx, 2 call sub_11C24 retn ; --------------------------------------------------------------------------- loc_16128: ; DATA XREF: sub_16024+21o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_1610D ; --------------------------------------------------------------------------- loc_1612F: ; CODE XREF: sub_16024+103j ; DATA XREF: sub_16024+E4o pop ebx mov esp, ebp pop ebp retn sub_16024 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_16134 proc near ; CODE XREF: sub_165C4+1F9p var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_5 = byte ptr -5 var_4 = dword ptr -4 push ebp mov ebp, esp xor ecx, ecx push ecx push ecx push ecx push ecx push ecx push ebx push esi push edi mov [ebp+var_4], eax xor eax, eax push ebp push offset loc_161E2 push dword ptr fs:[eax] mov fs:[eax], esp mov eax, [ebp+var_4] mov byte ptr [eax], 0 mov [ebp+var_5], 0 lea eax, [ebp+var_14] call sub_11C00 xor eax, eax push ebp push offset loc_161BD push dword ptr fs:[eax] mov fs:[eax], esp lea eax, [ebp+var_14] call sub_15DC4 lea ecx, [ebp+var_C] mov edx, ds:off_1B0C8 mov edx, [edx] mov eax, [ebp+var_14] call sub_16024 lea edx, [ebp+var_10] mov eax, ds:off_1B2B8 mov eax, [eax] call sub_16B44 mov eax, [ebp+var_C] mov edx, [ebp+var_10] call @System@@LStrCmp$qqrv ; System::__linkproc__ LStrCmp(void) jz short loc_161AF mov eax, [ebp+var_4] mov byte ptr [eax], 1 loc_161AF: ; CODE XREF: sub_16134+73j mov [ebp+var_5], 1 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx jmp short loc_161C7 ; --------------------------------------------------------------------------- loc_161BD: ; DATA XREF: sub_16134+33o jmp loc_1161C ; --------------------------------------------------------------------------- call @System@@DoneExcept$qqrv ; System::__linkproc__ DoneExcept(void) loc_161C7: ; CODE XREF: sub_16134+87j xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_161E9 loc_161D4: ; CODE XREF: sub_16134+B3j lea eax, [ebp+var_14] mov edx, 3 call sub_11C24 retn ; --------------------------------------------------------------------------- loc_161E2: ; DATA XREF: sub_16134+13o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_161D4 ; --------------------------------------------------------------------------- loc_161E9: ; CODE XREF: sub_16134+ADj ; DATA XREF: sub_16134+9Bo mov al, [ebp+var_5] pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_16134 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_161F4 proc near ; CODE XREF: sub_165C4+249p ; sub_165C4+2A7p var_48 = byte ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_A = byte ptr -0Ah var_9 = byte ptr -9 var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp push ecx mov ecx, 8 loc_161FD: ; CODE XREF: sub_161F4+Ej push 0 push 0 dec ecx jnz short loc_161FD push ecx xchg ecx, [ebp+var_4] push ebx push esi push edi mov [ebp+var_9], cl mov [ebp+var_8], edx mov [ebp+var_4], eax mov eax, [ebp+var_4] call sub_11FA8 mov eax, [ebp+var_8] call sub_11FA8 xor eax, eax push ebp push offset loc_164AE push dword ptr fs:[eax] mov fs:[eax], esp mov [ebp+var_18], 1 mov [ebp+var_A], 0 xor eax, eax push ebp push offset loc_16467 push dword ptr fs:[eax] mov fs:[eax], esp mov eax, ds:off_1B0D4 mov eax, [eax] mov eax, [eax+1Ch] dec eax test eax, eax jl loc_1638C inc eax mov [ebp+var_24], eax mov [ebp+var_1C], 0 loc_16269: ; CODE XREF: sub_161F4+192j lea eax, [ebp+var_28] call sub_16D68 push [ebp+var_28] mov eax, ds:off_1B29C push dword ptr [eax] lea edx, [ebp+var_2C] mov eax, [ebp+var_1C] call sub_131F8 push [ebp+var_2C] lea eax, [ebp+var_14] mov edx, 3 call sub_11EB4 push [ebp+var_14] push offset _str___1.Text mov eax, 0DBBA0h call sub_11304 lea edx, [ebp+var_30] call sub_131F8 push [ebp+var_30] mov eax, 0DBBA0h call sub_11304 lea edx, [ebp+var_34] call sub_131F8 push [ebp+var_34] mov eax, ds:off_1B2AC push dword ptr [eax] lea eax, [ebp+var_14] mov edx, 5 call sub_11EB4 mov eax, ds:off_1B2F8 push dword ptr [eax] lea ecx, [ebp+var_38] mov eax, ds:off_1B0D4 mov eax, [eax] mov edx, [ebp+var_1C] call sub_13408 push [ebp+var_38] mov eax, ds:off_1B270 push dword ptr [eax] push [ebp+var_4] push offset _str_?.Text mov eax, 0DBBA0h call sub_11304 lea edx, [ebp+var_3C] call sub_131F8 push [ebp+var_3C] lea eax, [ebp+var_10] mov edx, 6 call sub_11EB4 push 0 push 0 mov eax, [ebp+var_14] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax mov eax, [ebp+var_10] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax push 0 mov eax, ds:off_1B2FC mov eax, [eax] call eax mov [ebp+var_18], eax cmp [ebp+var_18], 0 jnz short loc_16376 cmp [ebp+var_9], 0 jnz short loc_16365 mov eax, [ebp+var_14] call sub_13374 test al, al jnz short loc_1638C loc_16365: ; CODE XREF: sub_161F4+163j lea edx, [ebp+var_20] mov eax, [ebp+var_14] call sub_16B44 cmp [ebp+var_20], 0 jnz short loc_1638C loc_16376: ; CODE XREF: sub_161F4+15Dj mov eax, 1388h call sub_16B30 inc [ebp+var_1C] dec [ebp+var_24] jnz loc_16269 loc_1638C: ; CODE XREF: sub_161F4+64j ; sub_161F4+16Fj ... cmp [ebp+var_18], 0 jnz short loc_16409 mov ecx, ds:off_1B114 mov ecx, [ecx] lea eax, [ebp+var_40] mov edx, [ebp+var_14] call @System@@LStrCat3$qqrv ; System::__linkproc__ LStrCat3(void) mov eax, [ebp+var_40] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax mov eax, [ebp+var_8] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax mov eax, ds:off_1B10C mov eax, [eax] call eax mov eax, [ebp+var_8] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax mov eax, [ebp+var_14] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax mov eax, ds:off_1B10C mov eax, [eax] call eax neg eax sbb eax, eax neg eax mov [ebp+var_A], al mov ecx, ds:off_1B114 mov ecx, [ecx] lea eax, [ebp+var_44] mov edx, [ebp+var_14] call @System@@LStrCat3$qqrv ; System::__linkproc__ LStrCat3(void) mov eax, [ebp+var_44] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax mov eax, ds:off_1B1A8 mov eax, [eax] call eax loc_16409: ; CODE XREF: sub_161F4+19Cj mov eax, [ebp+var_8] call sub_13374 test al, al jz short loc_1645D cmp [ebp+var_9], 0 jnz short loc_16429 mov [ebp+var_A], 1 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx jmp short loc_16471 ; --------------------------------------------------------------------------- loc_16429: ; CODE XREF: sub_161F4+225j lea edx, [ebp+var_20] mov eax, [ebp+var_8] call sub_16B44 cmp [ebp+var_20], 0 jz short loc_1644B mov [ebp+var_A], 1 lea edx, [ebp+var_48] mov eax, [ebp+var_8] call sub_17030 jmp short loc_1645D ; --------------------------------------------------------------------------- loc_1644B: ; CODE XREF: sub_161F4+244j mov eax, [ebp+var_8] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax mov eax, ds:off_1B1A8 mov eax, [eax] call eax loc_1645D: ; CODE XREF: sub_161F4+21Fj ; sub_161F4+255j xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx jmp short loc_16471 ; --------------------------------------------------------------------------- loc_16467: ; DATA XREF: sub_161F4+4Co jmp loc_1161C ; --------------------------------------------------------------------------- call @System@@DoneExcept$qqrv ; System::__linkproc__ DoneExcept(void) loc_16471: ; CODE XREF: sub_161F4+233j ; sub_161F4+271j xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_164B5 loc_1647E: ; CODE XREF: sub_161F4+2BFj lea eax, [ebp+var_48] mov edx, 9 call sub_11C24 lea eax, [ebp+var_20] call sub_11C00 lea eax, [ebp+var_14] mov edx, 2 call sub_11C24 lea eax, [ebp+var_8] mov edx, 2 call sub_11C24 retn ; --------------------------------------------------------------------------- loc_164AE: ; DATA XREF: sub_161F4+33o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_1647E ; --------------------------------------------------------------------------- loc_164B5: ; CODE XREF: sub_161F4+2B9j ; DATA XREF: sub_161F4+285o mov al, [ebp+var_A] pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_161F4 endp ; --------------------------------------------------------------------------- align 10h _str___1 dd 0FFFFFFFFh ; _top ; DATA XREF: sub_161F4+A5o dd 1 ; Len db '_',0 ; Text align 4 _str_? dd 0FFFFFFFFh ; _top ; DATA XREF: sub_161F4+10Eo dd 1 ; Len db '?',0 ; Text align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_164D8 proc near ; CODE XREF: sub_165C4+34Fp var_68 = dword ptr -68h var_3C = dword ptr -3Ch var_38 = word ptr -38h var_24 = dword ptr -24h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_5 = byte ptr -5 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFF98h mov [ebp+var_4], eax mov eax, [ebp+var_4] call sub_11FA8 xor eax, eax push ebp push offset loc_165B6 push dword ptr fs:[eax] mov fs:[eax], esp mov [ebp+var_5], 0 lea eax, [ebp+var_24] mov edx, 10h call @Windows@ZeroMemory$qqrpvui ; Windows::ZeroMemory(void *,uint) lea eax, [ebp+var_68] mov edx, 44h call @Windows@ZeroMemory$qqrpvui ; Windows::ZeroMemory(void *,uint) mov [ebp+var_68], 44h mov [ebp+var_38], 5 mov [ebp+var_3C], 101h lea eax, [ebp+var_24] push eax lea eax, [ebp+var_68] push eax mov eax, ds:off_1B248 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax push 0 push 30h push 0 push 0 push 0 mov eax, [ebp+var_4] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax push 0 mov eax, ds:off_1B298 mov eax, [eax] call eax mov [ebp+var_C], eax cmp [ebp+var_C], 0 jz short loc_165A0 mov eax, [ebp+var_24] mov [ebp+var_10], eax push 0DBBA0Dh mov eax, [ebp+var_10] push eax mov eax, ds:off_1B258 mov eax, [eax] call eax mov [ebp+var_14], eax cmp [ebp+var_14], 102h jnz short loc_1659C mov eax, [ebp+var_14] push eax mov eax, [ebp+var_10] push eax mov eax, ds:off_1B17C mov eax, [eax] call eax jmp short loc_165A0 ; --------------------------------------------------------------------------- loc_1659C: ; CODE XREF: sub_164D8+AFj mov [ebp+var_5], 1 loc_165A0: ; CODE XREF: sub_164D8+8Bj ; sub_164D8+C2j xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_165BD loc_165AD: ; CODE XREF: sub_164D8+E3j lea eax, [ebp+var_4] call sub_11C00 retn ; --------------------------------------------------------------------------- loc_165B6: ; DATA XREF: sub_164D8+14o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_165AD ; --------------------------------------------------------------------------- loc_165BD: ; CODE XREF: sub_164D8+DDj ; DATA XREF: sub_164D8+D0o mov al, [ebp+var_5] mov esp, ebp pop ebp retn sub_164D8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_165C4 proc near ; CODE XREF: ServiceMain:loc_1A00Fp var_1F8 = dword ptr -1F8h var_1F4 = dword ptr -1F4h var_1F0 = dword ptr -1F0h var_1EC = dword ptr -1ECh var_1E8 = byte ptr -1E8h var_1E4 = dword ptr -1E4h var_1E0 = dword ptr -1E0h var_1DC = dword ptr -1DCh var_1D8 = dword ptr -1D8h var_1D4 = dword ptr -1D4h var_1D0 = dword ptr -1D0h var_1CC = dword ptr -1CCh var_1C8 = dword ptr -1C8h var_1C4 = dword ptr -1C4h var_1C0 = byte ptr -1C0h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_21 = byte ptr -21h var_20 = dword ptr -20h var_1A = byte ptr -1Ah var_19 = byte ptr -19h var_18 = qword ptr -18h var_10 = qword ptr -10h var_4 = dword ptr -4 push ebp mov ebp, esp mov ecx, 3Fh loc_165CC: ; CODE XREF: sub_165C4+Dj push 0 push 0 dec ecx jnz short loc_165CC push ebx push esi push edi xor eax, eax push ebp push offset loc_16A17 push dword ptr fs:[eax] mov fs:[eax], esp xor eax, eax mov [ebp+var_4], eax lea eax, [ebp+var_1C0] push eax xor edx, edx mov al, 2 call @Windows@MakeWord$qqrucuc ; Windows::MakeWord(uchar,uchar) push eax mov eax, ds:off_1B15C mov eax, [eax] call eax call sub_15774 xor eax, eax push ebp push offset loc_169E2 push dword ptr fs:[eax] mov fs:[eax], esp lea eax, [ebp+var_1C4] push eax mov eax, ds:off_1B0D8 mov eax, [eax] mov ecx, 2 mov edx, 1 call @System@@LStrCopy$qqrv ; System::__linkproc__ LStrCopy(void) mov ecx, [ebp+var_1C4] mov edx, ds:off_1B128 mov edx, [edx] lea eax, [ebp+var_2C] call @System@@LStrCat3$qqrv ; System::__linkproc__ LStrCat3(void) mov edx, ds:off_1B2E4 mov edx, [edx] lea eax, [ebp+var_30] mov ecx, offset _str_a.Text call @System@@LStrCat3$qqrv ; System::__linkproc__ LStrCat3(void) lea ecx, [ebp+var_1C8] mov edx, ds:off_1B154 mov dx, [edx] mov eax, [ebp+var_30] call sub_140D0 mov edx, [ebp+var_1C8] mov eax, [ebp+var_2C] call sub_157D4 mov edx, ds:off_1B230 mov edx, [edx] mov eax, ds:off_1B1F8 mov eax, [eax] call sub_15B40 xor eax, eax mov [ebp+var_4], eax xor eax, eax mov dword ptr [ebp+var_10], eax mov dword ptr [ebp+var_10+4], eax mov eax, ds:off_1B2D0 cmp byte ptr [eax], 0 jz short loc_166BB xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx jmp loc_169EC ; --------------------------------------------------------------------------- loc_166BB: ; CODE XREF: sub_165C4+E8j mov eax, offset _str_1.Text call sub_15D84 loc_166C5: ; CODE XREF: sub_165C4+136j mov eax, ds:off_1B2D0 cmp byte ptr [eax], 0 jz short loc_166DC xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx jmp loc_169EC ; --------------------------------------------------------------------------- loc_166DC: ; CODE XREF: sub_165C4+109j call sub_157B0 fstp [ebp+var_18] wait fld [ebp+var_10] fcomp [ebp+var_18] fnstsw ax sahf jnz short loc_166FC mov eax, 7530h call sub_16B30 jmp short loc_166C5 ; --------------------------------------------------------------------------- loc_166FC: ; CODE XREF: sub_165C4+12Aj mov eax, offset _str_2.Text call sub_15D84 mov eax, 2710h call sub_11304 add eax, 7D0h call sub_16B30 loc_1671A: ; CODE XREF: sub_165C4+185j mov eax, ds:off_1B2D0 cmp byte ptr [eax], 0 jz short loc_16731 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx jmp loc_169EC ; --------------------------------------------------------------------------- loc_16731: ; CODE XREF: sub_165C4+15Ej call sub_15AA4 mov [ebp+var_21], al cmp [ebp+var_21], 0 jz short loc_1674B mov eax, 4E21h call sub_16B30 jmp short loc_1671A ; --------------------------------------------------------------------------- loc_1674B: ; CODE XREF: sub_165C4+179j mov eax, offset _str_3.Text call sub_15D84 call sub_159C0 mov eax, offset _str_4.Text call sub_15D84 mov eax, 32h call sub_11304 add eax, 0Ah mov [ebp+var_20], eax imul eax, [ebp+var_20], 3E8h call sub_16B30 lea eax, [ebp+var_1CC] call sub_15CA4 mov edx, [ebp+var_1CC] mov eax, ds:off_1B0D4 mov eax, [eax] call sub_130D0 lea edx, [ebp+var_1D0] mov eax, ds:off_1B0D4 mov eax, [eax] call sub_13420 mov eax, [ebp+var_1D0] call sub_15D84 lea eax, [ebp+var_19] call sub_16134 mov [ebp+var_1A], al mov eax, offset _str_5.Text call sub_15D84 cmp [ebp+var_1A], 0 jz loc_16899 cmp [ebp+var_19], 0 jz loc_16899 mov ecx, ds:off_1B1B4 mov ecx, [ecx] mov edx, ds:off_1B248 mov edx, [edx] lea eax, [ebp+var_1D4] call @System@@LStrCat3$qqrv ; System::__linkproc__ LStrCat3(void) mov edx, [ebp+var_1D4] mov eax, ds:off_1B2BC mov eax, [eax] mov cl, 1 call sub_161F4 mov ecx, ds:off_1B1B4 mov ecx, [ecx] mov edx, ds:off_1B248 mov edx, [edx] lea eax, [ebp+var_1D8] call @System@@LStrCat3$qqrv ; System::__linkproc__ LStrCat3(void) mov eax, [ebp+var_1D8] lea edx, [ebp+var_28] call sub_16B44 cmp [ebp+var_28], 0 jnz short loc_16899 mov ecx, ds:off_1B1B4 mov ecx, [ecx] mov edx, ds:off_1B248 mov edx, [edx] lea eax, [ebp+var_1DC] call @System@@LStrCat3$qqrv ; System::__linkproc__ LStrCat3(void) mov edx, [ebp+var_1DC] mov eax, ds:off_1B210 mov eax, [eax] mov cl, 1 call sub_161F4 mov ecx, ds:off_1B1B4 mov ecx, [ecx] mov edx, ds:off_1B248 mov edx, [edx] lea eax, [ebp+var_1E0] call @System@@LStrCat3$qqrv ; System::__linkproc__ LStrCat3(void) mov eax, [ebp+var_1E0] lea edx, [ebp+var_28] call sub_16B44 loc_16899: ; CODE XREF: sub_165C4+20Fj ; sub_165C4+219j ... mov eax, offset _str_6.Text call sub_15D84 mov ecx, ds:off_1B1B4 mov ecx, [ecx] mov edx, ds:off_1B248 mov edx, [edx] lea eax, [ebp+var_1E4] call @System@@LStrCat3$qqrv ; System::__linkproc__ LStrCat3(void) mov eax, [ebp+var_1E4] lea edx, [ebp+var_28] call sub_16B44 cmp [ebp+var_28], 0 jz loc_169D8 mov eax, offset _str_7.Text call sub_15D84 mov ecx, ds:off_1B1B4 mov ecx, [ecx] mov edx, ds:off_1B248 mov edx, [edx] lea eax, [ebp+var_1EC] call @System@@LStrCat3$qqrv ; System::__linkproc__ LStrCat3(void) mov eax, [ebp+var_1EC] lea edx, [ebp+var_1E8] call sub_17030 mov eax, ds:off_1B2B8 mov eax, [eax] call sub_164D8 test al, al jz short loc_16958 mov edx, ds:off_1B2E4 mov edx, [edx] lea eax, [ebp+var_30] mov ecx, offset _str_T.Text call @System@@LStrCat3$qqrv ; System::__linkproc__ LStrCat3(void) lea ecx, [ebp+var_1F0] mov edx, ds:off_1B154 mov dx, [edx] mov eax, [ebp+var_30] call sub_140D0 mov edx, [ebp+var_1F0] mov eax, [ebp+var_2C] call sub_157D4 jmp short loc_16992 ; --------------------------------------------------------------------------- loc_16958: ; CODE XREF: sub_165C4+356j mov edx, ds:off_1B2E4 mov edx, [edx] lea eax, [ebp+var_30] mov ecx, offset _str_F.Text call @System@@LStrCat3$qqrv ; System::__linkproc__ LStrCat3(void) lea ecx, [ebp+var_1F4] mov edx, ds:off_1B154 mov dx, [edx] mov eax, [ebp+var_30] call sub_140D0 mov edx, [ebp+var_1F4] mov eax, [ebp+var_2C] call sub_157D4 loc_16992: ; CODE XREF: sub_165C4+392j mov eax, offset _str_8.Text call sub_15D84 call sub_157B0 fstp [ebp+var_10] wait lea eax, [ebp+var_1F8] push eax mov eax, ds:off_1B0D8 mov eax, [eax] mov ecx, 2 mov edx, 1 call @System@@LStrCopy$qqrv ; System::__linkproc__ LStrCopy(void) mov ecx, [ebp+var_1F8] mov edx, ds:off_1B128 mov edx, [edx] lea eax, [ebp+var_2C] call @System@@LStrCat3$qqrv ; System::__linkproc__ LStrCat3(void) loc_169D8: ; CODE XREF: sub_165C4+30Cj xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx jmp short loc_169EC ; --------------------------------------------------------------------------- loc_169E2: ; DATA XREF: sub_165C4+47o jmp loc_1161C ; --------------------------------------------------------------------------- call @System@@DoneExcept$qqrv ; System::__linkproc__ DoneExcept(void) loc_169EC: ; CODE XREF: sub_165C4+F2j ; sub_165C4+113j ... xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_16A1E loc_169F9: ; CODE XREF: sub_165C4+458j lea eax, [ebp+var_1F8] mov edx, 0Eh call sub_11C24 lea eax, [ebp+var_30] mov edx, 3 call sub_11C24 retn ; --------------------------------------------------------------------------- loc_16A17: ; DATA XREF: sub_165C4+15o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_169F9 ; --------------------------------------------------------------------------- loc_16A1E: ; CODE XREF: sub_165C4+452j ; DATA XREF: sub_165C4+430o mov eax, [ebp+var_4] pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_165C4 endp ; --------------------------------------------------------------------------- _str_a dd 0FFFFFFFFh ; _top ; DATA XREF: sub_165C4+90o dd 1 ; Len db 'a',0 ; Text align 4 _str_1 dd 0FFFFFFFFh ; _top ; DATA XREF: sub_165C4:loc_166BBo dd 1 ; Len db '1',0 ; Text align 10h _str_2 dd 0FFFFFFFFh ; _top ; DATA XREF: sub_165C4:loc_166FCo dd 1 ; Len db '2',0 ; Text align 4 _str_3 dd 0FFFFFFFFh ; _top ; DATA XREF: sub_165C4:loc_1674Bo dd 1 ; Len db '3',0 ; Text align 4 _str_4 dd 0FFFFFFFFh ; _top ; DATA XREF: sub_165C4+196o dd 1 ; Len db '4',0 ; Text align 4 _str_5 dd 0FFFFFFFFh ; _top ; DATA XREF: sub_165C4+201o dd 1 ; Len db '5',0 ; Text align 10h _str_6 dd 0FFFFFFFFh ; _top ; DATA XREF: sub_165C4:loc_16899o dd 1 ; Len db '6',0 ; Text align 4 _str_7 dd 0FFFFFFFFh ; _top ; DATA XREF: sub_165C4+312o dd 1 ; Len db '7',0 ; Text align 4 _str_T dd 0FFFFFFFFh ; _top ; DATA XREF: sub_165C4+363o dd 1 ; Len db 'T',0 ; Text align 4 _str_F dd 0FFFFFFFFh ; _top ; DATA XREF: sub_165C4+39Fo dd 1 ; Len db 'F',0 ; Text align 10h _str_8 dd 0FFFFFFFFh ; _top ; DATA XREF: sub_165C4:loc_16992o dd 1 ; Len db '8',0 ; Text align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_16AAC proc near ; DATA XREF: CODE:0001A0E4o push ebp mov ebp, esp xor eax, eax push ebp push offset loc_16AD1 push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_1C244 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_16AD8 loc_16AD0: ; CODE XREF: sub_16AAC+2Aj retn ; --------------------------------------------------------------------------- loc_16AD1: ; DATA XREF: sub_16AAC+6o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_16AD0 ; --------------------------------------------------------------------------- loc_16AD8: ; CODE XREF: sub_16AAC:loc_16AD0j ; DATA XREF: sub_16AAC+1Fo pop ebp retn sub_16AAC endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_16ADC proc near ; DATA XREF: CODE:0001A0E0o sub ds:dword_1C244, 1 retn sub_16ADC endp ; [00000024 BYTES: COLLAPSED FUNCTION Dateutils::DayOf(System::TDateTime). PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __stdcall sub_16B08(double, double) sub_16B08 proc near ; CODE XREF: sub_15AA4+36p var_8 = qword ptr -8 arg_0 = qword ptr 8 arg_8 = qword ptr 10h push ebp mov ebp, esp add esp, 0FFFFFFF8h fld [ebp+arg_8] fsub [ebp+arg_0] fabs fmul flt_16B2C fstp [ebp+var_8] wait fld [ebp+var_8] pop ecx pop ecx pop ebp retn 10h sub_16B08 endp ; --------------------------------------------------------------------------- align 4 flt_16B2C dd 2.4e1 ; DATA XREF: sub_16B08+Er ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_16B30 proc near ; CODE XREF: sub_15394+B7p ; sub_15524+B4p ... var_4 = dword ptr -4 push ebp mov ebp, esp push ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] push eax call ds:dword_1C2C8 pop ecx pop ebp retn sub_16B30 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_16B44 proc near ; CODE XREF: sub_16134+63p ; sub_161F4+177p ... var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFF4h push ebx push esi push edi mov [ebp+var_8], edx mov [ebp+var_4], eax mov eax, [ebp+var_4] call sub_11FA8 xor eax, eax push ebp push offset loc_16C1F push dword ptr fs:[eax] mov fs:[eax], esp mov eax, [ebp+var_8] call sub_11C00 xor eax, eax mov [ebp+var_C], eax xor eax, eax push ebp push offset loc_16C02 push dword ptr fs:[eax] mov fs:[eax], esp xor eax, eax push ebp push offset loc_16BD4 push dword ptr fs:[eax] mov fs:[eax], esp mov eax, [ebp+var_4] call sub_13374 test al, al jnz short loc_16BAD xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx call @System@@TryFinallyExit$qqrv ; System::__linkproc__ TryFinallyExit(void) jmp short loc_16C09 ; --------------------------------------------------------------------------- loc_16BAD: ; CODE XREF: sub_16B44+58j mov ecx, [ebp+var_4] mov dl, 1 mov eax, off_143D4 call sub_14448 mov [ebp+var_C], eax mov edx, [ebp+var_8] mov eax, [ebp+var_C] call sub_148CC xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx jmp short loc_16BE6 ; --------------------------------------------------------------------------- loc_16BD4: ; DATA XREF: sub_16B44+43o jmp loc_1161C ; --------------------------------------------------------------------------- mov eax, [ebp+var_8] call sub_11C00 call @System@@DoneExcept$qqrv ; System::__linkproc__ DoneExcept(void) loc_16BE6: ; CODE XREF: sub_16B44+8Ej xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_16C09 loc_16BF3: ; CODE XREF: sub_16B44+C3j cmp [ebp+var_C], 0 jz short loc_16C01 mov eax, [ebp+var_C] call sub_113F4 loc_16C01: ; CODE XREF: sub_16B44+B3j retn ; --------------------------------------------------------------------------- loc_16C02: ; DATA XREF: sub_16B44+35o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_16BF3 ; --------------------------------------------------------------------------- loc_16C09: ; CODE XREF: sub_16B44+67j ; sub_16B44:loc_16C01j ; DATA XREF: ... xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_16C26 loc_16C16: ; CODE XREF: sub_16B44+E0j lea eax, [ebp+var_4] call sub_11C00 retn ; --------------------------------------------------------------------------- loc_16C1F: ; DATA XREF: sub_16B44+1Ao jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_16C16 ; --------------------------------------------------------------------------- loc_16C26: ; CODE XREF: sub_16B44+DAj ; DATA XREF: sub_16B44+CDo pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_16B44 endp ; --------------------------------------------------------------------------- align 10h ; [00000088 BYTES: COLLAPSED FUNCTION Adaptreq::TBasicActionResponseImpl::HandleResponse(void). PRESS KEYPAD "+" TO EXPAND] _str___2 dd 0FFFFFFFFh ; _top ; DATA XREF: Adaptreq::TBasicActionResponseImpl::HandleResponse(void)+5Ao dd 1 ; Len db '\',0 ; Text align 4 ; [000000A2 BYTES: COLLAPSED FUNCTION sub_16CC4. PRESS KEYPAD "+" TO EXPAND] align 4 ; [000000A7 BYTES: COLLAPSED FUNCTION sub_16D68. PRESS KEYPAD "+" TO EXPAND] align 10h _str___3 dd 0FFFFFFFFh ; _top ; DATA XREF: sub_16D68+6Co dd 1 ; Len db '\',0 ; Text align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_16E1C proc near ; CODE XREF: sub_191D4+6F0p var_20 = dword ptr -20h var_1C = dword ptr -1Ch hLibModule = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_6 = byte ptr -6 var_5 = byte ptr -5 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFE0h push ebx xor edx, edx mov [ebp+var_20], edx mov [ebp+var_1C], edx mov [ebp+var_C], edx mov [ebp+var_14], edx mov [ebp+var_4], eax xor eax, eax push ebp push offset loc_16FA4 push dword ptr fs:[eax] mov fs:[eax], esp mov eax, [ebp+var_4] call sub_11C00 mov [ebp+var_5], 0 xor eax, eax push ebp push offset loc_16F72 push dword ptr fs:[eax] mov fs:[eax], esp inc [ebp+var_10] lea eax, [ebp+var_C] mov edx, ds:off_1B0F8 mov edx, [edx] call sub_11C98 mov eax, 4E40h call sub_11304 mov ebx, eax add ebx, 2744h mov eax, (offset _str_10140714.Len+1) call sub_11304 add ebx, eax mov eax, ebx lea edx, [ebp+var_1C] call sub_131F8 mov edx, [ebp+var_1C] lea eax, [ebp+var_C] call @System@@LStrCat$qqrv ; System::__linkproc__ LStrCat(void) lea eax, [ebp+var_C] mov edx, ds:off_1B1F0 mov edx, [edx] call @System@@LStrCat$qqrv ; System::__linkproc__ LStrCat(void) lea eax, [ebp+var_20] call sub_16D68 mov edx, [ebp+var_20] lea eax, [ebp+var_14] mov ecx, [ebp+var_C] call @System@@LStrCat3$qqrv ; System::__linkproc__ LStrCat3(void) sub [ebp+var_10], 51h mov [ebp+var_5], 0 mov eax, [ebp+var_14] call sub_16CC4 mov [ebp+var_6], al cmp [ebp+var_6], 0 jz short loc_16F3C mov eax, [ebp+var_14] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpLibFileName call LoadLibraryA ; LoadLibraryA mov [ebp+hLibModule], eax cmp [ebp+hLibModule], 0 jz short loc_16F33 add [ebp+var_10], 40h mov eax, ds:off_1B0F4 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+hLibModule] push eax ; hModule call GetProcAddress ; GetProcAddress mov ds:dword_1C2A8, eax cmp ds:dword_1C2A8, 0 jnz short loc_16F40 add [ebp+var_10], 8 mov [ebp+var_5], 1 mov eax, [ebp+hLibModule] push eax ; hLibModule call FreeLibrary_0 jmp short loc_16F40 ; --------------------------------------------------------------------------- loc_16F33: ; CODE XREF: sub_16E1C+DAj inc [ebp+var_10] mov [ebp+var_5], 1 jmp short loc_16F40 ; --------------------------------------------------------------------------- loc_16F3C: ; CODE XREF: sub_16E1C+C3j mov [ebp+var_5], 1 loc_16F40: ; CODE XREF: sub_16E1C+102j ; sub_16E1C+115j ... xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_16F79 loc_16F4D: ; CODE XREF: sub_16E1C+15Bj sub [ebp+var_10], 3Fh lea eax, [ebp+var_14] mov edx, offset _str______.Text call @System@@LStrCat$qqrv ; System::__linkproc__ LStrCat(void) sub [ebp+var_10], 2 mov edx, [ebp+var_4] mov eax, [ebp+var_14] call sub_132AC sub [ebp+var_10], 36h retn ; --------------------------------------------------------------------------- loc_16F72: ; DATA XREF: sub_16E1C+35o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_16F4D ; --------------------------------------------------------------------------- loc_16F79: ; CODE XREF: sub_16E1C+155j ; DATA XREF: sub_16E1C+12Co xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_16FAB loc_16F86: ; CODE XREF: sub_16E1C+18Dj lea eax, [ebp+var_20] mov edx, 2 call sub_11C24 lea eax, [ebp+var_14] call sub_11C00 lea eax, [ebp+var_C] call sub_11C00 retn ; --------------------------------------------------------------------------- loc_16FA4: ; DATA XREF: sub_16E1C+1Bo jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_16F86 ; --------------------------------------------------------------------------- loc_16FAB: ; CODE XREF: sub_16E1C+187j ; DATA XREF: sub_16E1C+165o pop ebx mov esp, ebp pop ebp retn sub_16E1C endp ; --------------------------------------------------------------------------- _str______ dd 0FFFFFFFFh ; _top ; DATA XREF: sub_16E1C+138o dd 5 ; Len db ' ',0 ; Text align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_16FC0 proc near ; CODE XREF: sub_17030+8Ep var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFF4h mov [ebp+var_8], edx mov [ebp+var_4], eax mov [ebp+var_C], 0FFFFFFFFh mov eax, [ebp+var_8] and eax, 3 cmp eax, 2 ja short loc_17029 mov eax, [ebp+var_8] and eax, 0F0h cmp eax, 40h ja short loc_17029 push 0 push 80h push 3 push 0 mov eax, [ebp+var_8] and eax, 0F0h shr eax, 4 mov eax, ds:dword_1B0B4[eax*4] push eax mov eax, [ebp+var_8] and eax, 3 mov eax, ds:dword_1B0A8[eax*4] push eax mov eax, [ebp+var_4] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax call ds:dword_1C24C mov [ebp+var_C], eax loc_17029: ; CODE XREF: sub_16FC0+1Cj ; sub_16FC0+29j mov eax, [ebp+var_C] mov esp, ebp pop ebp retn sub_16FC0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_17030 proc near ; CODE XREF: sub_161F4+250p ; sub_165C4+343p var_15C = dword ptr -15Ch var_158 = byte ptr -158h var_144 = dword ptr -144h var_140 = dword ptr -140h var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFEA4h xor ecx, ecx mov [ebp+var_15C], ecx mov [ebp+var_18], edx mov [ebp+var_4], eax mov eax, [ebp+var_4] call sub_11FA8 xor eax, eax push ebp push offset loc_1710D push dword ptr fs:[eax] mov fs:[eax], esp lea eax, [ebp+var_158] push eax mov ecx, ds:off_1B0D0 mov ecx, [ecx] mov edx, ds:off_1B248 mov edx, [edx] lea eax, [ebp+var_15C] call @System@@LStrCat3$qqrv ; System::__linkproc__ LStrCat3(void) mov eax, [ebp+var_15C] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax call ds:dword_1C2CC mov [ebp+var_8], eax cmp [ebp+var_8], 0FFFFFFFFh jz short loc_170EC mov eax, [ebp+var_144] mov [ebp+var_14], eax mov eax, [ebp+var_140] mov [ebp+var_10], eax mov eax, [ebp+var_8] push eax call ds:dword_1C2D0 mov edx, 41h mov eax, [ebp+var_4] call sub_16FC0 mov [ebp+var_C], eax cmp [ebp+var_C], 0 jbe short loc_170EC lea eax, [ebp+var_14] push eax lea eax, [ebp+var_14] push eax lea eax, [ebp+var_14] push eax mov eax, [ebp+var_C] push eax call ds:dword_1C2D4 mov eax, [ebp+var_C] push eax call ds:dword_1C2D8 loc_170EC: ; CODE XREF: sub_17030+68j ; sub_17030+9Aj xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_17114 loc_170F9: ; CODE XREF: sub_17030+E2j lea eax, [ebp+var_15C] call sub_11C00 lea eax, [ebp+var_4] call sub_11C00 retn ; --------------------------------------------------------------------------- loc_1710D: ; DATA XREF: sub_17030+22o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_170F9 ; --------------------------------------------------------------------------- loc_17114: ; CODE XREF: sub_17030+DCj ; DATA XREF: sub_17030+C4o mov esp, ebp pop ebp retn sub_17030 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_17118 proc near ; CODE XREF: sub_191D4+6C6p var_8 = dword ptr -8 var_4 = dword ptr -4 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_1718D push dword ptr fs:[eax] mov fs:[eax], esp lea edx, [ebp+var_8] mov eax, ds:off_1B138 mov eax, [eax] call sub_15864 cmp [ebp+var_8], 0 jz short loc_17156 mov eax, [ebp+var_4] mov edx, [ebp+var_8] call sub_11C54 jmp short loc_17177 ; --------------------------------------------------------------------------- loc_17156: ; CODE XREF: sub_17118+2Fj mov eax, [ebp+var_4] mov edx, ds:off_1B2A0 mov edx, [edx] call sub_11C54 mov edx, [ebp+var_4] mov edx, [edx] mov eax, ds:off_1B138 mov eax, [eax] call sub_157D4 loc_17177: ; CODE XREF: sub_17118+3Cj xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_17194 loc_17184: ; CODE XREF: sub_17118+7Aj lea eax, [ebp+var_8] call sub_11C00 retn ; --------------------------------------------------------------------------- loc_1718D: ; DATA XREF: sub_17118+11o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_17184 ; --------------------------------------------------------------------------- loc_17194: ; CODE XREF: sub_17118+74j ; DATA XREF: sub_17118+67o pop ecx pop ecx pop ebp retn sub_17118 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_17198 proc near ; DATA XREF: CODE:0001A0ECo push ebp mov ebp, esp xor eax, eax push ebp push offset loc_171BD push dword ptr fs:[eax] mov fs:[eax], esp inc ds:dword_1C318 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_171C4 loc_171BC: ; CODE XREF: sub_17198+2Aj retn ; --------------------------------------------------------------------------- loc_171BD: ; DATA XREF: sub_17198+6o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_171BC ; --------------------------------------------------------------------------- loc_171C4: ; CODE XREF: sub_17198:loc_171BCj ; DATA XREF: sub_17198+1Fo pop ebp retn sub_17198 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_171C8 proc near ; DATA XREF: CODE:0001A0E8o sub ds:dword_1C318, 1 retn sub_171C8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_171D0 proc near ; DATA XREF: CODE:0001A108o var_4 = dword ptr -4 push ebp mov ebp, esp push ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] pop ecx pop ebp retn sub_171D0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_171E0 proc near ; CODE XREF: sub_17240+3Ap ; sub_17240+53p ... var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFD4h mov [ebp+var_C], ecx mov [ebp+var_8], edx mov [ebp+var_4], eax mov [ebp+var_2C], 20h mov eax, [ebp+var_4] mov ds:dword_1C320, eax mov eax, [ebp+var_4] mov [ebp+var_28], eax mov [ebp+var_24], 7 mov eax, [ebp+var_8] mov [ebp+var_20], eax xor eax, eax mov [ebp+var_1C], eax mov eax, [ebp+var_C] mov [ebp+var_18], eax mov [ebp+var_14], 0BB8h lea eax, [ebp+var_2C] push eax mov eax, ds:dword_1C31C push eax mov eax, ds:off_1B20C mov eax, [eax] call eax mov [ebp+var_10], eax mov eax, [ebp+var_10] mov esp, ebp pop ebp retn sub_171E0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_17240 proc near ; DATA XREF: ServiceMain+14o arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] cmp eax, 5 ; switch 6 cases ja loc_172FA ; default ; jumptable 0001724F case 0 jmp off_17256[eax*4] ; switch jump ; --------------------------------------------------------------------------- off_17256 dd offset loc_172FA ; DATA XREF: sub_17240+Fr dd offset loc_1726E ; jump table for switch statement dd offset loc_1729A dd offset loc_172BB dd offset loc_172DC dd offset loc_172EC ; --------------------------------------------------------------------------- loc_1726E: ; CODE XREF: sub_17240+Fj ; DATA XREF: sub_17240:off_17256o mov ecx, 1 ; jumptable 0001724F case 1 xor edx, edx mov eax, 3 call sub_171E0 push 0Ah mov eax, ds:off_1B1E4 mov eax, [eax] call eax xor ecx, ecx xor edx, edx mov eax, 1 call sub_171E0 jmp short loc_172FA ; default ; jumptable 0001724F case 0 ; --------------------------------------------------------------------------- loc_1729A: ; CODE XREF: sub_17240+Fj ; DATA XREF: sub_17240:off_17256o mov ecx, 1 ; jumptable 0001724F case 2 xor edx, edx mov eax, 6 call sub_171E0 xor ecx, ecx xor edx, edx mov eax, 7 call sub_171E0 jmp short loc_172FA ; default ; jumptable 0001724F case 0 ; --------------------------------------------------------------------------- loc_172BB: ; CODE XREF: sub_17240+Fj ; DATA XREF: sub_17240:off_17256o mov ecx, 1 ; jumptable 0001724F case 3 xor edx, edx mov eax, 5 call sub_171E0 xor ecx, ecx xor edx, edx mov eax, 4 call sub_171E0 jmp short loc_172FA ; default ; jumptable 0001724F case 0 ; --------------------------------------------------------------------------- loc_172DC: ; CODE XREF: sub_17240+Fj ; DATA XREF: sub_17240:off_17256o xor ecx, ecx ; jumptable 0001724F case 4 xor edx, edx mov eax, ds:dword_1C320 call sub_171E0 jmp short loc_172FA ; default ; jumptable 0001724F case 0 ; --------------------------------------------------------------------------- loc_172EC: ; CODE XREF: sub_17240+Fj ; DATA XREF: sub_17240:off_17256o xor ecx, ecx ; jumptable 0001724F case 5 xor edx, edx mov eax, 1 call sub_171E0 loc_172FA: ; CODE XREF: sub_17240+9j sub_17240+Fj ... pop ebp ; default ; jumptable 0001724F case 0 retn 4 sub_17240 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_17300 proc near ; CODE XREF: r+20p ServiceMain+5p var_188 = dword ptr -188h var_184 = dword ptr -184h var_180 = dword ptr -180h var_17C = dword ptr -17Ch var_178 = dword ptr -178h var_174 = dword ptr -174h var_170 = dword ptr -170h var_16C = dword ptr -16Ch var_168 = dword ptr -168h var_164 = dword ptr -164h var_160 = dword ptr -160h var_15C = dword ptr -15Ch var_158 = dword ptr -158h var_154 = dword ptr -154h var_150 = dword ptr -150h var_14C = dword ptr -14Ch var_148 = dword ptr -148h var_144 = dword ptr -144h var_140 = dword ptr -140h var_13C = dword ptr -13Ch var_138 = dword ptr -138h var_134 = dword ptr -134h var_130 = dword ptr -130h var_12C = dword ptr -12Ch var_128 = dword ptr -128h var_124 = dword ptr -124h var_120 = dword ptr -120h var_11C = dword ptr -11Ch var_118 = dword ptr -118h var_114 = dword ptr -114h var_110 = dword ptr -110h var_10C = dword ptr -10Ch var_108 = dword ptr -108h var_104 = dword ptr -104h var_100 = dword ptr -100h var_FC = dword ptr -0FCh var_F8 = dword ptr -0F8h var_F4 = dword ptr -0F4h var_F0 = dword ptr -0F0h var_EC = dword ptr -0ECh var_E8 = dword ptr -0E8h var_E4 = dword ptr -0E4h var_E0 = dword ptr -0E0h var_DC = dword ptr -0DCh var_D8 = dword ptr -0D8h var_D4 = dword ptr -0D4h var_D0 = dword ptr -0D0h var_CC = dword ptr -0CCh var_C8 = dword ptr -0C8h var_C4 = dword ptr -0C4h var_C0 = dword ptr -0C0h var_BC = dword ptr -0BCh var_B8 = dword ptr -0B8h var_B4 = dword ptr -0B4h var_B0 = dword ptr -0B0h var_AC = dword ptr -0ACh var_A8 = dword ptr -0A8h var_A4 = dword ptr -0A4h var_A0 = dword ptr -0A0h var_9C = dword ptr -9Ch var_98 = dword ptr -98h var_94 = dword ptr -94h var_90 = dword ptr -90h var_8C = dword ptr -8Ch var_88 = dword ptr -88h var_84 = dword ptr -84h var_80 = dword ptr -80h var_7C = dword ptr -7Ch var_78 = dword ptr -78h var_74 = dword ptr -74h var_70 = dword ptr -70h var_6C = dword ptr -6Ch var_68 = dword ptr -68h var_64 = dword ptr -64h var_60 = dword ptr -60h var_5C = dword ptr -5Ch var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp mov ecx, 31h loc_17308: ; CODE XREF: sub_17300+Dj push 0 push 0 dec ecx jnz short loc_17308 mov [ebp+var_10], eax xor eax, eax push ebp push offset loc_181CF push dword ptr fs:[eax] mov fs:[eax], esp mov [ebp+var_4], 1 lea eax, [ebp+var_8] push eax xor ecx, ecx mov edx, 85B2h mov eax, offset a9udbfa ; "9udbfA" call sub_1432C mov eax, [ebp+var_8] call sub_13260 mov edx, ds:off_1B230 mov [edx], eax lea eax, [ebp+var_C] push eax xor ecx, ecx mov edx, 85B3h mov eax, offset a0wetUf ; "0WEt/UF" call sub_1432C mov eax, [ebp+var_C] call sub_13260 mov edx, ds:off_1B154 mov [edx], eax lea eax, [ebp+var_14] push eax xor ecx, ecx mov edx, 85B4h mov eax, offset aKp5dpQh8hdty9f ; "kP5dp/Qh8HDty9F9" call sub_1432C mov edx, [ebp+var_14] mov eax, ds:off_1B184 call sub_11C54 lea eax, [ebp+var_18] push eax xor ecx, ecx mov edx, 85B5h mov eax, offset aXIrfiex5vvgm0c ; "X/iRfiex5VVgm0Cmz8GI" call sub_1432C mov edx, [ebp+var_18] mov eax, ds:off_1B318 call sub_11C54 lea eax, [ebp+var_1C] push eax xor ecx, ecx mov edx, 85B6h mov eax, offset aX3nxi8gonqlBmx ; "X3nxI8GoNQL/BMX2URG" call sub_1432C mov edx, [ebp+var_1C] mov eax, ds:off_1B1F4 call sub_11C54 lea eax, [ebp+var_20] push eax xor ecx, ecx mov edx, 85B7h mov eax, offset aXlij4gonh8xdpb ; "XLIJ4GoNh8xDpbG" call sub_1432C mov edx, [ebp+var_20] mov eax, ds:off_1B264 call sub_11C54 lea eax, [ebp+var_24] push eax xor ecx, ecx mov edx, 85B8h mov eax, offset aXdnprsrjuinbad ; "XDNprsRjUInbAdst3IU0wB" call sub_1432C mov edx, [ebp+var_24] mov eax, ds:off_1B1DC call sub_11C54 lea eax, [ebp+var_28] push eax xor ecx, ecx mov edx, 85B9h mov eax, offset aXhedd1pkttsu7p ; "XHedd1pkttSU7pI" call sub_1432C mov edx, [ebp+var_28] mov eax, ds:off_1B1D8 call sub_11C54 lea eax, [ebp+var_2C] push eax xor ecx, ecx mov edx, 85BAh mov eax, offset aXfzDjhnflqiwet ; "Xfz/DJhNfLQiwETyDA" call sub_1432C mov edx, [ebp+var_2C] mov eax, ds:off_1B260 call sub_11C54 lea eax, [ebp+var_30] push eax xor ecx, ecx mov edx, 85BBh mov eax, offset aW3x5xloPn3dqa7 ; "W3x5Xlo/pN3DQa7k51w6pckjR9DbZWdqw90hRki"... call sub_1432C mov edx, [ebp+var_30] mov eax, ds:off_1B130 call sub_11C54 lea eax, [ebp+var_34] push eax xor ecx, ecx mov edx, 85BCh mov eax, offset aGacimveqxypyrw ; "gacimvEQxypyRWa94Tb8HFSm7XhcF5Ct8DeoUqF"... call sub_1432C mov edx, [ebp+var_34] mov eax, ds:off_1B328 call sub_11C54 lea eax, [ebp+var_38] push eax xor ecx, ecx mov edx, 85BDh mov eax, offset aWdqpu5d7wp6zgq ; "WDqPu5d7WP6zgQTPg/mh6lB9dbhnYgTxhvBplNG"... call sub_1432C mov edx, [ebp+var_38] mov eax, ds:off_1B214 call sub_11C54 lea eax, [ebp+var_3C] push eax xor ecx, ecx mov edx, 85BEh mov eax, offset aGgmyPd2ozQulpm ; "gGmy/Pd2OZ+qULPmCXrIUEKjuFOH5fiJISLFLNB"... call sub_1432C mov edx, [ebp+var_3C] mov eax, ds:off_1B18C call sub_11C54 lea eax, [ebp+var_40] push eax xor ecx, ecx mov edx, 85BFh mov eax, offset aWxtolczhn6hbtr ; "WXtOlcZHN6HbtRyzETO9/RCvkuqTHZx+rF6AH3r"... call sub_1432C mov edx, [ebp+var_40] mov eax, ds:off_1B1C8 call sub_11C54 mov eax, ds:off_1B1B8 mov edx, offset _str_10140714.Text call sub_11C54 mov eax, ds:off_1B128 mov edx, offset _str_m.Text call sub_11C54 lea eax, [ebp+var_44] push eax xor ecx, ecx mov edx, 85C0h mov eax, offset aAvogCr8z4xsa ; "AvOG+cR+8Z4xSA" call sub_1432C mov edx, [ebp+var_44] mov eax, ds:off_1B158 call sub_11C54 lea eax, [ebp+var_48] push eax xor ecx, ecx mov edx, 85C1h mov eax, offset aHt2ajqhh ; "HT2AJqHh" call sub_1432C mov edx, [ebp+var_48] mov eax, ds:off_1B0D8 call sub_11C54 lea eax, [ebp+var_4C] push eax mov eax, ds:off_1B0D8 mov eax, [eax] mov ecx, 2 mov edx, 1 call @System@@LStrCopy$qqrv ; System::__linkproc__ LStrCopy(void) mov edx, [ebp+var_4C] mov ecx, ds:off_1B1B8 mov ecx, [ecx] mov eax, ds:off_1B2E4 call @System@@LStrCat3$qqrv ; System::__linkproc__ LStrCat3(void) lea eax, [ebp+var_50] push eax xor ecx, ecx mov edx, 85C2h mov eax, offset aWjlkwziw17zw4r ; "WjLkWZIw17zW4RSAlIx3yidiFVqqa3pw" call sub_1432C mov edx, [ebp+var_50] mov eax, ds:off_1B1D0 call sub_11C54 lea eax, [ebp+var_54] push eax xor ecx, ecx mov edx, 85C3h mov eax, offset aN3r3r2c2u8o ; "n3R3R2C2U8O" call sub_1432C mov edx, [ebp+var_54] mov eax, ds:off_1B1A0 call sub_11C54 lea eax, [ebp+var_58] push eax xor ecx, ecx mov edx, 85C4h mov eax, offset a06xbczqyep3h8i ; "06xbCzqyEp3H8ibkfaL" call sub_1432C mov edx, [ebp+var_58] mov eax, ds:off_1B1AC call sub_11C54 lea eax, [ebp+var_5C] push eax xor ecx, ecx mov edx, 85C5h mov eax, offset a3olt5mlcimlvbh ; "3Olt5MLcImLvBHCCVB" call sub_1432C mov edx, [ebp+var_5C] mov eax, ds:off_1B0E8 call sub_11C54 lea eax, [ebp+var_60] push eax xor ecx, ecx mov edx, 85C6h mov eax, offset aVrstxrnwrioqxt ; "vrStxRNwrIOQXT8d0dK" call sub_1432C mov edx, [ebp+var_60] mov eax, ds:off_1B2DC call sub_11C54 lea eax, [ebp+var_64] push eax xor ecx, ecx mov edx, 85C7h mov eax, offset aZcpytji4wKmxsj ; "zCPytjI4w/kmxSjvdD" call sub_1432C mov edx, [ebp+var_64] mov eax, ds:off_1B148 call sub_11C54 lea eax, [ebp+var_68] push eax xor ecx, ecx mov edx, 85C8h mov eax, offset aWzqe ; "wzqE" call sub_1432C mov edx, [ebp+var_68] mov eax, ds:off_1B138 call sub_11C54 lea eax, [ebp+var_6C] push eax xor ecx, ecx mov edx, 85C9h mov eax, offset aYpe98aaZowfc7l ; "yPE98Aa/zOwfc7L" call sub_1432C mov edx, [ebp+var_6C] mov eax, ds:off_1B1CC call sub_11C54 lea eax, [ebp+var_70] push eax xor ecx, ecx mov edx, 85CAh mov eax, offset a2ff3uqs8 ; "2fF3uQS8" call sub_1432C mov edx, [ebp+var_70] mov eax, ds:off_1B22C call sub_11C54 lea eax, [ebp+var_74] push eax xor ecx, ecx mov edx, 85CBh mov eax, offset aThbewih ; "tHbEWiH" call sub_1432C mov edx, [ebp+var_74] mov eax, ds:off_1B28C call sub_11C54 lea eax, [ebp+var_78] push eax xor ecx, ecx mov edx, 85CCh mov eax, offset aIhnmnoxrx3rq6q ; "iHNMNOXRx3RQ6Q7jdD" call sub_1432C mov edx, [ebp+var_78] mov eax, ds:off_1B2CC call sub_11C54 lea eax, [ebp+var_7C] push eax xor ecx, ecx mov edx, 85CDh mov eax, offset aO3ix ; "o3iX" call sub_1432C mov edx, [ebp+var_7C] mov eax, ds:off_1B0F8 call sub_11C54 lea eax, [ebp+var_80] push eax xor ecx, ecx mov edx, 85CEh mov eax, offset aRyj3c ; "ryJ/3C" call sub_1432C mov edx, [ebp+var_80] mov eax, ds:off_1B1F0 call sub_11C54 lea eax, [ebp+var_84] push eax xor ecx, ecx mov edx, 85CFh mov eax, offset aWjbn8fAxwp9ka ; "wjBN8f/aXwP9kA" call sub_1432C mov edx, [ebp+var_84] mov eax, ds:off_1B180 call sub_11C54 lea eax, [ebp+var_88] push eax xor ecx, ecx mov edx, 85D0h mov eax, offset aQjzpnemssqum2e ; "QjzPnEMSsqUM2eHIUlGsoCdc" call sub_1432C mov edx, [ebp+var_88] mov eax, ds:off_1B0F4 call sub_11C54 lea eax, [ebp+var_8C] push eax xor ecx, ecx mov edx, 85D1h mov eax, offset aYd9tmo54lvlodz ; "yD9Tmo54lvlODZI" call sub_1432C mov edx, [ebp+var_8C] mov eax, ds:off_1B1CC call sub_11C54 lea eax, [ebp+var_90] push eax xor ecx, ecx mov edx, 85D2h mov eax, offset a27c6ja ; "27c6JA" call sub_1432C mov edx, [ebp+var_90] mov eax, ds:off_1B268 call sub_11C54 lea eax, [ebp+var_94] push eax xor ecx, ecx mov edx, 85D3h mov eax, offset aSdcxoabzfunzsb ; "SDCXoAbZFUnZSB" call sub_1432C mov edx, [ebp+var_94] mov eax, ds:off_1B11C call sub_11C54 lea eax, [ebp+var_98] push eax xor ecx, ecx mov edx, 85D4h mov eax, offset aSlbls7x1hzzspc ; "SLBLS7X1hzZsPC" call sub_1432C mov edx, [ebp+var_98] mov eax, ds:off_1B2E8 call sub_11C54 lea eax, [ebp+var_9C] push eax xor ecx, ecx mov edx, 85D5h mov eax, offset aSzl8erwtqldxih ; "Szl8eRWTqlDXihjl9SF0" call sub_1432C mov edx, [ebp+var_9C] mov eax, ds:off_1B144 call sub_11C54 lea eax, [ebp+var_A0] push eax xor ecx, ecx mov edx, 85D6h mov eax, offset aIdavaeqq1tozmr ; "iDavAEqQ1TOzmr5S4D" call sub_1432C mov edx, [ebp+var_A0] mov eax, ds:off_1B2CC call sub_11C54 lea eax, [ebp+var_A4] push eax xor ecx, ecx mov edx, 85D7h mov eax, offset a2vnzebtf ; "2vNZeBTF" call sub_1432C mov edx, [ebp+var_A4] mov eax, ds:off_1B22C call sub_11C54 lea eax, [ebp+var_A8] push eax xor ecx, ecx mov edx, 85D8h mov eax, offset a2fuoik002ldhga ; "2fuOiK002LdHgA" call sub_1432C mov edx, [ebp+var_A8] mov eax, ds:off_1B238 call sub_11C54 lea eax, [ebp+var_AC] push eax xor ecx, ecx mov edx, 85D9h mov eax, offset a3rhMc ; "3rH/MC" call sub_1432C mov edx, [ebp+var_AC] mov eax, ds:off_1B2C0 call sub_11C54 lea eax, [ebp+var_B0] push eax xor ecx, ecx mov edx, 85DAh mov eax, offset aSh2cgpbzijcx ; "sH2CGpbZijcX" call sub_1432C mov edx, [ebp+var_B0] mov eax, ds:off_1B254 call sub_11C54 lea eax, [ebp+var_B4] push eax xor ecx, ecx mov edx, 85DBh mov eax, offset aSprqknwt4gd ; "sPrQKNWt+4Gd" call sub_1432C mov edx, [ebp+var_B4] mov eax, ds:off_1B108 call sub_11C54 lea eax, [ebp+var_B8] push eax xor ecx, ecx mov edx, 85DCh mov eax, offset aT7wppaj ; "t7wPpaJ" call sub_1432C mov edx, [ebp+var_B8] mov eax, ds:off_1B28C call sub_11C54 lea eax, [ebp+var_BC] push eax xor ecx, ecx mov edx, 85DDh mov eax, offset aMzmiUdaqb ; "mzMi/udaqB" call sub_1432C mov edx, [ebp+var_BC] mov eax, ds:off_1B1D4 call sub_11C54 lea eax, [ebp+var_C0] push eax xor ecx, ecx mov edx, 85DEh mov eax, offset aR7wpvcn ; "r7wPvCN" call sub_1432C mov edx, [ebp+var_C0] mov eax, ds:off_1B168 call sub_11C54 lea eax, [ebp+var_C4] push eax xor ecx, ecx mov edx, 85DFh mov eax, offset aThprspf ; "tHprspF" call sub_1432C mov edx, [ebp+var_C4] mov eax, ds:off_1B164 call sub_11C54 lea eax, [ebp+var_C8] push eax xor ecx, ecx mov edx, 85E0h mov eax, offset aClm8cne566tzdz ; "CLm8cne566tzDzy6" call sub_1432C mov edx, [ebp+var_C8] mov eax, ds:off_1B2D8 call sub_11C54 lea eax, [ebp+var_CC] push eax xor ecx, ecx mov edx, 85E1h mov eax, offset aCpbbw7wbe9pn1f ; "CPbBW7wbE9Pn1FmMjWgSFP+TRB" call sub_1432C mov edx, [ebp+var_CC] mov eax, ds:off_1B228 call sub_11C54 lea eax, [ebp+var_D0] push eax xor ecx, ecx mov edx, 85E2h mov eax, offset aGhlqwi2zocsz ; "GHLqWi2zoCsz" call sub_1432C mov edx, [ebp+var_D0] mov eax, ds:off_1B274 call sub_11C54 lea eax, [ebp+var_D4] push eax xor ecx, ecx mov edx, 85E3h mov eax, offset aZdzicszhb1ba3z ; "zDZiCSzhb1BA3ZC" call sub_1432C mov edx, [ebp+var_D4] mov eax, ds:off_1B178 call sub_11C54 lea eax, [ebp+var_D8] push eax xor ecx, ecx mov edx, 85E4h mov eax, offset aUnnhprb8zpygOv ; "unNHPRb8Zpyg/OvI" call sub_1432C mov edx, [ebp+var_D8] mov eax, ds:off_1B134 call sub_11C54 lea eax, [ebp+var_DC] push eax xor ecx, ecx mov edx, 85E5h mov eax, offset aCrwims23tyojf1 ; "CrWimS23tyojF1Xh98Ci/2WkjC8XPjN" call sub_1432C mov edx, [ebp+var_DC] mov eax, ds:off_1B2A4 call sub_11C54 lea eax, [ebp+var_E0] push eax xor ecx, ecx mov edx, 85E6h mov eax, offset aCvlnmageic14cc ; "CvLnMAGeIC14Cc3XcUHQJaKn/A" call sub_1432C mov edx, [ebp+var_E0] mov eax, ds:off_1B314 call sub_11C54 lea eax, [ebp+var_E4] push eax xor ecx, ecx mov edx, 85E7h mov eax, offset aTtgrekq4fbaxjw ; "TTgREKQ4FbAXJWToXWH" call sub_1432C mov edx, [ebp+var_E4] mov eax, ds:off_1B1E8 call sub_11C54 lea eax, [ebp+var_E8] push eax xor ecx, ecx mov edx, 85E8h mov eax, offset aM7onjbuuwroq7a ; "m7OnjBUuwrOQ7AJ" call sub_1432C mov edx, [ebp+var_E8] mov eax, ds:off_1B160 call sub_11C54 lea eax, [ebp+var_EC] push eax xor ecx, ecx mov edx, 85E9h mov eax, offset aWbqskC ; "WbQsk/C" call sub_1432C mov edx, [ebp+var_EC] mov eax, ds:off_1B19C call sub_11C54 lea eax, [ebp+var_F0] push eax xor ecx, ecx mov edx, 85EAh mov eax, offset aGvsjld ; "gvSJlD" call sub_1432C mov edx, [ebp+var_F0] mov eax, ds:off_1B25C call sub_11C54 lea eax, [ebp+var_F4] push eax xor ecx, ecx mov edx, 85EBh mov eax, offset aQdevtntc ; "QDEVtnTc" call sub_1432C mov edx, [ebp+var_F4] mov eax, ds:off_1B320 call sub_11C54 lea eax, [ebp+var_F8] push eax xor ecx, ecx mov edx, 85ECh mov eax, offset aQl5mra ; "QL5mRA" call sub_1432C mov edx, [ebp+var_F8] mov eax, ds:off_1B150 call sub_11C54 lea eax, [ebp+var_FC] push eax xor ecx, ecx mov edx, 85EDh mov eax, offset a3qizia ; "3qIziA" call sub_1432C mov edx, [ebp+var_FC] mov eax, ds:off_1B100 call sub_11C54 lea eax, [ebp+var_100] push eax xor ecx, ecx mov edx, 85EEh mov eax, offset aWfqpc62nea ; "wfQPC62nEA" call sub_1432C mov edx, [ebp+var_100] mov eax, ds:off_1B2A0 call sub_11C54 lea eax, [ebp+var_104] push eax xor ecx, ecx mov edx, 85EFh mov eax, offset aMj0p4IjajWub ; "mj0P4/ijAJ/wUB" call sub_1432C mov edx, [ebp+var_104] mov eax, ds:off_1B0D0 call sub_11C54 lea eax, [ebp+var_108] push eax xor ecx, ecx mov edx, 85F0h mov eax, offset aDxn7yx2qOo76qn ; "DXN7yx2q/oo76QNOrBG" call sub_1432C mov edx, [ebp+var_108] mov eax, ds:off_1B140 call sub_11C54 lea eax, [ebp+var_10C] push eax xor ecx, ecx mov edx, 85F1h mov eax, offset aDlu9fdzrefhw ; "DLu9fdzREfHw" call sub_1432C mov edx, [ebp+var_10C] mov eax, ds:off_1B120 call sub_11C54 lea eax, [ebp+var_110] push eax xor ecx, ecx mov edx, 85F2h mov eax, offset aW7887qqnm64vmd ; "W7887QqNM64VMDI" call sub_1432C mov edx, [ebp+var_110] mov eax, ds:off_1B0E0 call sub_11C54 lea eax, [ebp+var_114] push eax xor ecx, ecx mov edx, 85F3h mov eax, offset aGFkeeLsgeuek ; "G/fkEE+/lsGEUeK" call sub_1432C mov edx, [ebp+var_114] mov eax, ds:off_1B234 call sub_11C54 lea eax, [ebp+var_118] push eax xor ecx, ecx mov edx, 85F4h mov eax, offset aYhlvxq2bo3yoGg ; "yHLVXq2Bo3Yo+GGt" call sub_1432C mov edx, [ebp+var_118] mov eax, ds:off_1B0C8 call sub_11C54 lea eax, [ebp+var_11C] push eax xor ecx, ecx mov edx, 85F5h mov eax, offset aQfk7v0eoidjp ; "qfk7V0eOIdJp" call sub_1432C mov edx, [ebp+var_11C] mov eax, ds:off_1B1B4 call sub_11C54 lea eax, [ebp+var_120] push eax xor ecx, ecx mov edx, 85F6h mov eax, offset aXb8t ; "xb8t" call sub_1432C mov edx, [ebp+var_120] mov eax, ds:off_1B29C call sub_11C54 lea eax, [ebp+var_124] push eax xor ecx, ecx mov edx, 85F7h mov eax, offset aTvuvipipgc ; "tvUviPIpGC" call sub_1432C mov edx, [ebp+var_124] mov eax, ds:off_1B2F8 call sub_11C54 lea eax, [ebp+var_128] push eax xor ecx, ecx mov edx, 85F8h mov eax, offset aQwzeiwl ; "qWzEiWL" call sub_1432C mov edx, [ebp+var_128] mov eax, ds:off_1B270 call sub_11C54 lea eax, [ebp+var_12C] push eax xor ecx, ecx mov edx, 85F9h mov eax, offset aBtaw8azf2mf3i6 ; "BTAW8AzF2Mf3i6O" call sub_1432C mov edx, [ebp+var_12C] mov eax, ds:off_1B208 call sub_11C54 lea eax, [ebp+var_130] push eax xor ecx, ecx mov edx, 85FAh mov eax, offset aIrrvhmgettz3 ; "IrrvhMGeTTz3" call sub_1432C mov edx, [ebp+var_130] mov eax, ds:off_1B174 call sub_11C54 lea eax, [ebp+var_134] push eax xor ecx, ecx mov edx, 85FBh mov eax, offset aR6sb7c ; "r6Sb7C" call sub_1432C mov edx, [ebp+var_134] mov eax, ds:off_1B114 call sub_11C54 lea eax, [ebp+var_138] push eax xor ecx, ecx mov edx, 85FCh mov eax, offset aY73kEf ; "y73k/eF" call sub_1432C mov edx, [ebp+var_138] mov eax, ds:off_1B2BC call sub_11C54 lea eax, [ebp+var_13C] push eax xor ecx, ecx mov edx, 85FDh mov eax, offset aYI9jaos ; "y/i9jAoS" call sub_1432C mov edx, [ebp+var_13C] mov eax, ds:off_1B210 call sub_11C54 lea eax, [ebp+var_140] push eax xor ecx, ecx mov edx, 85FEh mov eax, offset aGdwzhmUoewnlle ; "GDwZHM+UoewNLLeu+FO" call sub_1432C mov edx, [ebp+var_140] mov eax, ds:off_1B244 call sub_11C54 lea eax, [ebp+var_144] push eax xor ecx, ecx mov edx, 85FFh mov eax, offset aSzi1lkyc5xitio ; "SzI1lKyC5xITIo6SAxJ7NLf2aB" call sub_1432C mov edx, [ebp+var_144] mov eax, ds:off_1B200 call sub_11C54 lea eax, [ebp+var_148] push eax xor ecx, ecx mov edx, 8600h mov eax, offset aAnhuy2l6rw7iy3 ; "anHuY2L6RW7Iy3n/bKFzSr+xYpglkDOR" call sub_1432C mov edx, [ebp+var_148] mov eax, ds:off_1B27C call sub_11C54 lea eax, [ebp+var_14C] push eax xor ecx, ecx mov edx, 8601h mov eax, offset aJjtrl1y50pwkez ; "JjTrl1Y50PWKeZQDLEK" call sub_1432C mov edx, [ebp+var_14C] mov eax, ds:off_1B0EC call sub_11C54 lea eax, [ebp+var_150] push eax xor ecx, ecx mov edx, 8602h mov eax, offset aF6it77tthjyqpp ; "F/6iT77TTHJYQpP" call sub_1432C mov edx, [ebp+var_150] mov eax, ds:off_1B1EC call sub_11C54 lea eax, [ebp+var_154] push eax xor ecx, ecx mov edx, 8603h mov eax, offset aUhalwh5etjfvjw ; "UHaLWh5EtjfVJwTYa/wOSAL0tMKJ83LD3Gru" call sub_1432C mov edx, [ebp+var_154] mov eax, ds:off_1B2B0 call sub_11C54 lea eax, [ebp+var_158] push eax xor ecx, ecx mov edx, 8604h mov eax, offset aJtshkc35f9zla2 ; "JTsHKC35f9zLA2d2" call sub_1432C mov edx, [ebp+var_158] mov eax, ds:off_1B24C call sub_11C54 lea eax, [ebp+var_15C] push eax xor ecx, ecx mov edx, 8605h mov eax, offset aCjlxcpov2lingn ; "CjLXcpOV2LINgNIGrC" call sub_1432C mov edx, [ebp+var_15C] mov eax, ds:off_1B250 call sub_11C54 lea eax, [ebp+var_160] push eax xor ecx, ecx mov edx, 8606h mov eax, offset aFxwyhdsp1epcGx ; "FXWyhdsp1EpC/gXR7xL" call sub_1432C mov edx, [ebp+var_160] mov eax, ds:off_1B23C call sub_11C54 lea eax, [ebp+var_164] push eax xor ecx, ecx mov edx, 8607h mov eax, offset aB788x09ohaydur ; "B788x09OHaydUROY" call sub_1432C mov edx, [ebp+var_164] mov eax, ds:off_1B0E4 call sub_11C54 lea eax, [ebp+var_168] push eax xor ecx, ecx mov edx, 8608h mov eax, offset aFvdajlrnvengz3 ; "FvdaJlRNVenGZ3RCLiA" call sub_1432C mov edx, [ebp+var_168] mov eax, ds:off_1B26C call sub_11C54 lea eax, [ebp+var_16C] push eax xor ecx, ecx mov edx, 8609h mov eax, offset aF7onjbum0iqwdy ; "F7OnjBUm0iqWDYprBkbHhe+P" call sub_1432C mov edx, [ebp+var_16C] mov eax, ds:off_1B1A4 call sub_11C54 lea eax, [ebp+var_170] push eax xor ecx, ecx mov edx, 860Ah mov eax, offset aVllh1uuzg7dyol ; "VLlH1UuZg7dYOLuX5gFghA" call sub_1432C mov edx, [ebp+var_170] mov eax, ds:off_1B0DC call sub_11C54 lea eax, [ebp+var_174] push eax xor ecx, ecx mov edx, 860Bh mov eax, offset aAxwyl9kvyj54Ci ; "AXWyl9Kvyj54/CI" call sub_1432C mov edx, [ebp+var_174] mov eax, ds:off_1B278 call sub_11C54 lea eax, [ebp+var_178] push eax xor ecx, ecx mov edx, 860Ch mov eax, offset aFliwzl4brw10mh ; "FLIwZL4Brw10mHbeHSF" call sub_1432C mov edx, [ebp+var_178] mov eax, ds:off_1B220 call sub_11C54 lea eax, [ebp+var_17C] push eax xor ecx, ecx mov edx, 860Dh mov eax, offset a1bqxah4kr0xh48 ; "1bQXAH4kr0xH48H" call sub_1432C mov edx, [ebp+var_17C] mov eax, ds:off_1B1C4 call sub_11C54 lea eax, [ebp+var_180] push eax xor ecx, ecx mov edx, 860Eh mov eax, offset aBxtfxmi7tmyy2k ; "BXTFXmi7TMyY2kbL" call sub_1432C mov edx, [ebp+var_180] mov eax, ds:off_1B1E0 call sub_11C54 lea eax, [ebp+var_184] push eax xor ecx, ecx mov edx, 860Fh mov eax, offset aOsz6 ; "oSZ6" call sub_1432C mov edx, [ebp+var_184] mov eax, ds:off_1B2AC call sub_11C54 lea eax, [ebp+var_188] push eax xor ecx, ecx mov edx, 8610h mov eax, offset aBj491n3fucpqaT ; "Bj491n3fucPQA+TS" call sub_1432C mov edx, [ebp+var_188] mov eax, ds:off_1B13C call sub_11C54 xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_181D6 loc_181B1: ; CODE XREF: sub_17300+ED4j lea eax, [ebp+var_188] mov edx, 5Eh call sub_11C24 lea eax, [ebp+var_C] mov edx, 2 call sub_11C24 retn ; --------------------------------------------------------------------------- loc_181CF: ; DATA XREF: sub_17300+15o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_181B1 ; --------------------------------------------------------------------------- loc_181D6: ; CODE XREF: sub_17300+ECEj ; DATA XREF: sub_17300+EACo mov eax, [ebp+var_4] mov esp, ebp pop ebp retn sub_17300 endp ; --------------------------------------------------------------------------- align 10h unknown_libname_16 dd 0Ch a9udbfa: ; DATA XREF: sub_17300+32o unicode 0, <9udbfA>,0 align 4 dd 0Eh a0wetUf: ; DATA XREF: sub_17300+57o unicode 0, <0WEt/UF>,0 unicode 0, < >,0 aKp5dpQh8hdty9f: ; DATA XREF: sub_17300+7Co unicode 0, <kP5dp/Qh8HDty9F9>,0 align 10h unicode 0, <(>,0 aXIrfiex5vvgm0c: ; DATA XREF: sub_17300+9Eo unicode 0, <X/iRfiex5VVgm0Cmz8GI>,0 align 10h unicode 0, <&>,0 aX3nxi8gonqlBmx: ; DATA XREF: sub_17300+C0o unicode 0, <X3nxI8GoNQL/BMX2URG>,0 dd 1Eh aXlij4gonh8xdpb: ; DATA XREF: sub_17300+E2o unicode 0, <XLIJ4GoNh8xDpbG>,0 unicode 0, <,>,0 aXdnprsrjuinbad: ; DATA XREF: sub_17300+104o unicode 0, <XDNprsRjUInbAdst3IU0wB>,0 align 4 dd 1Eh aXhedd1pkttsu7p: ; DATA XREF: sub_17300+126o unicode 0, <XHedd1pkttSU7pI>,0 unicode 0, <$>,0 aXfzDjhnflqiwet: ; DATA XREF: sub_17300+148o unicode 0, <Xfz/DJhNfLQiwETyDA>,0 align 4 db '´',0 align 4 aW3x5xloPn3dqa7: ; DATA XREF: sub_17300+16Ao unicode 0, <W3x5Xlo/pN3DQa7k51w6pckjR9DbZWdqw90hRkiuywFc8n43Ms3VTSGOh> unicode 0, <Uyw1YjEVhbhEhmMOpYdbJdqOumhSNZpCC>,0 align 10h aI db 'ˆ',0 align 4 aGacimveqxypyrw: ; DATA XREF: sub_17300+18Co unicode 0, <gacimvEQxypyRWa94Tb8HFSm7XhcF5Ct8DeoUqFgx1atZmSAUPzvHGOo9> unicode 0, <NQ8P4mcBkTU>,0 align 10h aA db ' ',0 align 4 aWdqpu5d7wp6zgq: ; DATA XREF: sub_17300+1AEo unicode 0, <WDqPu5d7WP6zgQTPg/mh6lB9dbhnYgTxhvBplNG8qx31FBcZdhaUgjJR7> unicode 0, <YZ9cHoSbI0+jFFAxU9QXTge>,0 align 4 aV: unicode 0, <v>,0 aGgmyPd2ozQulpm: ; DATA XREF: sub_17300+1D0o unicode 0, <gGmy/Pd2OZ+qULPmCXrIUEKjuFOH5fiJISLFLNBfgfLJqQAU9XNOVs02k> unicode 0, <TG>,0 db 'œ',0 align 4 aWxtolczhn6hbtr: ; DATA XREF: sub_17300+1F2o unicode 0, <WXtOlcZHN6HbtRyzETO9/RCvkuqTHZx+rF6AH3rzCFnIDmWMgGr5waqLx> unicode 0, <oE+vSoAz6sjbJVSY5atOA>,0 align 4 _str_10140714 dd 0FFFFFFFFh ; _top ; DATA XREF: sub_16E1C+65o ; sub_17300+20Eo dd 8 ; Len db '10140714',0 ; Text align 4 _str_m dd 0FFFFFFFFh ; _top ; DATA XREF: sub_17300+21Do dd 1 ; Len db 'm',0 ; Text align 4 dd 1Ch aAvogCr8z4xsa: ; DATA XREF: sub_17300+232o unicode 0, <AvOG+cR+8Z4xSA>,0 align 4 dd 10h aHt2ajqhh: ; DATA XREF: sub_17300+254o unicode 0, <HT2AJqHh>,0 align 4 a@: unicode 0, <@>,0 aWjlkwziw17zw4r: ; DATA XREF: sub_17300+2A5o unicode 0, <WjLkWZIw17zW4RSAlIx3yidiFVqqa3pw>,0 align 4 dd 16h aN3r3r2c2u8o: ; DATA XREF: sub_17300+2C7o unicode 0, <n3R3R2C2U8O>,0 unicode 0, <&>,0 a06xbczqyep3h8i: ; DATA XREF: sub_17300+2E9o unicode 0, <06xbCzqyEp3H8ibkfaL>,0 unicode 0, <$>,0 a3olt5mlcimlvbh: ; DATA XREF: sub_17300+30Bo unicode 0, <3Olt5MLcImLvBHCCVB>,0 align 10h unicode 0, <&>,0 aVrstxrnwrioqxt: ; DATA XREF: sub_17300+32Do unicode 0, <vrStxRNwrIOQXT8d0dK>,0 unicode 0, <$>,0 aZcpytji4wKmxsj: ; DATA XREF: sub_17300+34Fo unicode 0, <zCPytjI4w/kmxSjvdD>,0 align 4 dw 8 unicode 0, <>,0 aWzqe: ; DATA XREF: sub_17300+371o unicode 0, <wzqE>,0 align 4 dd 1Eh aYpe98aaZowfc7l: ; DATA XREF: sub_17300+393o unicode 0, <yPE98Aa/zOwfc7L>,0 dd 10h a2ff3uqs8: ; DATA XREF: sub_17300+3B5o unicode 0, <2fF3uQS8>,0 align 4 dd 0Eh aThbewih: ; DATA XREF: sub_17300+3D7o unicode 0, <tHbEWiH>,0 unicode 0, <$>,0 aIhnmnoxrx3rq6q: ; DATA XREF: sub_17300+3F9o unicode 0, <iHNMNOXRx3RQ6Q7jdD>,0 align 4 dw 8 unicode 0, <>,0 aO3ix: ; DATA XREF: sub_17300+41Bo unicode 0, <o3iX>,0 align 4 unknown_libname_17 dd 0Ch aRyj3c: ; DATA XREF: sub_17300+43Do unicode 0, <ryJ/3C>,0 align 4 dd 1Ch aWjbn8fAxwp9ka: ; DATA XREF: sub_17300+462o unicode 0, <wjBN8f/aXwP9kA>,0 align 4 a0: unicode 0, <0>,0 aQjzpnemssqum2e: ; DATA XREF: sub_17300+48Ao unicode 0, <QjzPnEMSsqUM2eHIUlGsoCdc>,0 align 4 dd 1Eh aYd9tmo54lvlodz: ; DATA XREF: sub_17300+4B2o unicode 0, <yD9Tmo54lvlODZI>,0 unknown_libname_18 dd 0Ch a27c6ja: ; DATA XREF: sub_17300+4DAo unicode 0, <27c6JA>,0 align 4 dd 1Ch aSdcxoabzfunzsb: ; DATA XREF: sub_17300+502o unicode 0, <SDCXoAbZFUnZSB>,0 align 10h dd 1Ch aSlbls7x1hzzspc: ; DATA XREF: sub_17300+52Ao unicode 0, <SLBLS7X1hzZsPC>,0 align 4 unicode 0, <(>,0 aSzl8erwtqldxih: ; DATA XREF: sub_17300+552o unicode 0, <Szl8eRWTqlDXihjl9SF0>,0 align 4 unicode 0, <$>,0 aIdavaeqq1tozmr: ; DATA XREF: sub_17300+57Ao unicode 0, <iDavAEqQ1TOzmr5S4D>,0 align 10h dd 10h a2vnzebtf: ; DATA XREF: sub_17300+5A2o unicode 0, <2vNZeBTF>,0 align 4 dd 1Ch a2fuoik002ldhga: ; DATA XREF: sub_17300+5CAo unicode 0, <2fuOiK002LdHgA>,0 align 4 unknown_libname_19 dd 0Ch a3rhMc: ; DATA XREF: sub_17300+5F2o unicode 0, <3rH/MC>,0 align 10h dd 18h aSh2cgpbzijcx: ; DATA XREF: sub_17300+61Ao unicode 0, <sH2CGpbZijcX>,0 align 10h dd 18h aSprqknwt4gd: ; DATA XREF: sub_17300+642o unicode 0, <sPrQKNWt+4Gd>,0 align 10h dd 0Eh aT7wppaj: ; DATA XREF: sub_17300+66Ao unicode 0, <t7wPpaJ>,0 dd 14h aMzmiUdaqb: ; DATA XREF: sub_17300+692o unicode 0, <mzMi/udaqB>,0 align 10h dd 0Eh aR7wpvcn: ; DATA XREF: sub_17300+6BAo unicode 0, <r7wPvCN>,0 dd 0Eh aThprspf: ; DATA XREF: sub_17300+6E2o unicode 0, <tHprspF>,0 unicode 0, < >,0 aClm8cne566tzdz: ; DATA XREF: sub_17300+70Ao unicode 0, <CLm8cne566tzDzy6>,0 align 10h a4: unicode 0, <4>,0 aCpbbw7wbe9pn1f: ; DATA XREF: sub_17300+732o unicode 0, <CPbBW7wbE9Pn1FmMjWgSFP+TRB>,0 align 4 dd 18h aGhlqwi2zocsz: ; DATA XREF: sub_17300+75Ao unicode 0, <GHLqWi2zoCsz>,0 align 4 dd 1Eh aZdzicszhb1ba3z: ; DATA XREF: sub_17300+782o unicode 0, <zDZiCSzhb1BA3ZC>,0 unicode 0, < >,0 aUnnhprb8zpygOv: ; DATA XREF: sub_17300+7AAo unicode 0, <unNHPRb8Zpyg/OvI>,0 align 4 dw 3Eh unicode 0, <>,0 aCrwims23tyojf1: ; DATA XREF: sub_17300+7D2o unicode 0, <CrWimS23tyojF1Xh98Ci/2WkjC8XPjN>,0 a4_0: unicode 0, <4>,0 aCvlnmageic14cc: ; DATA XREF: sub_17300+7FAo unicode 0, <CvLnMAGeIC14Cc3XcUHQJaKn/A>,0 align 4 unicode 0, <&>,0 aTtgrekq4fbaxjw: ; DATA XREF: sub_17300+822o unicode 0, <TTgREKQ4FbAXJWToXWH>,0 dd 1Eh aM7onjbuuwroq7a: ; DATA XREF: sub_17300+84Ao unicode 0, <m7OnjBUuwrOQ7AJ>,0 dd 0Eh aWbqskC: ; DATA XREF: sub_17300+872o unicode 0, <WbQsk/C>,0 unknown_libname_20 dd 0Ch aGvsjld: ; DATA XREF: sub_17300+89Ao unicode 0, <gvSJlD>,0 align 10h dd 10h aQdevtntc: ; DATA XREF: sub_17300+8C2o unicode 0, <QDEVtnTc>,0 align 4 dd 0Ch aQl5mra: ; DATA XREF: sub_17300+8EAo unicode 0, <QL5mRA>,0 align 4 unknown_libname_21 dd 0Ch a3qizia: ; DATA XREF: sub_17300+912o unicode 0, <3qIziA>,0 align 10h dd 14h aWfqpc62nea: ; DATA XREF: sub_17300+93Ao unicode 0, <wfQPC62nEA>,0 align 4 dd 1Ch aMj0p4IjajWub: ; DATA XREF: sub_17300+962o unicode 0, <mj0P4/ijAJ/wUB>,0 align 10h unicode 0, <&>,0 aDxn7yx2qOo76qn: ; DATA XREF: sub_17300+98Ao unicode 0, <DXN7yx2q/oo76QNOrBG>,0 dd 18h aDlu9fdzrefhw: ; DATA XREF: sub_17300+9B2o unicode 0, <DLu9fdzREfHw>,0 align 4 dd 1Eh aW7887qqnm64vmd: ; DATA XREF: sub_17300+9DAo unicode 0, <W7887QqNM64VMDI>,0 dd 1Eh aGFkeeLsgeuek: ; DATA XREF: sub_17300+A02o unicode 0, <G/fkEE+/lsGEUeK>,0 unicode 0, < >,0 aYhlvxq2bo3yoGg: ; DATA XREF: sub_17300+A2Ao unicode 0, <yHLVXq2Bo3Yo+GGt>,0 align 4 dd 18h aQfk7v0eoidjp: ; DATA XREF: sub_17300+A52o unicode 0, <qfk7V0eOIdJp>,0 align 4 dw 8 unicode 0, <>,0 aXb8t: ; DATA XREF: sub_17300+A7Ao unicode 0, <xb8t>,0 align 4 dd 14h aTvuvipipgc: ; DATA XREF: sub_17300+AA2o unicode 0, <tvUviPIpGC>,0 align 4 dd 0Eh aQwzeiwl: ; DATA XREF: sub_17300+ACAo unicode 0, <qWzEiWL>,0 dd 1Eh aBtaw8azf2mf3i6: ; DATA XREF: sub_17300+AF2o unicode 0, <BTAW8AzF2Mf3i6O>,0 dd 18h aIrrvhmgettz3: ; DATA XREF: sub_17300+B1Ao unicode 0, <IrrvhMGeTTz3>,0 align 10h unknown_libname_22 dd 0Ch aR6sb7c: ; DATA XREF: sub_17300+B42o unicode 0, <r6Sb7C>,0 align 4 dd 0Eh aY73kEf: ; DATA XREF: sub_17300+B6Ao unicode 0, <y73k/eF>,0 dd 10h aYI9jaos: ; DATA XREF: sub_17300+B92o unicode 0, <y/i9jAoS>,0 align 10h unicode 0, <&>,0 aGdwzhmUoewnlle: ; DATA XREF: sub_17300+BBAo unicode 0, <GDwZHM+UoewNLLeu+FO>,0 a4_1: unicode 0, <4>,0 aSzi1lkyc5xitio: ; DATA XREF: sub_17300+BE2o unicode 0, <SzI1lKyC5xITIo6SAxJ7NLf2aB>,0 align 4 a@_0: unicode 0, <@>,0 aAnhuy2l6rw7iy3: ; DATA XREF: sub_17300+C0Ao unicode 0, <anHuY2L6RW7Iy3n/bKFzSr+xYpglkDOR>,0 align 10h unicode 0, <&>,0 aJjtrl1y50pwkez: ; DATA XREF: sub_17300+C32o unicode 0, <JjTrl1Y50PWKeZQDLEK>,0 dd 1Eh aF6it77tthjyqpp: ; DATA XREF: sub_17300+C5Ao unicode 0, <F/6iT77TTHJYQpP>,0 unicode 0, <H>,0 aUhalwh5etjfvjw: ; DATA XREF: sub_17300+C82o unicode 0, <UHaLWh5EtjfVJwTYa/wOSAL0tMKJ83LD3Gru>,0 align 10h unicode 0, < >,0 aJtshkc35f9zla2: ; DATA XREF: sub_17300+CAAo unicode 0, <JTsHKC35f9zLA2d2>,0 align 4 unicode 0, <$>,0 aCjlxcpov2lingn: ; DATA XREF: sub_17300+CD2o unicode 0, <CjLXcpOV2LINgNIGrC>,0 align 4 unicode 0, <&>,0 aFxwyhdsp1epcGx: ; DATA XREF: sub_17300+CFAo unicode 0, <FXWyhdsp1EpC/gXR7xL>,0 unicode 0, < >,0 aB788x09ohaydur: ; DATA XREF: sub_17300+D22o unicode 0, <B788x09OHaydUROY>,0 align 4 unicode 0, <&>,0 aFvdajlrnvengz3: ; DATA XREF: sub_17300+D4Ao unicode 0, <FvdaJlRNVenGZ3RCLiA>,0 a0_0: unicode 0, <0>,0 aF7onjbum0iqwdy: ; DATA XREF: sub_17300+D72o unicode 0, <F7OnjBUm0iqWDYprBkbHhe+P>,0 align 4 unicode 0, <,>,0 aVllh1uuzg7dyol: ; DATA XREF: sub_17300+D9Ao unicode 0, <VLlH1UuZg7dYOLuX5gFghA>,0 align 10h dd 1Eh aAxwyl9kvyj54Ci: ; DATA XREF: sub_17300+DC2o unicode 0, <AXWyl9Kvyj54/CI>,0 unicode 0, <&>,0 aFliwzl4brw10mh: ; DATA XREF: sub_17300+DEAo unicode 0, <FLIwZL4Brw10mHbeHSF>,0 dd 1Eh a1bqxah4kr0xh48: ; DATA XREF: sub_17300+E12o unicode 0, <1bQXAH4kr0xH48H>,0 unicode 0, < >,0 aBxtfxmi7tmyy2k: ; DATA XREF: sub_17300+E3Ao unicode 0, <BXTFXmi7TMyY2kbL>,0 align 4 dw 8 unicode 0, <>,0 aOsz6: ; DATA XREF: sub_17300+E62o unicode 0, <oSZ6>,0 align 4 unicode 0, < >,0 aBj491n3fucpqaT: ; DATA XREF: sub_17300+E8Ao unicode 0, <Bj491n3fucPQA+TS>,0 align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_191D4 proc near ; CODE XREF: r+25p ServiceMain+Ap var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 hModule = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFE4h xor eax, eax mov [ebp+var_1C], eax mov [ebp+var_18], eax mov [ebp+var_14], eax xor eax, eax push ebp push offset loc_198E4 push dword ptr fs:[eax] mov fs:[eax], esp mov eax, ds:off_1B178 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpLibFileName call LoadLibraryA ; LoadLibraryA mov [ebp+var_10], eax mov eax, ds:off_1B184 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpLibFileName call LoadLibraryA ; LoadLibraryA mov [ebp+hModule], eax mov eax, ds:off_1B134 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpLibFileName call LoadLibraryA ; LoadLibraryA mov [ebp+var_C], eax mov eax, ds:off_1B1CC mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpLibFileName call LoadLibraryA ; LoadLibraryA mov [ebp+var_8], eax mov eax, ds:off_1B0DC mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+hModule] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B20C mov [edx], eax mov eax, ds:off_1B278 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+var_C] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B12C mov [edx], eax mov eax, ds:off_1B318 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+hModule] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B2A8 mov [edx], eax mov eax, ds:off_1B1F4 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+hModule] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B198 mov [edx], eax mov eax, ds:off_1B264 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+hModule] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B2C8 mov [edx], eax mov eax, ds:off_1B1DC mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+hModule] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B170 mov [edx], eax mov eax, ds:off_1B1D8 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+hModule] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B21C mov [edx], eax mov eax, ds:off_1B260 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+hModule] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B2C4 mov [edx], eax mov eax, ds:off_1B24C mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+hModule] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B104 mov [edx], eax mov eax, ds:off_1B250 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+hModule] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B110 mov [edx], eax mov eax, ds:off_1B23C mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+hModule] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B0FC mov [edx], eax mov eax, ds:off_1B22C mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+var_8] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B284 mov [edx], eax mov eax, ds:off_1B28C mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+var_8] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B2E0 mov [edx], eax mov eax, ds:off_1B2CC mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+var_8] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B30C mov [edx], eax mov eax, ds:off_1B268 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+var_8] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B2D4 mov [edx], eax mov eax, ds:off_1B11C mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+var_8] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B15C mov [edx], eax mov eax, ds:off_1B2E8 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+var_8] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B324 mov [edx], eax mov eax, ds:off_1B144 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+var_8] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B194 mov [edx], eax mov eax, ds:off_1B2CC mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+var_8] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B30C mov [edx], eax mov eax, ds:off_1B22C mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+var_8] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B284 mov [edx], eax mov eax, ds:off_1B238 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+var_8] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B290 mov [edx], eax mov eax, ds:off_1B2C0 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+var_8] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B300 mov [edx], eax mov eax, ds:off_1B254 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+var_8] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B2B4 mov [edx], eax mov eax, ds:off_1B108 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+var_8] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B14C mov [edx], eax mov eax, ds:off_1B28C mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+var_8] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B2E0 mov [edx], eax mov eax, ds:off_1B1D4 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+var_8] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B204 mov [edx], eax mov eax, ds:off_1B168 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+var_8] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B1C0 mov [edx], eax mov eax, ds:off_1B164 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+var_8] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B1BC mov [edx], eax mov eax, ds:off_1B2D8 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+var_C] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B31C mov [edx], eax mov eax, ds:off_1B0E4 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+var_C] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B218 mov [edx], eax mov eax, ds:off_1B228 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+var_C] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B280 mov [edx], eax mov eax, ds:off_1B274 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+var_C] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B1FC mov [edx], eax mov eax, ds:off_1B2A4 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+var_10] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B2F0 mov [edx], eax mov eax, ds:off_1B314 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+var_10] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B0CC mov [edx], eax mov eax, ds:off_1B1E8 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+var_10] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B240 mov [edx], eax mov eax, ds:off_1B160 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+var_8] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B1B0 mov [edx], eax mov eax, ds:off_1B19C mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+var_C] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B1E4 mov [edx], eax mov eax, ds:off_1B140 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+var_C] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B190 mov [edx], eax mov eax, ds:off_1B120 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+var_C] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B16C mov [edx], eax mov eax, ds:off_1B0E0 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+var_C] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B118 mov [edx], eax mov eax, ds:off_1B234 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+var_C] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B288 mov [edx], eax mov eax, ds:off_1B174 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+var_C] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B10C mov [edx], eax mov eax, ds:off_1B208 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+var_C] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B1A8 mov [edx], eax mov eax, ds:off_1B244 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+var_C] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B298 mov [edx], eax mov eax, ds:off_1B200 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+var_C] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B258 mov [edx], eax mov eax, ds:off_1B0EC mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+hModule] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B310 mov [edx], eax mov ecx, ds:off_1B1B4 mov ecx, [ecx] mov edx, ds:off_1B248 mov edx, [edx] mov eax, ds:off_1B2B8 call @System@@LStrCat3$qqrv ; System::__linkproc__ LStrCat3(void) mov eax, ds:off_1B1EC mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+var_C] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B188 mov [edx], eax mov eax, ds:off_1B2B0 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+hModule] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B2F4 mov [edx], eax mov eax, ds:off_1B26C mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+hModule] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B124 mov [edx], eax mov eax, ds:off_1B1A4 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+hModule] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B2EC mov [edx], eax mov eax, ds:off_1B220 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+var_C] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B0F0 mov [edx], eax mov eax, ds:off_1B1E0 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+var_C] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B304 mov [edx], eax mov eax, ds:off_1B13C mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpProcName mov eax, [ebp+var_C] push eax ; hModule call GetProcAddress ; GetProcAddress mov edx, ds:off_1B294 mov [edx], eax lea eax, [ebp+var_14] call sub_17118 mov edx, [ebp+var_14] mov eax, ds:off_1B224 call sub_11C54 lea eax, [ebp+var_18] call @Adaptreq@TBasicActionResponseImpl@HandleResponse$qqrv ; Adaptreq::TBasicActionResponseImpl::HandleResponse(void) mov edx, [ebp+var_18] mov eax, ds:off_1B248 call sub_11C54 lea eax, [ebp+var_1C] call sub_16E1C xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_198EB loc_198D6: ; CODE XREF: sub_191D4+715j lea eax, [ebp+var_1C] mov edx, 3 call sub_11C24 retn ; --------------------------------------------------------------------------- loc_198E4: ; DATA XREF: sub_191D4+14o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_198D6 ; --------------------------------------------------------------------------- loc_198EB: ; CODE XREF: sub_191D4+70Fj ; DATA XREF: sub_191D4+6FDo mov esp, ebp pop ebp retn sub_191D4 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_198F0 proc near ; CODE XREF: r+3Fp var_4 = dword ptr -4 push ebp mov ebp, esp push 0 xor eax, eax push ebp push offset loc_19971 push dword ptr fs:[eax] mov fs:[eax], esp lea ecx, [ebp+var_4] mov edx, ds:off_1B130 mov edx, [edx] mov eax, 80000002h call sub_14EF8 test al, al jz short loc_1995B mov edx, ds:off_1B158 mov edx, [edx] mov eax, [ebp+var_4] call sub_132E4 test eax, eax jl short loc_1995B mov edx, ds:off_1B158 mov edx, [edx] lea eax, [ebp+var_4] xor ecx, ecx call sub_12B94 test al, al jz short loc_1995B mov edx, ds:off_1B130 mov edx, [edx] mov ecx, [ebp+var_4] mov eax, 80000002h call sub_14D38 loc_1995B: ; CODE XREF: sub_198F0+2Aj ; sub_198F0+3Ej ... xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_19978 loc_19968: ; CODE XREF: sub_198F0+86j lea eax, [ebp+var_4] call sub_11C00 retn ; --------------------------------------------------------------------------- loc_19971: ; DATA XREF: sub_198F0+8o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_19968 ; --------------------------------------------------------------------------- loc_19978: ; CODE XREF: sub_198F0+80j ; DATA XREF: sub_198F0+73o pop ecx pop ebp retn sub_198F0 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_1997C proc near ; CODE XREF: r+44p var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = byte ptr -24h var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFCCh xor eax, eax mov [ebp+var_28], eax mov [ebp+var_30], eax mov [ebp+var_34], eax mov [ebp+var_2C], eax xor eax, eax push ebp push offset loc_19AAA push dword ptr fs:[eax] mov fs:[eax], esp push 0F003Fh push 0 push 0 mov eax, ds:off_1B310 mov eax, [eax] call eax mov [ebp+var_4], eax cmp [ebp+var_4], 0 jbe loc_19A8F push 0F01FFh mov eax, ds:off_1B158 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax mov eax, [ebp+var_4] push eax mov eax, ds:off_1B104 mov eax, [eax] call eax mov [ebp+var_8], eax cmp [ebp+var_8], 0 jbe loc_19A82 lea eax, [ebp+var_24] push eax push 1 mov eax, [ebp+var_8] push eax mov eax, ds:off_1B124 mov eax, [eax] call eax push 7D0h mov eax, ds:off_1B1E4 mov eax, [eax] call eax mov eax, [ebp+var_8] push eax mov eax, ds:off_1B110 mov eax, [eax] call eax test eax, eax jnz short loc_19A75 mov eax, ds:off_1B218 mov eax, [eax] call eax lea edx, [ebp+var_2C] call sub_131F8 mov ecx, [ebp+var_2C] lea eax, [ebp+var_28] mov edx, offset _str_5_0.Text call @System@@LStrCat3$qqrv ; System::__linkproc__ LStrCat3(void) mov eax, [ebp+var_28] push eax mov edx, ds:off_1B1D0 mov edx, [edx] lea eax, [ebp+var_34] mov ecx, offset _str_i.Text call @System@@LStrCat3$qqrv ; System::__linkproc__ LStrCat3(void) mov eax, [ebp+var_34] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) mov edx, eax lea eax, [ebp+var_30] call unknown_libname_8 ; BDS 2005-2006 and Delphi6-7 Visual Component Library mov edx, [ebp+var_30] mov eax, 80000002h pop ecx call sub_14CAC loc_19A75: ; CODE XREF: sub_1997C+9Dj mov eax, [ebp+var_8] push eax mov eax, ds:off_1B2EC mov eax, [eax] call eax loc_19A82: ; CODE XREF: sub_1997C+67j mov eax, [ebp+var_4] push eax mov eax, ds:off_1B2EC mov eax, [eax] call eax loc_19A8F: ; CODE XREF: sub_1997C+3Bj xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_19AB1 loc_19A9C: ; CODE XREF: sub_1997C+133j lea eax, [ebp+var_34] mov edx, 4 call sub_11C24 retn ; --------------------------------------------------------------------------- loc_19AAA: ; DATA XREF: sub_1997C+17o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_19A9C ; --------------------------------------------------------------------------- loc_19AB1: ; CODE XREF: sub_1997C+12Dj ; DATA XREF: sub_1997C+11Bo mov esp, ebp pop ebp retn sub_1997C endp ; --------------------------------------------------------------------------- align 4 _str_5_0 dd 0FFFFFFFFh ; _top ; DATA XREF: sub_1997C+B6o dd 1 ; Len db '5',0 ; Text align 4 _str_i dd 0FFFFFFFFh ; _top ; DATA XREF: sub_1997C+CFo dd 1 ; Len db 'i',0 ; Text align 10h ; Exported entry 2. r ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame public r r proc near var_94 = dword ptr -94h var_90 = dword ptr -90h var_8C = dword ptr -8Ch var_88 = dword ptr -88h var_84 = dword ptr -84h var_80 = dword ptr -80h var_7C = dword ptr -7Ch var_78 = dword ptr -78h var_74 = dword ptr -74h var_70 = dword ptr -70h var_6C = dword ptr -6Ch var_68 = dword ptr -68h var_64 = dword ptr -64h var_60 = dword ptr -60h var_5C = dword ptr -5Ch var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = byte ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = byte ptr -30h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp mov ecx, 12h loc_19AD8: ; CODE XREF: r+Dj push 0 push 0 dec ecx jnz short loc_19AD8 push ecx xor eax, eax push ebp push offset loc_19F49 push dword ptr fs:[eax] mov fs:[eax], esp xor eax, eax call sub_17300 call sub_191D4 call sub_15774 lea eax, [ebp+var_14] mov edx, ds:off_1B0D8 mov edx, [edx] call sub_11C98 call sub_198F0 call sub_1997C lea ecx, [ebp+var_4] mov edx, ds:off_1B214 mov edx, [edx] mov eax, 80000002h call sub_14EF8 test al, al jz loc_19E97 mov edx, [ebp+var_14] mov eax, [ebp+var_4] call sub_132E4 test eax, eax jge short loc_19B5D push [ebp+var_14] push offset dword_19F5C push [ebp+var_4] lea eax, [ebp+var_4] mov edx, 3 call sub_11EB4 loc_19B5D: ; CODE XREF: r+73j mov edx, ds:off_1B214 mov edx, [edx] mov ecx, [ebp+var_4] mov eax, 80000002h call sub_14D38 test al, al jz loc_19E35 push 0F003Fh push 0 push 0 mov eax, ds:off_1B310 mov eax, [eax] call eax mov [ebp+var_8], eax cmp [ebp+var_8], 0 jbe loc_19C67 push 0F01FFh mov eax, [ebp+var_14] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax mov eax, [ebp+var_8] push eax mov eax, ds:off_1B104 mov eax, [eax] call eax mov [ebp+var_C], eax cmp [ebp+var_C], 0 jbe loc_19C5A lea eax, [ebp+var_30] push eax push 1 mov eax, [ebp+var_C] push eax mov eax, ds:off_1B124 mov eax, [eax] call eax push 7D0h mov eax, ds:off_1B1E4 mov eax, [eax] call eax mov eax, [ebp+var_C] push eax mov eax, ds:off_1B110 mov eax, [eax] call eax test eax, eax jnz short loc_19C4D mov eax, ds:off_1B218 mov eax, [eax] call eax lea edx, [ebp+var_38] call sub_131F8 mov ecx, [ebp+var_38] lea eax, [ebp+var_34] mov edx, offset _str_5_1.Text call @System@@LStrCat3$qqrv ; System::__linkproc__ LStrCat3(void) mov eax, [ebp+var_34] push eax mov edx, ds:off_1B1D0 mov edx, [edx] lea eax, [ebp+var_40] mov ecx, offset _str_i_0.Text call @System@@LStrCat3$qqrv ; System::__linkproc__ LStrCat3(void) mov eax, [ebp+var_40] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) mov edx, eax lea eax, [ebp+var_3C] call unknown_libname_8 ; BDS 2005-2006 and Delphi6-7 Visual Component Library mov edx, [ebp+var_3C] mov eax, 80000002h pop ecx call sub_14CAC loc_19C4D: ; CODE XREF: r+121j mov eax, [ebp+var_C] push eax mov eax, ds:off_1B2EC mov eax, [eax] call eax loc_19C5A: ; CODE XREF: r+EBj mov eax, [ebp+var_8] push eax mov eax, ds:off_1B2EC mov eax, [eax] call eax loc_19C67: ; CODE XREF: r+C3j push 0F003Fh push 0 push 0 mov eax, ds:off_1B310 mov eax, [eax] call eax mov [ebp+var_8], eax cmp [ebp+var_8], 0 jbe loc_19DD6 push 0 push 0 push 0 push 0 push 0 mov eax, ds:off_1B18C mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax push 1 push 2 push 10h push 0F01FFh push 0 mov eax, [ebp+var_14] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax mov eax, [ebp+var_8] push eax mov eax, ds:off_1B0FC mov eax, [eax] call eax mov [ebp+var_C], eax cmp [ebp+var_C], 0 jbe loc_19D77 mov eax, [ebp+var_C] push eax mov eax, ds:off_1B2EC mov eax, [eax] call eax mov eax, [ebp+var_8] push eax mov eax, ds:off_1B2EC mov eax, [eax] call eax lea eax, [ebp+var_10] mov edx, 0FFh call sub_120C8 push 0FFh ; nSize mov eax, [ebp+var_10] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax ; lpFilename mov eax, ds:hModule push eax ; hModule call GetModuleFileNameA ; GetModuleFileNameA lea eax, [ebp+var_44] push eax ; int mov eax, [ebp+var_14] mov [ebp+var_4C], eax mov [ebp+var_48], 0Bh lea edx, [ebp+var_4C] ; int mov eax, ds:off_1B1C8 mov eax, [eax] ; LPCSTR xor ecx, ecx call sub_1333C mov edx, [ebp+var_44] mov ecx, [ebp+var_10] mov eax, 80000002h call sub_14DC4 mov edx, ds:off_1B1D0 mov edx, [edx] lea eax, [ebp+var_54] mov ecx, offset _str_i_0.Text call @System@@LStrCat3$qqrv ; System::__linkproc__ LStrCat3(void) mov eax, [ebp+var_54] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) mov edx, eax lea eax, [ebp+var_50] call unknown_libname_8 ; BDS 2005-2006 and Delphi6-7 Visual Component Library mov edx, [ebp+var_50] xor ecx, ecx mov eax, 80000002h call sub_14CAC jmp loc_19F09 ; --------------------------------------------------------------------------- loc_19D77: ; CODE XREF: r+1F7j mov eax, ds:off_1B218 mov eax, [eax] call eax lea edx, [ebp+var_5C] call sub_131F8 mov ecx, [ebp+var_5C] lea eax, [ebp+var_58] mov edx, offset _str_1_0.Text call @System@@LStrCat3$qqrv ; System::__linkproc__ LStrCat3(void) mov eax, [ebp+var_58] push eax mov edx, ds:off_1B1D0 mov edx, [edx] lea eax, [ebp+var_64] mov ecx, offset _str_i_0.Text call @System@@LStrCat3$qqrv ; System::__linkproc__ LStrCat3(void) mov eax, [ebp+var_64] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) mov edx, eax lea eax, [ebp+var_60] call unknown_libname_8 ; BDS 2005-2006 and Delphi6-7 Visual Component Library mov edx, [ebp+var_60] mov eax, 80000002h pop ecx call sub_14CAC jmp loc_19F09 ; --------------------------------------------------------------------------- loc_19DD6: ; CODE XREF: r+1B0j mov eax, ds:off_1B218 mov eax, [eax] call eax lea edx, [ebp+var_6C] call sub_131F8 mov ecx, [ebp+var_6C] lea eax, [ebp+var_68] mov edx, offset _str_2_0.Text call @System@@LStrCat3$qqrv ; System::__linkproc__ LStrCat3(void) mov eax, [ebp+var_68] push eax mov edx, ds:off_1B1D0 mov edx, [edx] lea eax, [ebp+var_74] mov ecx, offset _str_i_0.Text call @System@@LStrCat3$qqrv ; System::__linkproc__ LStrCat3(void) mov eax, [ebp+var_74] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) mov edx, eax lea eax, [ebp+var_70] call unknown_libname_8 ; BDS 2005-2006 and Delphi6-7 Visual Component Library mov edx, [ebp+var_70] mov eax, 80000002h pop ecx call sub_14CAC jmp loc_19F09 ; --------------------------------------------------------------------------- loc_19E35: ; CODE XREF: r+A4j mov eax, ds:off_1B218 mov eax, [eax] call eax lea edx, [ebp+var_7C] call sub_131F8 mov ecx, [ebp+var_7C] lea eax, [ebp+var_78] mov edx, offset _str_3_0.Text call @System@@LStrCat3$qqrv ; System::__linkproc__ LStrCat3(void) mov eax, [ebp+var_78] push eax mov edx, ds:off_1B1D0 mov edx, [edx] lea eax, [ebp+var_84] mov ecx, offset _str_i_0.Text call @System@@LStrCat3$qqrv ; System::__linkproc__ LStrCat3(void) mov eax, [ebp+var_84] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) mov edx, eax lea eax, [ebp+var_80] call unknown_libname_8 ; BDS 2005-2006 and Delphi6-7 Visual Component Library mov edx, [ebp+var_80] mov eax, 80000002h pop ecx call sub_14CAC jmp short loc_19F09 ; --------------------------------------------------------------------------- loc_19E97: ; CODE XREF: r+60j mov eax, ds:off_1B218 mov eax, [eax] call eax lea edx, [ebp+var_8C] call sub_131F8 mov ecx, [ebp+var_8C] lea eax, [ebp+var_88] mov edx, offset _str_4_0.Text call @System@@LStrCat3$qqrv ; System::__linkproc__ LStrCat3(void) mov eax, [ebp+var_88] push eax mov edx, ds:off_1B1D0 mov edx, [edx] lea eax, [ebp+var_94] mov ecx, offset _str_i_0.Text call @System@@LStrCat3$qqrv ; System::__linkproc__ LStrCat3(void) mov eax, [ebp+var_94] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) mov edx, eax lea eax, [ebp+var_90] call unknown_libname_8 ; BDS 2005-2006 and Delphi6-7 Visual Component Library mov edx, [ebp+var_90] mov eax, 80000002h pop ecx call sub_14CAC loc_19F09: ; CODE XREF: r+2A2j r+301j ... xor eax, eax pop edx pop ecx pop ecx mov fs:[eax], edx push offset loc_19F50 loc_19F16: ; CODE XREF: r+47Ej lea eax, [ebp+var_94] mov edx, 12h call sub_11C24 lea eax, [ebp+var_44] mov edx, 5 call sub_11C24 lea eax, [ebp+var_14] mov edx, 2 call sub_11C24 lea eax, [ebp+var_4] call sub_11C00 retn ; --------------------------------------------------------------------------- loc_19F49: ; DATA XREF: r+13o jmp unknown_libname_6 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- jmp short loc_19F16 ; --------------------------------------------------------------------------- loc_19F50: ; CODE XREF: r+478j ; DATA XREF: r+441o mov esp, ebp pop ebp retn r endp ; --------------------------------------------------------------------------- dd 0FFFFFFFFh, 1 dword_19F5C dd 0 _str_5_1 dd 0FFFFFFFFh ; _top ; DATA XREF: r+13Ao dd 1 ; Len db '5',0 ; Text align 4 _str_i_0 dd 0FFFFFFFFh ; _top ; DATA XREF: r+153o r+277o ... dd 1 ; Len db 'i',0 ; Text align 4 _str_1_0 dd 0FFFFFFFFh ; _top ; DATA XREF: r+2BEo dd 1 ; Len db '1',0 ; Text align 4 _str_2_0 dd 0FFFFFFFFh ; _top ; DATA XREF: r+31Do dd 1 ; Len db '2',0 ; Text align 10h _str_3_0 dd 0FFFFFFFFh ; _top ; DATA XREF: r+37Co dd 1 ; Len db '3',0 ; Text align 4 _str_4_0 dd 0FFFFFFFFh ; _top ; DATA XREF: r+3E7o dd 1 ; Len db '4',0 ; Text align 4 ; Exported entry 1. ServiceMain ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame public ServiceMain ServiceMain proc near push ebp mov ebp, esp xor eax, eax call sub_17300 call sub_191D4 call sub_15774 push offset sub_17240 mov eax, ds:off_1B0D8 mov eax, [eax] call @System@@LStrToPChar$qqrx17System@AnsiString ; System::__linkproc__ LStrToPChar(System::AnsiString) push eax mov eax, ds:off_1B2F4 mov eax, [eax] call eax mov ds:dword_1C31C, eax cmp ds:dword_1C31C, 0 jz short loc_1A034 mov eax, ds:off_1B12C mov eax, [eax] call eax mov ecx, 1 xor edx, edx mov eax, 2 call sub_171E0 xor ecx, ecx xor edx, edx mov eax, 4 call sub_171E0 jmp short loc_1A022 ; --------------------------------------------------------------------------- loc_1A00F: ; CODE XREF: ServiceMain+8Aj call sub_165C4 push 927C0h mov eax, ds:off_1B1E4 mov eax, [eax] call eax loc_1A022: ; CODE XREF: ServiceMain+65j cmp ds:dword_1C320, 3 jz short loc_1A034 cmp ds:dword_1C320, 1 jnz short loc_1A00F loc_1A034: ; CODE XREF: ServiceMain+3Bj ; ServiceMain+81j pop ebp retn 8 ServiceMain endp ; [00000028 BYTES: COLLAPSED FUNCTION unknown_libname_23. PRESS KEYPAD "+" TO EXPAND] dword_1A060 dd 12h dd offset off_1A068 off_1A068 dd offset loc_12920 ; DATA XREF: CODE:0001A064o dd offset sub_128F0 dd offset sub_12774 dd offset sub_1272C dd offset sub_12988 dd offset sub_12958 dd offset sub_129C0 dd offset sub_12990 dd offset sub_129F8 dd offset sub_129C8 dd offset unknown_libname_14 ; BDS 2005-2006 and Delphi6-7 Visual Component Library dd offset sub_13590 dd offset sub_13648 dd offset sub_13618 dd offset sub_13A50 dd offset sub_13650 dd offset sub_143CC dd offset sub_1439C dd offset sub_14934 dd offset sub_14904 dd offset sub_1496C dd offset sub_1493C dd offset sub_149A4 dd offset sub_14974 dd offset sub_149DC dd offset sub_149AC dd offset sub_15008 dd offset sub_14FD8 dd offset sub_1576C dd offset sub_1573C dd offset sub_16ADC dd offset sub_16AAC dd offset sub_171C8 dd offset sub_17198 dd 0 dd offset unknown_libname_23 ; BDS 2005-2006 and Delphi6-7 Visual Component Library ; --------------------------------------------------------------------------- ; BOOL __stdcall DllEntryPoint(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpReserved) public DllEntryPoint DllEntryPoint: push ebp mov ebp, esp add esp, 0FFFFFFB4h mov eax, offset dword_1A060 call @Sysinit@@InitLib$qqrv ; Sysinit::__linkproc__ InitLib(void) mov ds:dword_1C06C, offset sub_171D0 call sub_11B04 ; --------------------------------------------------------------------------- align 100h CODE ends ; Section 2. (virtual address 0000B000) ; Virtual size : 0000032C ( 812.) ; Section size in file : 00000400 ( 1024.) ; Offset to raw data for section: 00009600 ; Flags C0000040: Data Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read/Write DATA segment para public 'DATA' use32 assume cs:DATA ;org 1B000h off_1B000 dd offset nullsub_1 ; DATA XREF: sub_1231C+88r off_1B004 dd offset nullsub_1 ; DATA XREF: sub_1231C+71r off_1B008 dd offset nullsub_1 ; DATA XREF: sub_1231C+7Br off_1B00C dd offset sub_119BC ; DATA XREF: sub_119BC+Fr ; sub_119BC+35r ... off_1B010 dd offset sub_11988 ; DATA XREF: sub_11B04:loc_11B52r off_1B014 dd offset nullsub_1 ; DATA XREF: sub_11B04:loc_11B81r word_1B018 dw 1332h ; DATA XREF: unknown_libname_2+3r ; System::__linkproc__ StartLib(void)+89w dw 0C08Bh byte_1B01C db 0 ; DATA XREF: sub_11534r sub_11550r ... db 8Dh, 40h, 0 byte_1B020 db 0 ; DATA XREF: sub_14510-2EA2r ; sub_14510:loc_116A9r db 8Dh, 40h, 0 dword_1B024 dd 0 ; System::RegisterModule(System::TLibModule *)+8w dword_1B028 dd 0 off_1B02C dd offset sub_12464 ; DATA XREF: sub_11B04+66r off_1B030 dd offset nullsub_1 ; DATA XREF: sub_1272C:loc_12754r off_1B034 dd offset sub_110E8 ; DATA XREF: sub_1114C+4r ; System::__linkproc__ ReallocMem(void *&,int)+3Fr ... off_1B038 dd offset sub_110F8 ; DATA XREF: sub_11164+4r ; System::__linkproc__ ReallocMem(void *&,int)+26r off_1B03C dd offset sub_11104 ; DATA XREF: System::__linkproc__ ReallocMem(void *&,int)+Dr word_1B040 dw 1F32h ; DATA XREF: sub_1127C+8r dw 0C08Bh off_1B044 dd offset nullsub_1 ; DATA XREF: sub_11B04+38r dword_1B048 dd 0 ; Sysinit::__linkproc__ InitLib(void)o dword_1B04C dd 0 dd 2 dup(0) dword_1B058 dd 0 align 10h off_1B060 dd offset sub_12828 ; DATA XREF: Sysinit::__linkproc__ InitLib(void)+3Bo dd offset sub_127D8 dd offset sub_12788 dd offset sub_12800 byte_1B070 db 3Dh ; DATA XREF: sub_130B8+Ar db 8Dh, 40h, 0 dword_1B074 dd 1C001Fh, 2 dup(1E001Fh), 1F001Fh, 2 dup(1F001Eh), 1D001Fh ; DATA XREF: sub_12D44+2Co ; sub_12EF0+E6o dd 2 dup(1E001Fh), 1F001Fh, 2 dup(1F001Eh) dword_1B0A4 dd 0 dword_1B0A8 dd 80000000h dd 40000000h, 0C0000000h dword_1B0B4 dd 0 dd 0 dd 1, 2, 3 off_1B0C8 dd offset dword_1C1A8 ; DATA XREF: sub_16134+49r ; sub_17300+A3Ar off_1B0CC dd offset dword_1C2BC ; DATA XREF: sub_14510+89r ; sub_191D4+467r off_1B0D0 dd offset dword_1C18C ; DATA XREF: sub_17030+34r ; sub_17300+972r off_1B0D4 dd offset dword_1C1B4 ; DATA XREF: sub_161F4+57r ; sub_161F4+F2r ... off_1B0D8 dd offset dword_1C0CC ; DATA XREF: sub_159C0+76r ; sub_165C4+59r ... off_1B0DC dd offset dword_1C20C ; DATA XREF: sub_17300+DAAr ; sub_191D4+73r off_1B0E0 dd offset dword_1C198 ; DATA XREF: sub_17300+9EAr ; sub_191D4+505r off_1B0E4 dd offset dword_1C200 ; DATA XREF: sub_17300+D32r ; sub_191D4+3D9r off_1B0E8 dd offset dword_1C0E8 ; DATA XREF: sub_15B40+7Cr ; sub_17300+318r off_1B0EC dd offset dword_1C1E4 ; DATA XREF: sub_17300+C42r ; sub_191D4+5B9r off_1B0F0 dd offset dword_1C30C ; DATA XREF: sub_15FE4+29r ; sub_191D4+67Fr off_1B0F4 dd offset dword_1C114 ; DATA XREF: sub_16E1C+E0r ; sub_17300+49Ar off_1B0F8 dd offset dword_1C108 ; DATA XREF: sub_16E1C+46r ; sub_17300+428r off_1B0FC dd offset dword_1C2F4 ; DATA XREF: sub_191D4+1B5r r+1E7r off_1B100 dd offset dword_1C180 ; DATA XREF: sub_15CA4+31r ; sub_15DC4:loc_15DF3r ... off_1B104 dd offset dword_1C2EC ; DATA XREF: sub_191D4+179r ; sub_1997C+57r ... off_1B108 dd offset dword_1C134 ; DATA XREF: sub_17300+652r ; sub_191D4+325r off_1B10C dd offset dword_1C2DC ; DATA XREF: sub_161F4+1C3r ; sub_161F4+1DEr ... off_1B110 dd offset dword_1C2F0 ; DATA XREF: sub_191D4+197r ; sub_1997C+92r ... off_1B114 dd offset dword_1C1C8 ; DATA XREF: sub_161F4+19Er ; sub_161F4+1F0r ... off_1B118 dd offset dword_1C2D4 ; DATA XREF: sub_191D4+51Br off_1B11C dd offset dword_1C11C ; DATA XREF: sub_17300+512r ; sub_191D4+235r off_1B120 dd offset dword_1C194 ; DATA XREF: sub_17300+9C2r ; sub_191D4+4E7r off_1B124 dd offset dword_1C2FC ; DATA XREF: sub_191D4+643r ; sub_1997C+77r ... off_1B128 dd offset dword_1C0C4 ; DATA XREF: sub_165C4+75r ; sub_165C4+404r ... off_1B12C dd offset dword_1C308 ; DATA XREF: sub_191D4+A7r ; ServiceMain+3Dr off_1B130 dd offset dword_1C0B0 ; DATA XREF: sub_17300+177r ; sub_198F0+16r ... off_1B134 dd offset dword_1C154 ; DATA XREF: sub_17300+7BAr ; sub_191D4+49r off_1B138 dd offset dword_1C1F0 ; DATA XREF: sub_17118+1Fr ; sub_17118+53r ... off_1B13C dd offset dword_1C220 ; DATA XREF: sub_17300+E9Ar ; sub_191D4+6A5r off_1B140 dd offset dword_1C190 ; DATA XREF: sub_17300+99Ar ; sub_191D4+4C9r off_1B144 dd offset dword_1C124 ; DATA XREF: sub_17300+562r ; sub_191D4+271r off_1B148 dd offset dword_1C0F0 ; DATA XREF: sub_15B40+9Cr ; sub_17300+35Cr off_1B14C dd offset dword_1C294 ; DATA XREF: sub_1507C+B3r ; sub_191D4+33Br off_1B150 dd offset dword_1C17C ; DATA XREF: sub_159C0+83r ; sub_17300+8FAr off_1B154 dd offset dword_1C0DC ; DATA XREF: sub_15DC4+81r ; sub_165C4+A0r ... off_1B158 dd offset dword_1C0C8 ; DATA XREF: sub_17300+23Fr ; sub_198F0+2Cr ... off_1B15C dd offset dword_1C27C ; DATA XREF: sub_165C4+36r ; sub_191D4+24Br off_1B160 dd offset dword_1C164 ; DATA XREF: sub_17300+85Ar ; sub_191D4+48Dr off_1B164 dd offset dword_1C140 ; DATA XREF: sub_17300+6F2r ; sub_191D4+39Dr off_1B168 dd offset dword_1C13C ; DATA XREF: sub_17300+6CAr ; sub_191D4+37Fr off_1B16C dd offset dword_1C2D0 ; DATA XREF: sub_191D4+4FDr off_1B170 dd offset dword_1C25C ; DATA XREF: sub_14B48+C5r ; sub_14B48+F3r ... off_1B174 dd offset dword_1C1C4 ; DATA XREF: sub_17300+B2Ar ; sub_191D4+541r off_1B178 dd offset dword_1C150 ; DATA XREF: sub_17300+792r ; sub_191D4+1Fr off_1B17C dd offset dword_1C2A4 ; DATA XREF: sub_164D8+B9r off_1B180 dd offset dword_1C110 ; DATA XREF: sub_16CC4+3Ar ; sub_17300+472r off_1B184 dd offset dword_1C094 ; DATA XREF: sub_17300+89r ; sub_191D4+34r off_1B188 dd offset dword_1C24C ; DATA XREF: sub_191D4+607r off_1B18C dd offset dword_1C0BC ; DATA XREF: sub_17300+1DDr r+1C0r off_1B190 dd offset dword_1C2CC ; DATA XREF: sub_191D4+4DFr off_1B194 dd offset dword_1C284 ; DATA XREF: sub_191D4+287r off_1B198 dd offset dword_1C258 ; DATA XREF: sub_14A20+B9r ; sub_14A20+E5r ... off_1B19C dd offset dword_1C168 ; DATA XREF: sub_17300+882r ; sub_191D4+4ABr off_1B1A0 dd offset dword_1C0E0 ; DATA XREF: sub_15B40+3Er ; sub_15B40+5Cr ... off_1B1A4 dd offset dword_1C208 ; DATA XREF: sub_17300+D82r ; sub_191D4+64Br off_1B1A8 dd offset dword_1C2E0 ; DATA XREF: sub_161F4+20Cr ; sub_161F4+260r ... off_1B1AC dd offset dword_1C0E4 ; DATA XREF: sub_15B40+6Cr ; sub_17300+2F6r off_1B1B0 dd offset dword_1C2C4 ; DATA XREF: sub_151E4+Er ; sub_191D4+4A3r off_1B1B4 dd offset dword_1C1B0 ; DATA XREF: sub_165C4+21Fr ; sub_165C4+24Er ... off_1B1B8 dd offset dword_1C0F4 ; DATA XREF: sub_17300+209r ; sub_17300+288r off_1B1BC dd offset dword_1C29C ; DATA XREF: sub_15344+17r ; sub_191D4+3B3r off_1B1C0 dd offset dword_1C298 ; DATA XREF: sub_15200+38r ; sub_191D4+395r off_1B1C4 dd offset dword_1C1A4 ; DATA XREF: sub_15CA4+44r ; sub_15DC4+42r ... off_1B1C8 dd offset dword_1C0C0 ; DATA XREF: sub_17300+1FFr r+24Er off_1B1CC dd offset dword_1C0F8 ; DATA XREF: sub_17300+3A0r ; sub_17300+4C2r ... off_1B1D0 dd offset dword_1C0D4 ; DATA XREF: sub_157D4+32r ; sub_15864+2Ar ... off_1B1D4 dd offset dword_1C138 ; DATA XREF: sub_17300+6A2r ; sub_191D4+361r off_1B1D8 dd offset dword_1C0A8 ; DATA XREF: sub_17300+133r ; sub_191D4+127r off_1B1DC dd offset dword_1C0A4 ; DATA XREF: sub_17300+111r ; sub_191D4+109r off_1B1E0 dd offset dword_1C218 ; DATA XREF: sub_17300+E4Ar ; sub_191D4+687r off_1B1E4 dd offset dword_1C2C8 ; DATA XREF: sub_17240+41r ; sub_191D4+4C1r ... off_1B1E8 dd offset dword_1C160 ; DATA XREF: sub_17300+832r ; sub_191D4+46Fr off_1B1EC dd offset dword_1C1E8 ; DATA XREF: sub_17300+C6Ar ; sub_191D4+5F1r off_1B1F0 dd offset dword_1C10C ; DATA XREF: sub_16E1C+89r ; sub_17300+44Ar off_1B1F4 dd offset dword_1C09C ; DATA XREF: sub_17300+CDr ; sub_191D4+CDr off_1B1F8 dd offset dword_1C16C ; DATA XREF: sub_154D4+11r ; sub_154D4+29r ... off_1B1FC dd offset dword_1C2B4 ; DATA XREF: sub_191D4+42Br off_1B200 dd offset dword_1C1DC ; DATA XREF: sub_17300+BF2r ; sub_191D4+59Br off_1B204 dd offset dword_1C2A0 ; DATA XREF: sub_1507C+CCr ; sub_191D4+377r off_1B208 dd offset dword_1C1CC ; DATA XREF: sub_17300+B02r ; sub_191D4+55Fr off_1B20C dd offset dword_1C304 ; DATA XREF: sub_171E0+4Dr ; sub_191D4+89r off_1B210 dd offset dword_1C1D4 ; DATA XREF: sub_165C4+29Er ; sub_17300+BA2r off_1B214 dd offset dword_1C0B8 ; DATA XREF: sub_17300+1BBr r+4Cr ... off_1B218 dd offset dword_1C2F8 ; DATA XREF: sub_191D4+3EFr ; sub_1997C+9Fr ... off_1B21C dd offset dword_1C264 ; DATA XREF: sub_191D4+13Dr off_1B220 dd offset dword_1C214 ; DATA XREF: sub_17300+DFAr ; sub_191D4+669r off_1B224 dd offset dword_1C1A0 ; DATA XREF: sub_15CA4+38r ; sub_15DC4+36r ... off_1B228 dd offset dword_1C148 ; DATA XREF: sub_17300+742r ; sub_191D4+3F7r off_1B22C dd offset dword_1C0FC ; DATA XREF: sub_17300+3C2r ; sub_17300+5B2r ... off_1B230 dd offset dword_1C0D8 ; DATA XREF: sub_15394+59r ; sub_15524+56r ... off_1B234 dd offset dword_1C19C ; DATA XREF: sub_17300+A12r ; sub_191D4+523r off_1B238 dd offset dword_1C128 ; DATA XREF: sub_17300+5DAr ; sub_191D4+2CBr off_1B23C dd offset dword_1C1FC ; DATA XREF: sub_17300+D0Ar ; sub_191D4+19Fr off_1B240 dd offset dword_1C2C0 ; DATA XREF: sub_14510+C4r ; sub_14608+4Fr ... off_1B244 dd offset dword_1C1D8 ; DATA XREF: sub_17300+BCAr ; sub_191D4+57Dr off_1B248 dd offset dword_1C188 ; DATA XREF: sub_164D8+59r ; sub_165C4+227r ... off_1B24C dd offset dword_1C1F4 ; DATA XREF: sub_17300+CBAr ; sub_191D4+163r off_1B250 dd offset dword_1C1F8 ; DATA XREF: sub_17300+CE2r ; sub_191D4+181r off_1B254 dd offset dword_1C130 ; DATA XREF: sub_17300+62Ar ; sub_191D4+307r off_1B258 dd offset dword_1C2E8 ; DATA XREF: sub_164D8+9Cr ; sub_191D4+5B1r off_1B25C dd offset dword_1C170 ; DATA XREF: sub_15B40+CFr ; sub_17300+8AAr off_1B260 dd offset dword_1C0AC ; DATA XREF: sub_17300+155r ; sub_191D4+145r off_1B264 dd offset dword_1C0A0 ; DATA XREF: sub_17300+EFr ; sub_191D4+EBr off_1B268 dd offset dword_1C118 ; DATA XREF: sub_17300+4EAr ; sub_191D4+217r off_1B26C dd offset dword_1C204 ; DATA XREF: sub_17300+D5Ar ; sub_191D4+62Dr off_1B270 dd offset dword_1C1C0 ; DATA XREF: sub_161F4+104r ; sub_17300+ADAr off_1B274 dd offset dword_1C14C ; DATA XREF: sub_17300+76Ar ; sub_191D4+415r off_1B278 dd offset dword_1C210 ; DATA XREF: sub_17300+DD2r ; sub_191D4+91r off_1B27C dd offset dword_1C1E0 ; DATA XREF: sub_14510+ABr ; sub_17300+C1Ar off_1B280 dd offset dword_1C2B0 ; DATA XREF: sub_191D4+40Dr off_1B284 dd offset dword_1C270 ; DATA XREF: sub_1507C+27r ; sub_191D4+1D3r ... off_1B288 dd offset dword_1C2D8 ; DATA XREF: sub_191D4+539r off_1B28C dd offset dword_1C100 ; DATA XREF: sub_17300+3E4r ; sub_17300+67Ar ... off_1B290 dd offset dword_1C288 ; DATA XREF: sub_1507C+101r ; sub_1507C+12Fr ... off_1B294 dd offset dword_1C314 ; DATA XREF: sub_15774r sub_191D4+6BBr off_1B298 dd offset dword_1C2E4 ; DATA XREF: sub_164D8+7Br ; sub_191D4+593r off_1B29C dd offset dword_1C1B8 ; DATA XREF: sub_161F4+80r ; sub_17300+A8Ar off_1B2A0 dd offset dword_1C184 ; DATA XREF: sub_17118+41r ; sub_17300+94Ar off_1B2A4 dd offset dword_1C158 ; DATA XREF: sub_17300+7E2r ; sub_191D4+433r off_1B2A8 dd offset dword_1C254 ; DATA XREF: sub_14A20+75r ; sub_191D4+C5r off_1B2AC dd offset dword_1C21C ; DATA XREF: sub_161F4+D4r ; sub_17300+E72r off_1B2B0 dd offset dword_1C1EC ; DATA XREF: sub_17300+C92r ; sub_191D4+60Fr off_1B2B4 dd offset dword_1C290 ; DATA XREF: sub_1507C+A9r ; sub_191D4+31Dr off_1B2B8 dd offset dword_1C1AC ; DATA XREF: sub_16134+5Cr ; sub_165C4+348r ... off_1B2BC dd offset dword_1C1D0 ; DATA XREF: sub_165C4+240r ; sub_17300+B7Ar off_1B2C0 dd offset dword_1C12C ; DATA XREF: sub_17300+602r ; sub_191D4+2E9r off_1B2C4 dd offset dword_1C268 ; DATA XREF: sub_14B48+6Br ; sub_191D4+15Br off_1B2C8 dd offset dword_1C260 ; DATA XREF: sub_14A20+F8r ; sub_14B48+134r ... off_1B2CC dd offset dword_1C104 ; DATA XREF: sub_17300+406r ; sub_17300+58Ar ... off_1B2D0 dd offset dword_1C174 ; DATA XREF: sub_15CA4:loc_15CCBr ; sub_165C4+E0r ... off_1B2D4 dd offset dword_1C278 ; DATA XREF: sub_152C0+41r ; sub_15344+32r ... off_1B2D8 dd offset dword_1C144 ; DATA XREF: sub_17300+71Ar ; sub_191D4+3BBr off_1B2DC dd offset dword_1C0EC ; DATA XREF: sub_15B40+8Cr ; sub_17300+33Ar off_1B2E0 dd offset dword_1C26C ; DATA XREF: sub_1507C+67r ; sub_191D4+1F1r ... off_1B2E4 dd offset dword_1C0D0 ; DATA XREF: sub_165C4+85r ; sub_165C4+358r ... off_1B2E8 dd offset dword_1C120 ; DATA XREF: sub_17300+53Ar ; sub_191D4+253r off_1B2EC dd offset dword_1C300 ; DATA XREF: sub_191D4+661r ; sub_1997C+FDr ... off_1B2F0 dd offset dword_1C2B8 ; DATA XREF: sub_14510+2Dr ; sub_191D4+449r off_1B2F4 dd offset dword_1C248 ; DATA XREF: sub_191D4+625r ; ServiceMain+26r off_1B2F8 dd offset dword_1C1BC ; DATA XREF: sub_161F4+E8r ; sub_17300+AB2r off_1B2FC dd offset dword_1C2A8 ; DATA XREF: sub_161F4+14Dr off_1B300 dd offset dword_1C28C ; DATA XREF: sub_15200+1Br ; sub_1524C+44r ... off_1B304 dd offset dword_1C310 ; DATA XREF: sub_15788+Ar ; sub_191D4+69Dr off_1B308 dd offset dword_1C024 ; DATA XREF: sub_15774+9r off_1B30C dd offset dword_1C274 ; DATA XREF: sub_1507C+80r ; sub_191D4+20Fr ... off_1B310 dd offset dword_1C250 ; DATA XREF: sub_191D4+5CFr ; sub_1997C+2Br ... off_1B314 dd offset dword_1C15C ; DATA XREF: sub_17300+80Ar ; sub_191D4+451r off_1B318 dd offset dword_1C098 ; DATA XREF: sub_17300+ABr ; sub_191D4+AFr off_1B31C dd offset dword_1C2AC ; DATA XREF: sub_191D4+3D1r off_1B320 dd offset dword_1C178 ; DATA XREF: sub_159A0+6r ; sub_159C0+39r ... off_1B324 dd offset dword_1C280 ; DATA XREF: sub_191D4+269r off_1B328 dd offset dword_1C0B4 ; DATA XREF: sub_17300+199r align 100h DATA ends ; Section 3. (virtual address 0000C000) ; Virtual size : 00000325 ( 805.) ; Section size in file : 00000000 ( 0.) ; Offset to raw data for section: 00009A00 ; Flags C0000000: Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Regular ; Segment permissions: Read/Write BSS segment para public '' use32 assume cs:BSS ;org 1C000h assume es:nothing, ss:nothing, ds:CODE, fs:nothing, gs:nothing dword_1C000 dd ? dword_1C004 dd ? dword_1C008 dd ? ; CODE:0001191Fr dword_1C00C dd ? dword_1C010 dd ? byte_1C014 db ? ; DATA XREF: System::__linkproc__ StartLib(void)+82w align 4 dword_1C018 dd ? ; sub_11B04+9o ... dword_1C01C dd ? dword_1C020 dd ? ; sub_11BF4w dword_1C024 dd ? dword_1C028 dd ? dword_1C02C dd ? ; System::__linkproc__ StartLib(void)+3o ... dword_1C030 dd ? dword_1C034 dd ? ; System::__linkproc__ StartLib(void)+2Aw dword_1C038 dd ? ; System::__linkproc__ StartLib(void):loc_11A75w dword_1C03C dd ? dword_1C040 dd ? ; sub_11AD0+Br dword_1C044 dd ? ; sub_11AD0+5r dword_1C048 dd ? dword_1C04C dd ? byte_1C050 db ? ; DATA XREF: System::__linkproc__ StartLib(void)+58w align 4 dword_1C054 dd ? dword_1C058 dd ? ; sub_1272C+22r byte_1C05C db ? ; DATA XREF: sub_1284Cr ; Sysinit::__linkproc__ InitLib(void)+Dw align 10h ; DWORD dwTlsIndex dwTlsIndex dd ? ; DATA XREF: sub_12788+Ar ; sub_12788+3Cr ... align 8 ; HMODULE hModule hModule dd ? ; DATA XREF: Sysinit::__linkproc__ InitLib(void)+17w ; r+232r dword_1C06C dd ? ; CODE:0001A108w dword_1C070 dd ? ; CODE:loc_12920w dword_1C074 dd ? ; sub_1284C:loc_1287Dr dword_1C078 dd ? dword_1C07C dd ? dword_1C080 dd ? ; HMODULE hLibModule hLibModule dd ? ; DATA XREF: sub_13590+19r ; sub_13590+22r dword_1C088 dd ? ; unknown_libname_14+11w dword_1C08C dd ? dword_1C090 dd ? dword_1C094 dd ? ; DATA:off_1B184o dword_1C098 dd ? ; DATA:off_1B318o dword_1C09C dd ? ; DATA:off_1B1F4o dword_1C0A0 dd ? ; DATA:off_1B264o dword_1C0A4 dd ? ; DATA:off_1B1DCo dword_1C0A8 dd ? ; DATA:off_1B1D8o dword_1C0AC dd ? ; DATA:off_1B260o dword_1C0B0 dd ? ; DATA:off_1B130o dword_1C0B4 dd ? ; DATA:off_1B328o dword_1C0B8 dd ? ; DATA:off_1B214o dword_1C0BC dd ? ; DATA:off_1B18Co dword_1C0C0 dd ? ; DATA:off_1B1C8o dword_1C0C4 dd ? ; DATA:off_1B128o dword_1C0C8 dd ? ; DATA:off_1B158o dword_1C0CC dd ? ; DATA:off_1B0D8o dword_1C0D0 dd ? ; DATA:off_1B2E4o dword_1C0D4 dd ? ; DATA:off_1B1D0o dword_1C0D8 dd ? dword_1C0DC dd ? dword_1C0E0 dd ? ; DATA:off_1B1A0o dword_1C0E4 dd ? ; DATA:off_1B1ACo dword_1C0E8 dd ? ; DATA:off_1B0E8o dword_1C0EC dd ? ; DATA:off_1B2DCo dword_1C0F0 dd ? ; DATA:off_1B148o dword_1C0F4 dd ? ; DATA:off_1B1B8o dword_1C0F8 dd ? ; DATA:off_1B1CCo dword_1C0FC dd ? ; DATA:off_1B22Co dword_1C100 dd ? ; DATA:off_1B28Co dword_1C104 dd ? ; DATA:off_1B2CCo dword_1C108 dd ? ; DATA:off_1B0F8o dword_1C10C dd ? ; DATA:off_1B1F0o dword_1C110 dd ? ; DATA:off_1B180o dword_1C114 dd ? ; DATA:off_1B0F4o dword_1C118 dd ? ; DATA:off_1B268o dword_1C11C dd ? ; DATA:off_1B11Co dword_1C120 dd ? ; DATA:off_1B2E8o dword_1C124 dd ? ; DATA:off_1B144o dword_1C128 dd ? ; DATA:off_1B238o dword_1C12C dd ? ; DATA:off_1B2C0o dword_1C130 dd ? ; DATA:off_1B254o dword_1C134 dd ? ; DATA:off_1B108o dword_1C138 dd ? ; DATA:off_1B1D4o dword_1C13C dd ? ; DATA:off_1B168o dword_1C140 dd ? ; DATA:off_1B164o dword_1C144 dd ? ; DATA:off_1B2D8o dword_1C148 dd ? ; DATA:off_1B228o dword_1C14C dd ? ; DATA:off_1B274o dword_1C150 dd ? ; DATA:off_1B178o dword_1C154 dd ? ; DATA:off_1B134o dword_1C158 dd ? ; DATA:off_1B2A4o dword_1C15C dd ? ; DATA:off_1B314o dword_1C160 dd ? ; DATA:off_1B1E8o dword_1C164 dd ? ; DATA:off_1B160o dword_1C168 dd ? ; DATA:off_1B19Co dword_1C16C dd ? ; sub_13A50+29w ... dword_1C170 dd ? ; DATA:off_1B25Co dword_1C174 dd ? dword_1C178 dd ? ; DATA:off_1B320o dword_1C17C dd ? ; DATA:off_1B150o dword_1C180 dd ? ; DATA:off_1B100o dword_1C184 dd ? ; DATA:off_1B2A0o dword_1C188 dd ? ; DATA:off_1B248o dword_1C18C dd ? ; DATA:off_1B0D0o dword_1C190 dd ? ; DATA:off_1B140o dword_1C194 dd ? ; DATA:off_1B120o dword_1C198 dd ? ; DATA:off_1B0E0o dword_1C19C dd ? ; DATA:off_1B234o dword_1C1A0 dd ? ; DATA:off_1B224o dword_1C1A4 dd ? ; DATA:off_1B1C4o dword_1C1A8 dd ? ; DATA:off_1B0C8o dword_1C1AC dd ? ; DATA:off_1B2B8o dword_1C1B0 dd ? ; DATA:off_1B1B4o dword_1C1B4 dd ? ; sub_13A50+1Fw ... dword_1C1B8 dd ? ; DATA:off_1B29Co dword_1C1BC dd ? ; DATA:off_1B2F8o dword_1C1C0 dd ? ; DATA:off_1B270o dword_1C1C4 dd ? ; DATA:off_1B174o dword_1C1C8 dd ? ; DATA:off_1B114o dword_1C1CC dd ? ; DATA:off_1B208o dword_1C1D0 dd ? ; DATA:off_1B2BCo dword_1C1D4 dd ? ; DATA:off_1B210o dword_1C1D8 dd ? ; DATA:off_1B244o dword_1C1DC dd ? ; DATA:off_1B200o dword_1C1E0 dd ? ; DATA:off_1B27Co dword_1C1E4 dd ? ; DATA:off_1B0ECo dword_1C1E8 dd ? ; DATA:off_1B1ECo dword_1C1EC dd ? ; DATA:off_1B2B0o dword_1C1F0 dd ? ; DATA:off_1B138o dword_1C1F4 dd ? ; DATA:off_1B24Co dword_1C1F8 dd ? ; DATA:off_1B250o dword_1C1FC dd ? ; DATA:off_1B23Co dword_1C200 dd ? ; DATA:off_1B0E4o dword_1C204 dd ? ; DATA:off_1B26Co dword_1C208 dd ? ; DATA:off_1B1A4o dword_1C20C dd ? ; DATA:off_1B0DCo dword_1C210 dd ? ; DATA:off_1B278o dword_1C214 dd ? ; DATA:off_1B220o dword_1C218 dd ? ; DATA:off_1B1E0o dword_1C21C dd ? ; DATA:off_1B2ACo dword_1C220 dd ? ; DATA:off_1B13Co dword_1C224 dd ? ; sub_13A50+11w dword_1C228 dd ? dword_1C22C dd ? dword_1C230 dd ? dword_1C234 dd ? dword_1C238 dd ? dword_1C23C dd ? dword_1C240 dd ? dword_1C244 dd ? dword_1C248 dd ? dword_1C24C dd ? ; DATA:off_1B188o dword_1C250 dd ? dword_1C254 dd ? dword_1C258 dd ? dword_1C25C dd ? dword_1C260 dd ? dword_1C264 dd ? dword_1C268 dd ? dword_1C26C dd ? dword_1C270 dd ? dword_1C274 dd ? dword_1C278 dd ? dword_1C27C dd ? dword_1C280 dd ? dword_1C284 dd ? dword_1C288 dd ? dword_1C28C dd ? dword_1C290 dd ? dword_1C294 dd ? dword_1C298 dd ? dword_1C29C dd ? dword_1C2A0 dd ? dword_1C2A4 dd ? dword_1C2A8 dd ? ; sub_16E1C+FBr ... dword_1C2AC dd ? ; DATA:off_1B31Co dword_1C2B0 dd ? ; DATA:off_1B280o dword_1C2B4 dd ? ; DATA:off_1B1FCo dword_1C2B8 dd ? dword_1C2BC dd ? dword_1C2C0 dd ? dword_1C2C4 dd ? dword_1C2C8 dd ? ; DATA:off_1B1E4o dword_1C2CC dd ? ; DATA:off_1B190o dword_1C2D0 dd ? ; DATA:off_1B16Co dword_1C2D4 dd ? ; DATA:off_1B118o dword_1C2D8 dd ? ; DATA:off_1B288o dword_1C2DC dd ? dword_1C2E0 dd ? dword_1C2E4 dd ? dword_1C2E8 dd ? dword_1C2EC dd ? dword_1C2F0 dd ? dword_1C2F4 dd ? dword_1C2F8 dd ? dword_1C2FC dd ? dword_1C300 dd ? dword_1C304 dd ? dword_1C308 dd ? dword_1C30C dd ? dword_1C310 dd ? dword_1C314 dd ? dword_1C318 dd ? dword_1C31C dd ? ; ServiceMain+2Fw ... dword_1C320 dd ? ; sub_17240+A0r ... align 100h BSS ends ; ; Imports from kernel32.dll ; ; Section 4. (virtual address 0000D000) ; Virtual size : 000002BE ( 702.) ; Section size in file : 00000400 ( 1024.) ; Offset to raw data for section: 00009A00 ; Flags C0000040: Data Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Externs ; _idata ; DWORD GetCurrentThreadId(void) extrn __imp_GetCurrentThreadId:dword ; DATA XREF: GetCurrentThreadIdr ; SIZE_T __stdcall LocalSize(HLOCAL hMem) extrn __imp_LocalSize:dword ; DATA XREF: LocalSizer ; HLOCAL __stdcall LocalReAlloc(HLOCAL hMem, SIZE_T uBytes, UINT uFlags) extrn __imp_LocalReAlloc:dword ; DATA XREF: LocalReAllocr ; int __stdcall WideCharToMultiByte(UINT CodePage, DWORD dwFlags, LPCWSTR lpWideCharStr, int cchWideChar, LPSTR lpMultiByteStr, int cbMultiByte, LPCSTR lpDefaultChar, LPBOOL lpUsedDefaultChar) extrn __imp_WideCharToMultiByte:dword ; DATA XREF: WideCharToMultiByter ; int __stdcall MultiByteToWideChar(UINT CodePage, DWORD dwFlags, LPCSTR lpMultiByteStr, int cbMultiByte, LPWSTR lpWideCharStr, int cchWideChar) extrn __imp_MultiByteToWideChar:dword ; DATA XREF: MultiByteToWideCharr ; void __stdcall ExitProcess(UINT uExitCode) extrn __imp_ExitProcess:dword ; DATA XREF: ExitProcessr ; LONG __stdcall UnhandledExceptionFilter(struct _EXCEPTION_POINTERS *ExceptionInfo) extrn __imp_UnhandledExceptionFilter:dword ; DATA XREF: UnhandledExceptionFilterr extrn __imp_RtlUnwind:dword ; DATA XREF: RtlUnwindr ; void __stdcall RaiseException(DWORD dwExceptionCode, DWORD dwExceptionFlags, DWORD nNumberOfArguments, const ULONG_PTR *lpArguments) extrn __imp_RaiseException:dword ; DATA XREF: RaiseExceptionr ; BOOL __stdcall TlsSetValue(DWORD dwTlsIndex, LPVOID lpTlsValue) extrn __imp_TlsSetValue:dword ; DATA XREF: TlsSetValuer ; LPVOID __stdcall TlsGetValue(DWORD dwTlsIndex) extrn __imp_TlsGetValue:dword ; DATA XREF: TlsGetValuer ; BOOL __stdcall TlsFree(DWORD dwTlsIndex) extrn __imp_TlsFree:dword ; DATA XREF: TlsFreer ; DWORD TlsAlloc(void) extrn __imp_TlsAlloc:dword ; DATA XREF: TlsAllocr ; HLOCAL __stdcall LocalFree(HLOCAL hMem) extrn __imp_LocalFree:dword ; DATA XREF: LocalFreer ; HLOCAL __stdcall LocalAlloc(UINT uFlags, SIZE_T uBytes) extrn __imp_LocalAlloc:dword ; DATA XREF: LocalAllocr ; BOOL __stdcall FreeLibrary(HMODULE hLibModule) extrn __imp_FreeLibrary:dword ; DATA XREF: FreeLibraryr ; ; Imports from oleaut32.dll ; ; void __stdcall SysFreeString(BSTR) extrn __imp_SysFreeString:dword ; DATA XREF: SysFreeStringr ; BSTR __stdcall SysAllocStringLen(const OLECHAR *, UINT) extrn __imp_SysAllocStringLen:dword ; DATA XREF: SysAllocStringLenr ; ; Imports from kernel32.dll ; ; FARPROC __stdcall GetProcAddress(HMODULE hModule, LPCSTR lpProcName) extrn __imp_GetProcAddress:dword ; DATA XREF: GetProcAddressr ; BOOL __stdcall FreeLibrary_0(HMODULE hLibModule) extrn __imp_FreeLibrary_0:dword ; DATA XREF: FreeLibrary_0r ; ; Imports from user32.dll ; ; int __stdcall wvsprintfA(LPSTR, LPCSTR, va_list arglist) extrn __imp_wvsprintfA:dword ; DATA XREF: wvsprintfAr ; ; Imports from kernel32.dll ; ; HMODULE __stdcall LoadLibraryA(LPCSTR lpLibFileName) extrn __imp_LoadLibraryA:dword ; DATA XREF: LoadLibraryAr ; DWORD __stdcall GetModuleFileNameA(HMODULE hModule, LPSTR lpFilename, DWORD nSize) extrn __imp_GetModuleFileNameA:dword ; DATA XREF: GetModuleFileNameAr ; DWORD __stdcall GetFileAttributesA(LPCSTR lpFileName) extrn __imp_GetFileAttributesA:dword ; DATA XREF: GetFileAttributesAr end DllEntryPoint